【问题标题】:Is it possible to replicate a specific S3 folder between 2 buckets?是否可以在 2 个存储桶之间复制特定的 S3 文件夹?
【发布时间】:2020-06-30 15:53:46
【问题描述】:

有谁知道是否可以使用 AWS S3 复制功能在 2 个存储桶之间复制一个存储桶的文件夹?

P.S.:我不想复制整个存储桶,只复制存储桶的一个文件夹。

如果可能,我需要添加哪些配置来过滤复制中的该文件夹?

【问题讨论】:

    标签: amazon-web-services amazon-s3 replication


    【解决方案1】:

    是的。 Amazon S3 的复制功能允许您将前缀(例如文件夹)级别的对象从一个 S3 存储桶复制到同一区域内或跨区域的另一个存储桶。

    来自AWS S3 Replication documentation

    您要复制的对象 — 您可以复制源存储桶或子集中的所有对象。您可以通过在配置中提供键名前缀、一个或多个对象标签或两者来识别子集。

    例如,如果您将复制规则配置为仅复制具有键名称前缀 Tax/ 的对象,则 Amazon S3 会复制具有诸如 Tax/doc1 或 Tax/doc2 之类的键的对象。但它不会复制具有键 Legal/doc3 的对象。如果您同时指定前缀和一个或多个标签,Amazon S3 只会复制具有特定键前缀和标签的对象。

    请参阅此guide,了解如何使用 AWS 控制台启用复制。第 4 步讨论了在前缀级别启用复制。同样可以通过CloudformationCLI 完成。

    【讨论】:

    • 我有一个类似的用例,所以 s3 存储桶会有包含文件的文件夹,这些文件夹的内容应该复制到其他区域的存储桶中的文件夹中。所以你有什么建议?复制适合吗?这里有什么优点和缺点。文件每分钟都会出现,假设 1 分钟 1 个文件,或者每小时可以有 1000 个文件,每个文件将是 300 MB,在这种情况下最好的解决方案是什么。我还可以使用 s3 复制删除已复制到其他存储桶的内容吗?需要加密,版本和复制每 15 分钟会产生费用吗?
    • 复制是您在这里的用例的完美候选者。评论里的问题太多了!这是应该回答他们的link
    • 但是如果内容已从源存储桶中删除,复制也会在目标中删除它们
    • 是的,删除对象也会删除复制的对象。但是它们是版本化的,它将是删除标记而不是实际删除。如果你愿意,你可以恢复它。
    【解决方案2】:

    您可以使用同步命令来做到这一点。

    aws s3 sync s3://SOURCE_BUCKET_NAME s3://NEW_BUCKET_NAME
    

    您必须授予目标帐户执行跨帐户复制的权限。

    【讨论】:

    • 这不是主动复制!必须有人手动运行这个命令,或者应该有一些自动化来在前缀更改时运行这个命令。
    • 我的问题是关于复制,而不是同步功能。
    【解决方案3】:

    是的,您可以使用跨区域复制功能执行此操作。您可以在同一区域或不同区域复制对象。新存储桶中的复制对象将保留其原始存储类、对象名称和对象权限。 但是,您可以将所有者更改为目标存储桶的新所有者。

    尽管如此,此功能也有缺点:-

    • 您无法复制源存储桶中存在的对象 在使用 CRR 创建复制规则之前。只有那些 在创建复制规则之后创建。
    • 您不能在复制中使用 SSE-C 加密。

    【讨论】:

    • 抱歉,您的回答对我来说不是很清楚,我只想复制一个文件夹,而不是整个存储桶,这可能吗?我需要做哪些配置来过滤我想要的文件夹?
    • 我不是在谈论整个存储桶。那是完全不同的。以上答案适用于文件夹或存储桶中存在的任何数据。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-07
    • 2016-11-12
    相关资源
    最近更新 更多