Obtention d’informations sur le statut de la réplication - Amazon Simple Storage Service

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Obtention d’informations sur le statut de la réplication

Le statut de réplication peut vous aider à déterminer l’état actuel d’un objet répliqué. Le statut de réplication d’un objet source renvoie soit PENDING, COMPLETED ou FAILED. Le statut de réplication d’un réplica renvoie REPLICA.

Vous pouvez également utiliser les valeurs de statut de réplication lorsque vous créez des tâches de réplication par lot S3. Par exemple, vous pouvez utiliser ces valeurs de statut pour répliquer des objets qui n’ont jamais été répliqués ou dont la réplication a échoué. Pour plus d’informations sur l’utilisation de ces valeurs avec la réplication par lot, consultez Utilisation des informations de statut de réplication avec les tâches de réplication par lot.

Vue d’ensemble des statuts de réplication

Dans le cadre de la réplication, vous disposez d’un compartiment source dans lequel vous configurez la réplication et d’un ou de plusieurs compartiments de destination dans lesquels Amazon S3 réplique les objets. Lorsque vous demandez un objet (à l’aide de GetObject) ou des métadonnées d’objet (à l’aide de HeadObject) à partir de ces compartiments, Amazon S3 renvoie l’en-tête x-amz-replication-status dans la réponse :

  • Lorsque vous demandez un objet depuis le compartiment source, Amazon S3 renvoie l’en-tête x-amz-replication-status si l’objet demandé peut être répliqué.

    Par exemple, imaginons que vous spécifiez le préfixe d’objet TaxDocs dans votre configuration de réplication pour indiquer à Amazon S3 de ne répliquer que les objets dotés du préfixe de nom de clé TaxDocs. Tous les objets que vous chargez ayant ce préfixe de nom de clé (par exemple, TaxDocs/document1.pdf) seront répliqués. Pour les demandes d’objet avec ce préfixe de nom de clé, Amazon S3 renvoie l’en-tête x-amz-replication-status avec l’une des valeurs suivantes pour le statut de réplication de l’objet : PENDING, COMPLETED ou FAILED.

    Note

    Si la réplication d’objet échoue après avoir chargé un objet, vous ne pouvez pas relancer la réplication. Vous devez charger à nouveau l’objet ou utiliser la réplication par lot S3 pour répliquer tous les objets défaillants. Pour plus d’informations sur l’utilisation de la réplication par lot, consultez Réplication d’objets existants via la réplication par lot.

    Les objets passent à un FAILED état pour des problèmes tels que l'absence d'autorisations de rôle de réplication, d'autorisations AWS Key Management Service (AWS KMS) ou d'autorisations de compartiment. Pour les échecs temporaires, par exemple si un compartiment ou une région n’est pas disponible, le statut de réplication ne passe pas à FAILED, mais reste PENDING. Une fois la ressource remise en ligne, Amazon S3 reprend la réplication de ces objets.

  • Lorsque vous demandez un objet à partir du compartiment de destination, si l’objet demandé est un réplica créé par Amazon S3, Amazon S3 renvoie l’en-tête x-amz-replication-status avec la valeur REPLICA.

Note

Avant de supprimer un objet d’un compartiment source pour lequel la réplication a été activée, contrôlez le statut de réplication de l’objet pour vous assurer qu’il a été répliqué.

Si une configuration du cycle de vie S3 est activée sur le compartiment source, Amazon S3 interrompt les actions de cycle de vie tant que le statut des objets n’est pas marqué comme COMPLETED ou FAILED.

Statut de la réplication en cas de réplication vers plusieurs compartiments de destination

Lorsque vous répliquez des objets vers plusieurs compartiments de destination, l’en-tête x-amz-replication-status agit différemment. L’en-tête de l’objet source renvoie la valeur COMPLETED seulement quand la réplication a réussi vers toutes les destinations. L’en-tête reste à la valeur PENDING jusqu’à ce que la réplication soit terminée pour toutes les destinations. Si la réplication échoue vers une ou plusieurs destinations, l’en-tête renvoie FAILED.

