Obtenção de informações sobre o status da replicação
O status da replicação pode ajudá-lo a determinar o estado atual de um objeto que está sendo replicado. O status de replicação de um objeto de origem retornará PENDING
COMPLETED
, ou FAILED
. O status de replicação de uma réplica retornará REPLICA
.
Tópicos
Visão geral do status da replicação
Na replicação, você tem um bucket de origem em que configura a replicação e um bucket de destino onde o Amazon S3 replica objetos. Ao solicitar um objeto (usando o objeto GET
) ou metadados de objeto (usando o objeto HEAD
) nesses buckets, o Amazon S3 retornará o cabeçalho x-amz-replication-status
na resposta da seguinte maneira:
-
Ao solicitar um objeto no bucket de origem, o Amazon S3 retornará o cabeçalho
x-amz-replication-status
se o objeto em sua solicitação for qualificado para replicação.Por exemplo, suponha que, em sua configuração de replicação, você especifique o prefixo de objeto
TaxDocs
para dizer ao Amazon S3 para replicar somente objetos com o prefixo de nome de chaveTaxDocs
. Todos os objetos dos quais você fizer upload e tiverem esse prefixo de nome de chave, por exemplo,TaxDocs/document1.pdf
, serão replicados. Para qualquer solicitação de objeto com esse prefixo de nome de chave, o Amazon S3 retorna o cabeçalhox-amz-replication-status
com um dos seguintes valores para o status de replicação de objeto:PENDING
,COMPLETED
ouFAILED
.nota
Se a replicação do objeto falhar depois de você fazer upload de um objeto, não será possível tentar novamente a replicação. É preciso fazer upload do objeto novamente. Os objetos mudam para um estado
FAILED
em caso de problemas como a ausência das permissões da função de replicação, do AWS KMS ou do bucket. Para falhas temporárias, por exemplo, se um bucket ou região não estiver disponível, o status da replicação não fará a transição paraFAILED
, mas permaneceráPENDING
. Depois que o recurso estiver online novamente,o S3 retomará a replicação desses objetos. -
Ao solicitar um objeto no bucket de destino, se o objeto da sua solicitação for uma réplica criada pelo Amazon S3, o Amazon S3 retornará o cabeçalho
x-amz-replication-status
com valorREPLICA
.
nota
Antes de excluir um objeto de um bucket de origem com a replicação habilitada, verifique o status de replicação dele para garantir que o objeto tenha sido replicado.
Se a configuração de ciclo de vida estiver habilitada no bucket de origem, o Amazon S3 suspenderá as ações de ciclo de vida até que o status dos objetos seja COMPLETED
ou FAILED
.
Status da replicação, se replicar para vários intervalos de destino
Quando você replica objetos para vários intervalos de destino, o cabeçalhox-amz-replication-status
age de forma diferente. O cabeçalho do objeto de origem retorna apenas um valor de COMPLETED
quando a replicação é bem-sucedida para todos os destinos. O cabeçalho permanece no valor PENDING
até que a replicação tenha sido concluída para todos os destinos. Se um ou mais destinos falharem na replicação, o cabeçalho retornará FAILED
.
Status da replicação se a sincronização de modificação de réplica do Amazon S3 estiver ativada
Quando suas regras de replicação habilitam a sincronização de modificação de réplica do Simple Storage Service (Amazon S3), as réplicas podem informar um status diferente de REPLICA
. Se alterações de metadados estiverem no processo de replicação, o cabeçalho do x-amz-replication-status
retorna PENDING
. Se a sincronização de modificação de réplica falhar ao replicar metadados, o cabeçalho retornará FAILED
. Se os metadados forem replicados corretamente, as réplicas retornarão o cabeçalho REPLICA
.
Localização do status de replicação
Para obter o status de replicação dos objetos em um bucket, você pode usar a ferramenta Amazon S3 Inventory. O Amazon S3 envia um arquivo CSV para o bucket de destino especificado na configuração de inventário. Você também pode usar o Amazon Athena para consultar o status da replicação no relatório de inventário. Para obter mais informações sobre o Amazon S3 Inventory, consulte Inventário do Amazon S3.
Você também pode encontrar o status de replicação do objeto usando o console, a AWS Command Line Interface (AWS CLI) ou o AWS SDK.
No console do S3, você pode exibir o status da replicação de um objeto na página Details (Detalhes) do objeto na Object management overview (Visão geral de gerenciamento de objeto).
-
Faça login no AWS Management Console e abra o console do Amazon S3 em https://console.aws.amazon.com/s3/
. -
Na lista Buckets (Buckets), escolha o nome do bucket.
-
Na lista Objects (Objetos), escolha o nome do objeto.
-
Na guia Properties (Propriedades), encontre Object management overview (Visão geral do gerenciamento de objetos) para conferir o Replication status (Status de replicação).
Use o comando head-object
para recuperar metadados do objeto, como segue.
aws s3api head-object --bucket
source-bucket
--keyobject-key
--version-idobject-version-id
O comando retorna os metadados do objeto, inclusive ReplicationStatus
, conforme exibido no exemplo de resposta a seguir.
{ "AcceptRanges":"bytes", "ContentType":"image/jpeg", "LastModified":"Mon, 23 Mar 2015 21:02:29 GMT", "ContentLength":3191, "ReplicationStatus":"COMPLETED", "VersionId":"jfnW.HIMOfYiD_9rGbSkmroXsFj3fqZ.", "ETag":"\"6805f2cfc46c0f04559748bb039d69ae\"", "Metadata":{ } }
Os fragmentos de código a seguir obtêm status de replicação com o AWS SDK for Java e o AWS SDK for .NET, respectivamente.