【发布时间】:2020-06-30 15:53:46
【问题描述】:
有谁知道是否可以使用 AWS S3 复制功能在 2 个存储桶之间复制一个存储桶的文件夹?
P.S.:我不想复制整个存储桶,只复制存储桶的一个文件夹。
如果可能,我需要添加哪些配置来过滤复制中的该文件夹?
【问题讨论】:
标签: amazon-web-services amazon-s3 replication
有谁知道是否可以使用 AWS S3 复制功能在 2 个存储桶之间复制一个存储桶的文件夹?
P.S.:我不想复制整个存储桶,只复制存储桶的一个文件夹。
如果可能,我需要添加哪些配置来过滤复制中的该文件夹?
【问题讨论】:
标签: amazon-web-services amazon-s3 replication
是的。 Amazon S3 的复制功能允许您将前缀(例如文件夹)级别的对象从一个 S3 存储桶复制到同一区域内或跨区域的另一个存储桶。
来自AWS S3 Replication documentation,
您要复制的对象 — 您可以复制源存储桶或子集中的所有对象。您可以通过在配置中提供键名前缀、一个或多个对象标签或两者来识别子集。
例如,如果您将复制规则配置为仅复制具有键名称前缀 Tax/ 的对象,则 Amazon S3 会复制具有诸如 Tax/doc1 或 Tax/doc2 之类的键的对象。但它不会复制具有键 Legal/doc3 的对象。如果您同时指定前缀和一个或多个标签,Amazon S3 只会复制具有特定键前缀和标签的对象。
请参阅此guide,了解如何使用 AWS 控制台启用复制。第 4 步讨论了在前缀级别启用复制。同样可以通过Cloudformation 和CLI 完成。
【讨论】:
您可以使用同步命令来做到这一点。
aws s3 sync s3://SOURCE_BUCKET_NAME s3://NEW_BUCKET_NAME
您必须授予目标帐户执行跨帐户复制的权限。
【讨论】:
是的,您可以使用跨区域复制功能执行此操作。您可以在同一区域或不同区域复制对象。新存储桶中的复制对象将保留其原始存储类、对象名称和对象权限。 但是,您可以将所有者更改为目标存储桶的新所有者。
尽管如此,此功能也有缺点:-
【讨论】: