【问题标题】:Exclude specific files from S3 Cross-Region Replication从 S3 跨区域复制中排除特定文件
【发布时间】:2015-05-01 18:17:25
【问题描述】:

我想知道是否有办法从 S3 跨区域复制中排除特定文件。我知道前缀选项,但我的存储桶中有一个我不想包含的缓存文件夹。

例子:

我想包括以下内容:

images/production/image1/file.jpg

但我不想包括这个:

images/production/image1/cache/file.jpg

【问题讨论】:

    标签: amazon-s3 amazon s3cmd


    【解决方案1】:

    Seems 您需要使用对象/存储桶权限才能从复制中排除某些对象:

    Amazon S3 将仅复制源存储桶中的对象 存储桶拥有者拥有读取对象和读取 ACL 的权限

    Amazon S3 不会复制源存储桶中的对象 存储桶所有者没有权限

    在单独的存储桶中移动缓存数据可能会更容易。

    【讨论】:

      【解决方案2】:

      我知道这是一篇旧帖子,但我认为可能值得用一个不需要干预权限的答案来更新它。 根据 Amazon 自己的文档 (https://docs.aws.amazon.com/AmazonS3/latest/dev/crr-how-setup.html),您可以选择将在存储桶的复制配置中复制的对象(使用对象名称中的前缀或按标签过滤):

      您要复制的对象 - 您可以复制源存储桶或子集中的所有对象。您可以通过在配置中提供键名 > 前缀、一个或多个对象标记或两者来识别子集。例如,如果 >您将跨区域复制配置为仅复制具有键 >name 前缀 Tax/ 的对象,则 Amazon S3 会复制具有诸如 Tax/doc1 或 >Tax/doc2 之类的键的对象,而不是具有键 Legal/ 的对象doc3。如果您同时指定前缀 > 和一个或多个标签,Amazon S3 仅复制具有特定键 >prefix 和标签的对象。

      例如,要使用前缀,请在您的 CRR 配置 (https://docs.aws.amazon.com/AmazonS3/latest/dev/crr-add-config.html) 中设置以下规则:

      <Rule>
      ...
          <Filter>
              <Prefix>key-prefix</Prefix>   
          </Filter>
      

      【讨论】:

      • OP 知道前缀选项,但它不能解决他在目录结构深处排除文件的特​​定用例。
      猜你喜欢
      • 2017-07-19
      • 1970-01-01
      • 2021-01-24
      • 1970-01-01
      • 1970-01-01
      • 2016-02-23
      • 1970-01-01
      • 1970-01-01
      • 2020-06-24
      相关资源
      最近更新 更多