如何将REPLICA对象复制到目标存储桶?

0

【以下的问题经过翻译处理】 大家好,我正在尝试将从不同存储桶复制到新存储桶的对象复制。我知道可以从一个源存储桶复制到多个存储桶。但这是否可以像链式复制一样完成呢?

我已经进行了一些研究,只找到了这个AWS文档。https://docs.aws.amazon.com/AmazonS3/latest/userguide/setting-repl-config-perm-overview.html#receiving-replicated-objects 然而,它不起作用。

我的情况是这样的,我有Bucket-1、Bucket-2和Bucket-3。Bucket-1在不同的AWS账户中,其他桶在同一个账户但不同的区域中。

上传对象到Bucket-1时,正确地复制到Bucket-2中。我已经在Bucket-2上创建了复制规则,以便将其复制到Bucket-3。它可以将直接上传到Bucket-2的对象复制,但是,复制的对象不会被复制到Bucket-3中。

我已经按照链接文档中的步骤添加了生成的策略到目标Bucket策略(Bucket-3)。

{
    "Sid": "S3PolicyStmt-DO-NOT-MODIFY",
    "Effect": "Allow",
    "Principal": {
        "AWS": "arn:aws:iam::AWS-ACCOUNT:root"
    },
    "Action": [
        "s3:GetBucketVersioning",
        "s3:PutBucketVersioning",
        "s3:ReplicateObject",
        "s3:ReplicateDelete"
    ],
    "Resource": [
        "arn:aws:s3:::Bucket-3",
        "arn:aws:s3:::Bucket-3/*"
    ]
}
profile picture
专家
已提问 5 个月前35 查看次数
2 回答
0

【以下的回答经过翻译处理】 源存储桶中由另一个复制规则创建的副本对象不会被复制到另一个存储桶中。例如,假设您配置了一个复制规则,其中存储桶A为源桶,存储桶B为目标桶。然后假设您添加了另一个复制配置,其中存储桶B为源桶,存储桶C为目标桶。在这种情况下,存储桶B中复制自存储桶A的对象的副本不会被复制到存储桶C中。

要复制副本对象,请使用批复制。了解有关配置批复制的更多信息,请查看复制现有对象。

profile picture
专家
已回答 5 个月前
0

您好,

现行的replicate rule 无法支援将从别的桶内复写过来的对象再复写到其他桶内。若您想将原始的来源桶(如您的例子:Bucket-1)内的对象附写到新的桶(如您的例子:Bucket-3)内您可以尝试进行以下做法:

  1. 设定新的原始来源桶Bucket-1的规则直接复写到Bucket-3,并同时保留Bucket-2的复写到Bucket-3的规则
    现行的复写规则已支持多目的桶的复写,仅需要在复写规则内添加新的规则(即目的桶设定为Bucket-3),保留旧的规则(目的桶设定为Bucket-2),并制定其规则优先顺序即可同时复写[1]。规则之优先顺序仅有在复写之目的地相同时才会作用,并优先采用优先顺序较高的规则进行复写,所以如果是目的桶不同的状况如此案例(Bucket-2, Bucket-3)即可不用。创立规则时需注意IAM角色,在角色所有的政策中,可使用的resource须包含欲复写的目的桶。此时您欲复写之Bucket-1的内容即可同时复写到Bucket-2与Bucket-3。又因原先Bucket-2的复写规则(目的桶为Bucket-3),所以Bucket-2的内容仍可写入Bucket-3

  2. 使用S3批次复写的机制,将中介桶Bucket-2内的内容写到Bucket-3
    S3的批次复写机制可以设定将现有或是按照特定规则将物件复写到指定的目的桶。可于console内侧边栏中选择Batch operation(批次复制)并添加任务,即可设定将Bucket-2内之物件复写到Bucket-3,详细的步骤可以参考[2]。需要同样注意IAM角色的设定,必须满足批次复写所需的权限。

参考文档
[1] https://aws.amazon.com/blogs/aws/new-amazon-s3-replication-adds-support-for-multiple-destination-buckets/
[2] https://docs.aws.amazon.com/zh_cn/AmazonS3/latest/userguide/s3-batch-replication-existing-config.html

AWS
Ling_L
已回答 4 个月前

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。

回答问题的准则