AWS 文件 AWS SDK 範例 GitHub 存放庫中提供了更多 SDK 範例
本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
搭PutBucketReplication
配 AWS 開發套件或 CLI 使用
下列程式碼範例會示範如何使用PutBucketReplication
。
- CLI
-
- AWS CLI
-
設定 S3 儲存貯體的複寫
下列
put-bucket-replication
範例會將複寫組態套用至指定的 S3 儲存貯體。aws s3api put-bucket-replication \ --bucket AWSDOC-EXAMPLE-BUCKET1 \ --replication-configuration file://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 簡易儲存服務主控台使用者指南中的主題標題。
-
如需 API 詳細資訊,請參閱AWS CLI 命令參考PutBucketReplication
中的。
-
- PowerShell
-
- 適用的工具 PowerShell
-
範例 1:此範例設定具有單一規則的複製組態,以便複製到 'exampletargetbucket' 儲存貯體,在值區 'examplebuket' 中以索引鍵名稱前置詞 "TaxDocs" 建立的任何新物件。
$rule1 = New-Object Amazon.S3.Model.ReplicationRule $rule1.ID = "Rule-1" $rule1.Status = "Enabled" $rule1.Prefix = "TaxDocs" $rule1.Destination = @{ BucketArn = "arn:aws:s3:::exampletargetbucket" } $params = @{ BucketName = "examplebucket" 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:::exampletargetbucket" } $rule2 = New-Object Amazon.S3.Model.ReplicationRule $rule2.ID = "Rule-2" $rule2.Status = "Enabled" $rule2.Prefix = "OtherDocs" $rule2.Destination = @{ BucketArn = "arn:aws:s3:::exampletargetbucket" } $params = @{ BucketName = "examplebucket" Configuration_Role = "arn:aws:iam::35667example:role/CrossRegionReplicationRoleForS3" Configuration_Rule = $rule1,$rule2 } Write-S3BucketReplication @params
範例 3:此範例會更新指定值區上的複寫組態,以停用控制將金鑰名稱前置詞為 "TaxDocs" 的物件複製到值區 'exampletargetbuket' 的規則。
$rule1 = New-Object Amazon.S3.Model.ReplicationRule $rule1.ID = "Rule-1" $rule1.Status = "Disabled" $rule1.Prefix = "TaxDocs" $rule1.Destination = @{ BucketArn = "arn:aws:s3:::exampletargetbucket" } $params = @{ BucketName = "examplebucket" Configuration_Role = "arn:aws:iam::35667example:role/CrossRegionReplicationRoleForS3" Configuration_Rule = $rule1 } Write-S3BucketReplication @params
-
如需 API 詳細資訊,請參閱AWS Tools for PowerShell 指令程PutBucketReplication式參考中的。
-
PutBucketPolicy
PutBucketRequestPayment