Ottenimento delle informazioni sullo stato della replica - Amazon Simple Storage Service

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Ottenimento delle informazioni sullo stato della replica

Lo stato della replica consente di determinare lo stato corrente di un oggetto da replicare. Lo stato della replica di un oggetto di origine restituirà PENDING, COMPLETED o FAILED. Lo stato della replica di una replica restituirà REPLICA.

Puoi anche utilizzare i valori dello stato di replica durante la creazione di job di replica in batch di S3. Ad esempio, puoi utilizzare questi valori di stato per replicare oggetti che non sono mai stati replicati o che hanno avuto esito negativo nella replica. Per ulteriori informazioni sull'utilizzo di questi valori con Batch Replication, vedereUtilizzo delle informazioni sullo stato della replica con i job di replica Batch.

Panoramica dello stato della replica

Nella replica, hai un bucket di origine su cui configurare la replica e uno o più bucket di destinazione in cui Amazon S3 replica gli oggetti. Quando richiedi un oggetto (utilizzandoGetObject) o i metadati dell'oggetto (utilizzandoHeadObject) da questi bucket, Amazon S3 restituisce x-amz-replication-status l'intestazione nella risposta:

  • Quando richiedi un oggetto dal bucket di origine, Amazon S3 restituisce l'intestazione x-amz-replication-status se l'oggetto nella richiesta è idoneo per la replica.

    Supponi, ad esempio, che nella configurazione di replica venga specificato il prefisso di oggetto TaxDocs che indica ad Amazon S3 di replicare solo gli oggetti con il prefisso del nome della chiave TaxDocs. Tutti gli oggetti caricati che hanno questo prefisso del nome della chiave, ad esempio TaxDocs/document1.pdf, verranno replicati. Per le richieste di oggetti con questo prefisso del nome della chiave, Amazon S3 restituisce l'intestazione x-amz-replication-status con uno dei valori seguenti per lo stato della replica dell'oggetto: PENDING, COMPLETED o FAILED.

    Nota

    Se la replica dell'oggetto ha esito negativo dopo il caricamento di un oggetto, non è possibile provare a eseguirla di nuovo. È necessario caricare nuovamente l'oggetto oppure utilizzare S3 Batch Replication per replicare eventuali oggetti falliti. Per ulteriori informazioni sull'utilizzo della replica in batch, vedereReplica di oggetti esistenti con Batch Replication.

    Gli oggetti passano a uno FAILED stato per problemi come la mancanza delle autorizzazioni del ruolo di replica, delle autorizzazioni AWS Key Management Service (AWS KMS) o delle autorizzazioni del bucket. In caso di errori temporanei, ad esempio se un bucket o una regione non sono disponibili, lo stato di replica non passa a, ma rimane. FAILED PENDING Dopo che la risorsa è tornata online, Amazon S3 riprende a replicare tali oggetti.

  • Quando richiedi un oggetto dal bucket di destinazione, se l'oggetto nella richiesta è una replica creata da Amazon S3, Amazon S3 restituisce l'intestazione x-amz-replication-status con il valore REPLICA.

Nota

Prima di eliminare un oggetto da un bucket di origine con la replica abilitata, controlla lo stato della replica dell'oggetto per assicurarti che l'oggetto sia stato replicato.

Se una configurazione del ciclo di vita S3 è abilitata nel bucket di origine, Amazon S3 sospende le azioni del ciclo di vita finché non contrassegna lo stato degli oggetti come o. COMPLETED FAILED

Stato della replica in caso di replica su più bucket di destinazione

Quando si replicano oggetti in più bucket di destinazione, l'intestazione x-amz-replication-status funziona in modo diverso. L'intestazione dell'oggetto di origine restituisce un valore solo quando la replica ha esito positivo su tutte le destinazioni. COMPLETED L'intestazione rimane al valore PENDING fino al completamento della replica per tutte le destinazioni. Se la replica su una o più destinazioni non riesce, viene restituita l'intestazione FAILED.

Stato della replica se è abilitata la sincronizzazione della modifica alla replica Amazon S3

Quando le regole di replica abilitano la sincronizzazione delle modifiche alla replica Amazon S3, le repliche possono riportare stati diversi da REPLICA. Se le modifiche dei metadati sono in corso di replica, l'intestazione x-amz-replication-status restituisce PENDING. Se la sincronizzazione delle modifiche della replica non riesce a replicare i metadati, l'intestazione restituisce FAILED. Se i metadati vengono replicati correttamente, le repliche restituiscono l'intestazione REPLICA.

Utilizzo delle informazioni sullo stato della replica con i job di replica Batch

Quando si crea un processo di replica in batch, è possibile specificare facoltativamente filtri aggiuntivi, come la data di creazione dell'oggetto e lo stato della replica, per ridurre l'ambito del lavoro.

Puoi filtrare gli oggetti da replicare in base al valore ObjectReplicationStatuses fornendo uno o più dei seguenti valori:

  • "NONE": indica che Amazon S3 non ha mai tentato di replicare l'oggetto in precedenza.

  • "FAILED"— Indica che Amazon S3 ha già tentato, ma non è riuscito, di replicare l'oggetto in precedenza.

  • "COMPLETED": indica che Amazon S3 ha replicato correttamente l'oggetto in precedenza.

  • "REPLICA"— Indica che si tratta di un oggetto di replica che Amazon S3 ha replicato da un'altra origine.

Per ulteriori informazioni sull'utilizzo di questi valori dello stato di replica con Batch Replication, vedere. Filtri per i processi Batch Replication

Ricerca dello stato di replica

Per visualizzare lo stato della replica degli oggetti in un bucket, è possibile utilizzare lo strumento Inventario Amazon S3. Amazon S3 invia un CSV file al bucket di destinazione specificato nella configurazione dell'inventario. Puoi anche utilizzare Amazon Athena per eseguire una query sullo stato della replica nel report di inventario. Per ulteriori informazioni su Inventario Amazon S3, consulta Catalogazione e analisi dei dati con S3 Inventory.

Puoi anche trovare lo stato della replica degli oggetti utilizzando la console Amazon S3, AWS Command Line Interface il AWS CLI() o il. AWS SDK

Nella console Amazon S3, puoi visualizzare lo stato della replica di un oggetto nella pagina dei dettagli dell'oggetto.

  1. Accedi a AWS Management Console e apri la console Amazon S3 all'indirizzo. https://console.aws.amazon.com/s3/

  2. Nel pannello di navigazione a sinistra, scegli Buckets (Bucket).

  3. Nell'elenco dei bucket generici, scegli il nome del bucket di origine della replica.

  4. Nell'elenco Oggetti, seleziona il nome dell'oggetto. Viene visualizzata la pagina dei dettagli dell'oggetto.

  5. Nella scheda Proprietà, scorri verso il basso fino alla sezione Panoramica sulla gestione degli oggetti. In Configurazioni di gestione, vedi il valore in Stato della replica.

Utilizzate il head-object comando AWS Command Line Interface (AWS CLI) per recuperare i metadati degli oggetti, come illustrato nell'esempio seguente. Sostituite il bucket amzn-s3-demo-source-bucket1 con il nome del bucket di origine della replica e sostituite l'altro user input placeholders con le vostre informazioni.

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

Il comando restituisce i metadati dell'oggetto, incluso l'elemento ReplicationStatus come illustrato nella risposta di esempio seguente.

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

I seguenti frammenti di codice ottengono lo stato di replica utilizzando rispettivamente AWS SDK for Java e AWS SDK for .NET.

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