文件 AWS SDK AWS 範例 SDK 儲存庫中有更多可用的
本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
PutBucketReplication
搭配 CLI 使用
下列程式碼範例示範如何使用 PutBucketReplication
。
- CLI
-
- AWS CLI
-
設定 S3 儲存貯體的複寫
下列
put-bucket-replication
範例會將複寫組態套用至指定的 S3 儲存貯體。aws s3api put-bucket-replication \ --bucket
AWSDOC-EXAMPLE-BUCKET1
\ --replication-configurationfile://replication.json
replication.json
的內容:{ "Role": "arn:aws:iam::123456789012:role/s3-replication-role", "Rules": [ { "Status": "Enabled", "Priority": 1, "DeleteMarkerReplication": { "Status": "Disabled" }, "Filter" : { "Prefix": ""}, "Destination": { "Bucket": "arn:aws:s3:::AWSDOC-EXAMPLE-BUCKET2" } } ] }
目的地儲存貯體必須已啟用版本控制。指定的角色必須具有寫入目的地儲存貯體的許可,並具有允許 Amazon S3 擔任該角色的信任關係。
角色許可政策範例:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetReplicationConfiguration", "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::AWSDOC-EXAMPLE-BUCKET1" ] }, { "Effect": "Allow", "Action": [ "s3:GetObjectVersion", "s3:GetObjectVersionAcl", "s3:GetObjectVersionTagging" ], "Resource": [ "arn:aws:s3:::AWSDOC-EXAMPLE-BUCKET1/*" ] }, { "Effect": "Allow", "Action": [ "s3:ReplicateObject", "s3:ReplicateDelete", "s3:ReplicateTags" ], "Resource": "arn:aws:s3:::AWSDOC-EXAMPLE-BUCKET2/*" } ] }
信任關係政策範例:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "s3.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
此命令不會產生輸出。
如需詳細資訊,請參閱 Amazon Simple Storage Service 主控台使用者指南中的此主題標題。
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 PutBucketReplication
。
-
- PowerShell
-
- for PowerShell 工具
-
範例 1:此範例會使用單一規則設定複寫組態,讓複寫能夠複寫至 'exampletargetbucket' 儲存貯體中任何以金鑰名稱字首 "TaxDocs" 建立的新物件。
$rule1 = New-Object Amazon.S3.Model.ReplicationRule $rule1.ID = "Rule-1" $rule1.Status = "Enabled" $rule1.Prefix = "TaxDocs" $rule1.Destination = @{ BucketArn = "arn:aws:s3:::amzn-s3-demo-destination-bucket" } $params = @{ BucketName = "amzn-s3-demo-bucket" Configuration_Role = "arn:aws:iam::35667example:role/CrossRegionReplicationRoleForS3" Configuration_Rule = $rule1 } Write-S3BucketReplication @params
範例 2:此範例會設定具有多個規則的複寫組態,以便複寫到 'exampletargetbucket' 儲存貯體,任何使用金鑰名稱字首 "TaxDocs" 或 "OtherDocs" 建立的新物件。金鑰字首不得重疊。
$rule1 = New-Object Amazon.S3.Model.ReplicationRule $rule1.ID = "Rule-1" $rule1.Status = "Enabled" $rule1.Prefix = "TaxDocs" $rule1.Destination = @{ BucketArn = "arn:aws:s3:::amzn-s3-demo-destination-bucket" } $rule2 = New-Object Amazon.S3.Model.ReplicationRule $rule2.ID = "Rule-2" $rule2.Status = "Enabled" $rule2.Prefix = "OtherDocs" $rule2.Destination = @{ BucketArn = "arn:aws:s3:::amzn-s3-demo-destination-bucket" } $params = @{ BucketName = "amzn-s3-demo-bucket" Configuration_Role = "arn:aws:iam::35667example:role/CrossRegionReplicationRoleForS3" Configuration_Rule = $rule1,$rule2 } Write-S3BucketReplication @params
範例 3:此範例會更新指定儲存貯體上的複寫組態,以停用控制物件複寫的規則,其金鑰名稱字首為「TaxDocs」,並複製到儲存貯體「exampletargetbucket」。
$rule1 = New-Object Amazon.S3.Model.ReplicationRule $rule1.ID = "Rule-1" $rule1.Status = "Disabled" $rule1.Prefix = "TaxDocs" $rule1.Destination = @{ BucketArn = "arn:aws:s3:::amzn-s3-demo-destination-bucket" } $params = @{ BucketName = "amzn-s3-demo-bucket" Configuration_Role = "arn:aws:iam::35667example:role/CrossRegionReplicationRoleForS3" Configuration_Rule = $rule1 } Write-S3BucketReplication @params
-
如需 API 詳細資訊,請參閱 AWS Tools for PowerShell Cmdlet 參考中的 PutBucketReplication。
-