

# Obtención de información del estado de replicación
<a name="replication-status"></a>

El estado de replicación puede ayudarle a determinar el estado actual de un objeto que se replica. El estado de replicación de un objeto de origen devolverá `PENDING`, `COMPLETED`, o `FAILED`. Se devolverá el estado de replicación de una réplica `REPLICA`.

También puede usar valores de estado de replicación al crear trabajos de replicación por lotes de S3. Por ejemplo, puede utilizar estos valores de estado para replicar objetos que nunca se han replicado o que han producido un error en la replicación. Para obtener más información sobre el uso de estos valores con la replicación por lotes, consulte [Uso de la información del estado de la replicación con los trabajos de replicación por lotes](#replication-status-batch-replication).

**Topics**
+ [Información general sobre el estado de replicación](#replication-status-overview)
+ [Estado de replicación si se replica en varios buckets de destino](#replication-status-multiple-destinations)
+ [Estado de replicación si la sincronización de modificación de réplica de Amazon S3 está habilitada](#replication-status-replica-mod-syn)
+ [Uso de la información del estado de la replicación con los trabajos de replicación por lotes](#replication-status-batch-replication)
+ [Hallazgo del estado de replicación](#replication-status-usage)

## Información general sobre el estado de replicación
<a name="replication-status-overview"></a>

En la replicación, tiene un bucket de origen en el que se configura la replicación y uno o más buckets de destino donde Amazon S3 replica los objetos. Cuando solicita un objeto (mediante `GetObject`) o los metadatos de un objeto (mediante `HeadObject`) de estos buckets, Amazon S3 devuelve el encabezado `x-amz-replication-status` en la respuesta: 
+ Al solicitar un objeto del bucket de origen, Amazon S3 devuelve el encabezado `x-amz-replication-status` si el objeto de su solicitud cumple los requisitos para la replicación. 

  Por ejemplo, supongamos que en la configuración de replicación, usted especifica el prefijo del objeto `TaxDocs` en la configuración de replicación para indicar a Amazon S3 que replique objetos con el prefijo de nombre de clave `TaxDocs`. Cualquier objeto que cargue que tenga este prefijo de nombre de clave, por ejemplo, `TaxDocs/document1.pdf` se replicará. Para solicitudes de objetos con este prefijo de nombre de clave, Amazon S3 devuelve el encabezado `x-amz-replication-status` con uno de los siguientes valores para el estado de replicación del objeto: `PENDING`, `COMPLETED` o `FAILED`.
**nota**  
Si la replicación de objetos genera un error después de cargar un objeto, no puede volver a intentar la replicación. Debe volver a cargar el objeto o debe utilizar la replicación por lotes de S3 para replicar los objetos que han producido errores. Para obtener más información sobre el uso de la replicación por lotes, consulte [Replicación de objetos existentes con Replicación por lotes](s3-batch-replication-batch.md).   
Los objetos pasan a un estado `FAILED` para problemas como la falta de permisos de rol de replicación, permisos de AWS Key Management Service (AWS KMS) o permisos de bucket. En el caso de los errores temporales, como si un bucket o región no están disponibles, el estado de replicación no pasa a `FAILED`, sino que permanece `PENDING`. Después de que el recurso vuelva a estar en línea, Amazon S3 reanuda la replicación de esos objetos.
+ Cuando solicita un objeto desde un bucket de destino, si el objeto de la solicitud es una réplica creada por Amazon S3, este devuelve el `x-amz-replication-status` encabezado con el valor `REPLICA`.

**nota**  
Antes de eliminar un objeto de un bucket de origen que tiene habilitada la replicación, compruebe el estado de replicación del objeto para asegurarse de que el objeto se haya replicado.   
Si la configuración de un S3 Lifecycle está habilitada en el bucket de origen, Amazon S3 suspende las acciones del ciclo de vida hasta que marque el estado de los objetos como `COMPLETED` o `FAILED`.

## Estado de replicación si se replica en varios buckets de destino
<a name="replication-status-multiple-destinations"></a>

Cuando se replican objetos en varios buckets de destino, el `x-amz-replication-status` encabezado actúa de manera diferente. El encabezado del objeto de origen devuelve un valor de `COMPLETED` cuando la replicación se realiza correctamente en todos los destinos. El encabezado permanece en el `PENDING` valor hasta que se complete la replicación para todos los destinos. Si uno o más destinos fallan la replicación, el encabezado devuelve `FAILED`.

## Estado de replicación si la sincronización de modificación de réplica de Amazon S3 está habilitada
<a name="replication-status-replica-mod-syn"></a>

Cuando las reglas de replicación habilitan la sincronización de las réplicas de modificación de Amazon S3, las réplicas pueden informar estados distintos de `REPLICA`. Si los cambios de metadatos están en proceso de replicación, el encabezado de `x-amz-replication-status` devuelve `PENDING`. Si la sincronización de modificaciones de réplica no permite replicar metadatos, el encabezado devuelve `FAILED`. Si los metadatos se replican correctamente, las réplicas devuelven el encabezado `REPLICA`.

## Uso de la información del estado de la replicación con los trabajos de replicación por lotes
<a name="replication-status-batch-replication"></a>

En el momento de crear un trabajo de replicación por lotes, tiene la opción de especificar filtros adicionales, como la fecha de creación de los objetos y el estado de replicación para reducir el alcance del trabajo.

Puede filtrar los objetos para replicar en función del valor `ObjectReplicationStatuses`, proporcionando uno o varios de los siguientes valores:
+ `"NONE"`: indica que Amazon S3 nunca intentó replicar el objeto antes.
+ `"FAILED"`: indica que Amazon S3 intentó replicar el objeto antes, pero no pudo.
+ `"COMPLETED"`: indica que Amazon S3 replicó el objeto correctamente antes.
+ `"REPLICA"`: indica que se trata de un objeto de réplica que Amazon S3 ha replicado desde otro origen.

Para obtener más información sobre el uso de estos valores de estado de replicación con la replicación por lotes, consulte [Filtros para un trabajo de replicación por lotes](s3-batch-replication-batch.md#batch-replication-filters).

## Hallazgo del estado de replicación
<a name="replication-status-usage"></a>

Para obtener el estado de replicación de los objetos de un bucket, puede utilizar la herramienta de Amazon S3 Inventory. Amazon S3 envía un archivo CSV al bucket de destino que especifique en la configuración del inventario. También puede usar Amazon Athena para consultar el estado de replicación en el informe de inventario. Para obtener más información acerca del Amazon S3 Inventory, consulte [Catálogo y análisis de sus datos con Inventario de S3](storage-inventory.md).

Puede buscar también el estado de replicación de un objeto mediante la consola de Amazon S3, la AWS Command Line Interface (AWS CLI) o el SDK de AWS. 

### Uso de la consola de S3
<a name="replication-status-console"></a>

En la consola de Amazon S3, puede ver el estado de replicación de un objeto en la página de detalles del objeto.

1. Inicie sesión en la Consola de administración de AWS y abra la consola de Amazon S3 en [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/).

1. En el panel de navegación izquierdo, elija **Buckets**.

1. En la lista **Buckets de uso general**, elija el nombre del bucket de origen de replicación.

1. En la lista **Objects** (Objetos), elija el nombre del objeto. Aparece la página de detalles del objeto. 

1. En la pestaña **Propiedades**, desplácese hacia abajo hasta la sección **Información general sobre la administración de objetos**. En **Configuraciones de administración**, consulte el valor en **Estado de replicación**.

### Uso de AWS CLI
<a name="replication-status-cli"></a>

Use el comando `head-object` de AWS Command Line Interface (AWS CLI) para recuperar metadatos de objetos, como se muestra en el siguiente ejemplo. Sustituya `amzn-s3-demo-source-bucket1` por el nombre del bucket de origen de la replicación y sustituya el otro `user input placeholders` por su propia información.

```
aws s3api head-object --bucket amzn-s3-demo-source-bucket1 --key object-key --version-id object-version-id           
```

El comando devuelve los metadatos del objeto, incluido el `ReplicationStatus` como se muestra en el siguiente ejemplo de respuesta.

```
{
   "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 de los AWS SDK
<a name="replication-status-sdk"></a>

Los siguientes fragmentos de código obtienen el estado de replicación mediante AWS SDK para Java y 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);
```

------