Statut de la réplication si la synchronisation des modifications de réplica Simple Storage Service (Amazon S3) est activée

Lorsque vos règles de réplication activent la synchronisation des modifications de réplica Simple Storage Service (Amazon S3), les statuts des réplicas peuvent être différents de REPLICA. Si des modifications de métadonnées sont en cours de réplication, l’en-tête x-amz-replication-status renvoie PENDING. Si la synchronisation des modifications du réplica ne parvient pas à répliquer les métadonnées, l’en-tête renvoie FAILED. Si les métadonnées sont répliquées correctement, les réplicas retournent l’en-tête REPLICA.

Utilisation des informations de statut de réplication avec les tâches de réplication par lot

Lors de la création d’une tâche de réplication par lot, vous pouvez éventuellement spécifier des filtres supplémentaires, tels que la date de création d’objet et le statut de réplication, afin de réduire la portée de la tâche.

Vous pouvez filtrer les objets à répliquer sur la base de la valeur ObjectReplicationStatuses, en fournissant une ou plusieurs des valeurs suivantes :

  • "NONE" – Indique qu’Amazon S3 n’a jamais tenté de répliquer l’objet auparavant.

  • "FAILED" – Indique qu’Amazon S3 a déjà tenté mais n’a pas réussi à répliquer l’objet.

  • "COMPLETED" – Indique qu’Amazon S3 a déjà répliqué l’objet avec succès.

  • "REPLICA" – Indique qu’il s’agit d’un objet de réplica répliqué par Amazon S3 à partir d’une autre source.

Pour plus d’informations sur l’utilisation de ces valeurs de statut de réplication avec la réplication par lot, consultez Filtres pour une tâche de réplication par lot.

Recherche du statut de réplication

Pour obtenir le statut de réplication des objets dans un compartiment, utilisez l’outil d’inventaire Amazon S3. Amazon S3 envoie un fichier CSV au compartiment de destination que vous spécifiez dans la configuration d’inventaire. Vous pouvez également utiliser Amazon Athena pour interroger le statut de réplication dans le rapport d’inventaire. Pour plus d’informations sur l’inventaire Amazon S3, consultez Catalogage et analyse de vos données avec l’inventaire S3.

Vous pouvez également connaître l'état de réplication de l'objet à l'aide de la console Amazon S3, du AWS Command Line Interface (AWS CLI) ou du AWS SDK.

Dans la console Amazon S3, vous pouvez afficher le statut de réplication d’un objet sur la page des détails de l’objet.

  1. Connectez-vous à la console Amazon S3 AWS Management Console et ouvrez-la à l'adresse https://console.aws.amazon.com/s3/.

  2. Dans le panneau de navigation de gauche, choisissez Compartiments.

  3. Dans la liste Compartiments à usage général, choisissez le nom du compartiment source de réplication.

  4. Dans la liste Objets, sélectionnez le nom de l’objet. La page de détails de l’objet s’affiche.

  5. Dans l’onglet Propriétés, faites défiler l’affichage vers le bas jusqu’à la section Présentation de la gestion des objets. Sous Configurations de gestion, lisez la valeur sous Statut de réplication.

Utilisez la head-object commande AWS Command Line Interface (AWS CLI) pour récupérer les métadonnées de l'objet, comme indiqué dans l'exemple suivant. Remplacez le amzn-s3-demo-source-bucket1 par le nom de votre compartiment source de réplication et remplacez les autres user input placeholders par vos propres informations.

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

La commande renvoie les métadonnées de l’objet, y compris ReplicationStatus comme illustré dans l’exemple de réponse suivant.

{ "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":{ } }

Les fragments de code suivants obtiennent l'état de votre réplication à l'aide des AWS SDK for Java touches et AWS SDK for .NET, respectivement.

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);