1

我正在为 AWS 使用 C# 库。我们有一个场景,第 3 方已授予我们对其 S3 存储桶的读取权限。是否可以将对象从他们的 S3 存储桶复制到我们的存储桶中而无需进行往返(即 GET 和 PUT)?

我在 AWS 文档中找到了这个:http: //docs.amazonwebservices.com/AmazonS3/latest/API/RESTObjectCOPY.html

但这似乎只适用于他们的 REST API,不适用于我正在使用的 C# 库

谢谢

4

3 回答 3

1

尽管 bwight 似乎在想什么,但它并没有那样工作。在没有必要往返的情况下使其工作的唯一方法是使用完全相同的凭据来访问两个存储桶。因此,让它工作的唯一方法是让源存储桶的所有者(在我的情况下是第 3 方)授予对您的一个用户帐户的访问权限以从他们的存储桶中列出/读取。他们只需要修改他们的存储桶策略以包含以下内容:

"Principal": {
    "AWS": "arn:aws:iam::1234567890:user/someusername"
}

然后在策略中授予它所需的任何权限

于 2012-08-17T17:15:03.050 回答
0

C# SDK 也可以使用相同的方法。我不确定您是否可以跨帐户复制到存储桶,但如果权限设置正确,我认为没有理由不这样做。如果这不起作用,我会说这是不可能的。

http://docs.amazonwebservices.com/sdkfornet/latest/apidocs/?topic=html/M_Amazon_S3_AmazonS3Client_CopyObject.htm

于 2012-08-15T15:07:59.817 回答
0

请务必记住,您用于处理 AWS 服务的任何语言(例如 S3)都将在后台与该服务的 API 进行通信。问题是 SDK 是否支持底层方法,在这种情况下是 PUT-copy 方法。

如果您跨账户执行此操作,则您使用的 IAM 用户/密钥对必须具有对源对象的 READ 访问权限和对目标存储桶的 WRITE 访问权限。

于 2013-05-24T00:11:38.090 回答