使用 AWS CLI;我们可以将文件直接从一个存储桶复制或同步到另一个存储桶。使用SDK;我可以看到用于下载和上传的api。但是我们可以使用sdk直接将文件从一个存储桶复制到另一个存储桶(在不同的aws帐户中)吗?
最佳答案
是的。 CopyObject
API调用可以在Amazon S3存储桶之间复制对象,包括不同区域、不同账户的存储桶。
要在帐户之间复制对象,一组凭据需要足够的权限才能从源存储桶读取和写入目标存储桶。您可以:
- 使用目标帐户中的凭据,并使用源存储桶上的存储桶策略来授予读取访问权限,或
- 使用源帐户中的凭据,并使用目标存储桶上的存储桶策略来授予写入权限。确保设置
ACL=public-read
以将对象的所有权传递给目标帐户。
请注意,它一次仅复制一个对象,因此您需要循环遍历对象列表,并根据需要为每个对象单独调用 CopyObject
复制多个对象。
关于amazon-web-services - 使用aws sdk在存储桶之间复制对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65802205/