Usar PutBucketReplication
com o AWS SDK ou a CLI
Os exemplos de código a seguir mostram como usar o PutBucketReplication
.
- CLI
-
- AWS CLI
-
Como configurar a replicação para um bucket do S3
O exemplo
put-bucket-replication
a seguir aplica uma configuração de replicação ao bucket do S3 especificado.aws s3api put-bucket-replication \ --bucket
AWSDOC-EXAMPLE-BUCKET1
\ --replication-configurationfile://replication.json
Conteúdo de
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" } } ] }
O bucket de destino deve ter o versionamento habilitado. A função especificada deve ter permissão para gravar no bucket de destino e ter uma relação de confiança que permita que o Amazon S3 assuma a função.
Exemplo de política de permissão de função:
{ "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/*" } ] }
Exemplo de política de relação de confiança:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "s3.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
Este comando não produz saída.
Para obter mais informações, consulte This is the topic title no Guia do usuário do Amazon Simple Storage Service.
-
Para obter detalhes da API, consulte PutBucketReplication
na Referência de comandos da AWS CLI.
-
- PowerShell
-
- Tools for PowerShell
-
Exemplo 1: este exemplo define uma configuração de replicação com uma única regra que permite a replicação para o bucket “exampletargetbucket” de qualquer novo objeto criado com o prefixo de nome de chave “TaxDocs” no bucket “examplebucket”.
$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
Exemplo 2: este exemplo define uma configuração de replicação com várias regras que permitem a replicação para o bucket “exampletargetbucket” de qualquer novo objeto criado com o prefixo de nome de chave “TaxDocs” ou “OtherDocs”. Os prefixos de chave não devem se sobrepor.
$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
Exemplo 3: este exemplo atualiza a configuração de replicação no bucket especificado para desabilitar a regra que controla a replicação de objetos com o prefixo de nome de chave “TaxDocs” para o bucket “exampletargetbucket.
$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
-
Para obter detalhes, consulte o PutBucketReplication, na AWS Tools for PowerShell Cmdlet Reference.
-
Para obter uma lista completa dos Guias do desenvolvedor do SDK da AWS e exemplos de código, consulte Usar este serviço com um AWS SDK. Este tópico também inclui informações sobre como começar e detalhes sobre versões anteriores do SDK.