

# Obtenção de informações sobre o status da replicação
<a name="replication-status"></a>

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`.

Também é possível usar valores de status de replicação ao criar trabalhos de replicação em lote do S3. Por exemplo, é possível usar esses valores de status para replicar objetos que nunca foram replicados ou que apresentaram falha na replicação. Para ter mais informações sobre como usar esses valores com a replicação em lote, consulte [Usar informações de status de replicação com trabalhos de replicação em lote](#replication-status-batch-replication).

**Topics**
+ [Visão geral do status da replicação](#replication-status-overview)
+ [Status da replicação, se replicar para vários intervalos de destino](#replication-status-multiple-destinations)
+ [Status da replicação se a sincronização de modificação de réplica do Amazon S3 estiver ativada](#replication-status-replica-mod-syn)
+ [Usar informações de status de replicação com trabalhos de replicação em lote](#replication-status-batch-replication)
+ [Localização do status de replicação](#replication-status-usage)

## Visão geral do status da replicação
<a name="replication-status-overview"></a>

Na replicação, você tem um bucket de origem em que configura a replicação e um ou mais buckets de destino nos quais o Amazon S3 replica objetos. Ao solicitar um objeto (usando `GetObject`) ou metadados de objeto (usando `HeadObject`) nesses buckets, o Amazon S3 exibirá o cabeçalho `x-amz-replication-status` na resposta: 
+ 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 chave `TaxDocs`. 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çalho `x-amz-replication-status` com um dos seguintes valores para o status de replicação de objeto: `PENDING`, `COMPLETED` ou `FAILED`.
**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. É necessário fazer upload do objeto novamente ou usar a Replicação em Lote do S3 para replicar qualquer objeto com falha. Para ter mais informações sobre o uso da replicação em lote, consulte [Replicar objetos existentes com o Replicação em Lote](s3-batch-replication-batch.md).   
Os objetos mudam para um estado `FAILED` em caso de problemas, como a ausência das permissões do perfil de replicação, do AWS Key Management Service (AWS KMS) ou do bucket. Em caso de falhas temporárias, por exemplo, se um bucket ou uma região não estiver disponível, o status da replicação não fará a transição para `FAILED`, mas permanecerá `PENDING`. Depois que o recurso estiver on-line novamente, o Amazon 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 valor `REPLICA`.

**nota**  
Antes de excluir um objeto de um bucket de origem com a replicação habilitada, confira o status de replicação para confirmar se o objeto foi replicado.   
Se a configuração de ciclo de vida do S3 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
<a name="replication-status-multiple-destinations"></a>

Quando você replica objetos para vários intervalos de destino, o cabeçalho`x-amz-replication-status` age de forma diferente. O cabeçalho do objeto de origem exibe um valor de `COMPLETED` somente 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
<a name="replication-status-replica-mod-syn"></a>

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`.

## Usar informações de status de replicação com trabalhos de replicação em lote
<a name="replication-status-batch-replication"></a>

Ao criar um trabalho de replicação em lote, é possível especificar filtros adicionais, como data de criação e status de replicação do objeto, para reduzir o escopo do trabalho.

É possível filtrar os objetos a serem replicados com base no valor de `ObjectReplicationStatuses`, fornecendo um ou mais dos seguintes valores:
+ `"NONE"`: indica que o Simple Storage Service (Amazon S3) nunca tentou replicar o objeto antes.
+ `"FAILED"`: indica que o Amazon S3 tentou replicar o objeto, mas não conseguiu.
+ `"COMPLETED"`: indica que o Simple Storage Service (Amazon S3) já replicou com êxito o objeto anteriormente.
+ `"REPLICA"`: indica que essa é uma réplica de um objeto que foi replicado pelo Amazon S3 de outra origem.

Para ter mais informações sobre como usar esses valores de status de replicação com replicação em lote, consulte [Filtros para um trabalho de replicação em lote](s3-batch-replication-batch.md#batch-replication-filters).

## Localização do status de replicação
<a name="replication-status-usage"></a>

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 [Catalogar e analisar seus dados com o Inventário S3](storage-inventory.md).

Também é possível encontrar o status de replicação do objeto usando o console do Amazon S3, a AWS Command Line Interface (AWS CLI) ou o SDK da AWS. 

### Usar o console do S3
<a name="replication-status-console"></a>

No console do S3, é possível visualizar o status da replicação de um objeto na página de detalhes do objeto.

1. Faça login no Console de gerenciamento da AWS e abra o console do Amazon S3 em [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/).

1. No painel de navegação à esquerda, escolha **Buckets**.

1. Na lista **Buckets de uso geral**, selecione o nome do bucket de origem da replicação.

1. Na lista **Objects** (Objetos), escolha o nome do objeto. A página de detalhes do objeto é exibida. 

1. Na guia **Propriedades**, role para baixo até a seção **Visão geral do gerenciamento de objetos**. Em **Configurações de gerenciamento**, veja o valor em **Status da replicação**.

### Como usar o AWS CLI
<a name="replication-status-cli"></a>

Use o comando AWS CLI (`head-object`) da AWS Command Line Interface para recuperar metadados, como mostrado no exemplo a seguir. Substitua `amzn-s3-demo-source-bucket1` pelo nome do bucket de origem da replicação e substitua os outros `user input placeholders` por suas próprias informações.

```
aws s3api head-object --bucket amzn-s3-demo-source-bucket1 --key object-key --version-id object-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":{

   }
}
```

### Uso da SDKs AWS
<a name="replication-status-sdk"></a>

Os fragmentos de código a seguir recebem o status de replicação utilizando o AWS SDK para Java e o AWS SDK para .NET, respectivamente. 

------
#### [ Java ]

```
GetObjectMetadataRequest metadataRequest = new GetObjectMetadataRequest(bucketName, key);
ObjectMetadata metadata = s3Client.getObjectMetadata(metadataRequest);

System.out.println("Replication Status : " + metadata.getRawMetadataValue(Headers.OBJECT_REPLICATION_STATUS));
```

------
#### [ .NET ]

```
GetObjectMetadataRequest getmetadataRequest = new GetObjectMetadataRequest
    {
         BucketName = sourceBucket,
         Key        = objectKey
    };

GetObjectMetadataResponse getmetadataResponse = client.GetObjectMetadata(getmetadataRequest);
Console.WriteLine("Object replication status: {0}", getmetadataResponse.ReplicationStatus);
```

------