在两个不同的AWS S3帐户之间复制
我正在使用AWS的C#库。 我们有一个场景,第三方已授予我们读取S3存储桶的权限。是否可以将S3存储桶中的对象复制到我们的一个中而不进行往返(即GET和PUT)?在两个不同的AWS S3帐户之间复制
我发现这个AWS文档中: http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTObjectCOPY.html
,但似乎只适用于自己的REST API,而不是我使用
感谢
尽管bwight似乎在想什么,它只是不这样的。在没有必要的往返的情况下使这个工作起作用的唯一方法是使用完全相同的凭证来访问两个桶。所以唯一能让它工作的方法是让源存储桶(在我的情况下是第三方)的所有者授予访问其中一个用户帐户的权限,以便从其存储桶中列出/读取。他们只需要修改他们的桶政策,包括是这样的:
"Principal": {
"AWS": "arn:aws:iam::1234567890:user/someusername"
}
,然后授予该政策在需要它的任何权限
同样的方法是C#库可用于C#SDK。我不确定你是否可以复制到不同账户的存储桶,但我看不到任何理由,如果权限设置正确。如果这不起作用,我会说这是不可能的。
这是CopyObject方法,这不是我所问的。我询问了“PUT Object - Copy”方法,由于某些原因,这些方法似乎只能通过其REST API使用。 – snappymcsnap 2012-08-15 15:27:03
这与命名不同的方法相同。 SDK Documentation Notes“CopyObjectRequest包含用于CopyObject操作的参数。有关可选参数的更多信息,请参阅:http://docs.amazonwebservices.com/AmazonS3/latest/RESTObjectCOPY.html” – bwight 2012-08-15 15:46:08
这就是您的答案?为我提供与我在第一个问题中发布的相同链接?我认为你感到困惑和/或错误 – snappymcsnap 2012-08-15 19:00:20
重要的是要记住,任何语言您使用AWS服务的工作是非常重要的,如S3,将与该服务的API进行通信。问题是SDK是否支持底层方法,在这种情况下是PUT-copy方法。
如果您正在跨帐户执行此操作,则您正在使用的IAM用户/密钥对必须对源对象具有读取权限,并且可以对目标存储桶执行写入权限。
没有我说的是不正确的。我说如果您的权限设置正确,C#中的方法将工作。我引用,“如果权限设置正确,我没有理由不这样做。” – bwight 2012-08-17 22:54:15