Skip to main content
La versione in lingua italiana fornita proviene da una traduzione automatica. Per eventuali incoerenze, fare riferimento alla versione in lingua inglese.

METTI oggetto - Copia

Collaboratori

È possibile utilizzare la richiesta S3 PUT Object - Copy per creare una copia di un oggetto già memorizzato in S3. Un'operazione PUT object - Copy equivale all'esecuzione di UN'OPERAZIONE GET e poi PUT.

Risolvi i conflitti

Le richieste dei client in conflitto, come due client che scrivono sulla stessa chiave, vengono risolte in base alle "ultime vincite". La tempistica per la valutazione degli "ultimi successi" si basa sul momento in cui il sistema StorageGRID completa una data richiesta e non sul momento in cui i client S3 iniziano un'operazione.

Dimensione dell'oggetto

La dimensione massima consigliata per un'operazione di singolo oggetto PUT è 5 GiB (5,368,709,120 byte). Se si dispone di oggetti di dimensioni superiori a 5 GiB, utilizzare invece il caricamento multiparte.

Importante In StorageGRID 11.6, la dimensione massima supportata per un'operazione di singolo oggetto PUT è 5 TIB (5,497,558,138,880 byte). Tuttavia, l'avviso S3 PUT object size too large (DIMENSIONE oggetto ECCESSIVA) viene attivato se si tenta di caricare un oggetto che supera i 5 GiB.

UTF-8 caratteri nei metadati dell'utente

Se una richiesta include valori UTF-8 (non escapati) nel nome della chiave o nel valore dei metadati definiti dall'utente, il comportamento di StorageGRID non è definito.

StorageGRID non analizza o interpreta i caratteri UTF-8 escapati inclusi nel nome della chiave o nel valore dei metadati definiti dall'utente. I caratteri UTF-8 escapiti vengono trattati come caratteri ASCII:

  • Le richieste hanno esito positivo se i metadati definiti dall'utente includono caratteri UTF-8 escapiti.

  • StorageGRID non restituisce x-amz-missing-meta header se il valore interpretato del nome o del valore della chiave include caratteri non stampabili.

Intestazioni di richiesta supportate

Sono supportate le seguenti intestazioni di richiesta:

  • Content-Type

  • x-amz-copy-source

  • x-amz-copy-source-if-match

  • x-amz-copy-source-if-none-match

  • x-amz-copy-source-if-unmodified-since

  • x-amz-copy-source-if-modified-since

  • x-amz-meta-, seguito da una coppia nome-valore contenente metadati definiti dall'utente

  • x-amz-metadata-directive: Il valore predefinito è COPY, che consente di copiare l'oggetto e i metadati associati.

    È possibile specificare REPLACE per sovrascrivere i metadati esistenti durante la copia dell'oggetto o per aggiornare i metadati dell'oggetto.

  • x-amz-storage-class

  • x-amz-tagging-directive: Il valore predefinito è COPY, che consente di copiare l'oggetto e tutti i tag.

    È possibile specificare REPLACE per sovrascrivere i tag esistenti durante la copia dell'oggetto o per aggiornare i tag.

  • Intestazioni della richiesta di blocco oggetti S3:

    • x-amz-object-lock-mode

    • x-amz-object-lock-retain-until-date

    • x-amz-object-lock-legal-hold

      Se viene effettuata una richiesta senza queste intestazioni, le impostazioni di conservazione predefinite del bucket vengono utilizzate per calcolare la versione dell'oggetto che resta aggiornata.

  • Intestazioni di richiesta SSE:

    • x-amz-copy-source​-server-side​-encryption​-customer-algorithm

    • x-amz-copy-source​-server-side-encryption-customer-key

    • x-amz-copy-source​-server-side-encryption-customer-key-MD5

    • x-amz-server-side-encryption

    • x-amz-server-side-encryption-customer-key-MD5

    • x-amz-server-side-encryption-customer-key

    • x-amz-server-side-encryption-customer-algorithm

Intestazioni di richiesta non supportate

Le seguenti intestazioni di richiesta non sono supportate:

  • Cache-Control

  • Content-Disposition

  • Content-Encoding

  • Content-Language

  • Expires

  • x-amz-website-redirect-location

Opzioni di classe storage

Il x-amz-storage-class L'intestazione della richiesta è supportata e influisce sul numero di copie di oggetti create da StorageGRID se la regola ILM corrispondente specifica un comportamento di Ingest di doppio commit o bilanciato.

  • STANDARD

    (Impostazione predefinita) specifica un'operazione di ingest dual-commit quando la regola ILM utilizza l'opzione Dual commit o quando l'opzione Balanced (bilanciamento) torna alla creazione di copie interinali.

  • REDUCED_REDUNDANCY

    Specifica un'operazione di ingest a commit singolo quando la regola ILM utilizza l'opzione di commit doppio o quando l'opzione di bilanciamento ritorna alla creazione di copie interinali.

    Nota Se si sta inserendo un oggetto in un bucket con il blocco oggetti S3 attivato, il REDUCED_REDUNDANCY l'opzione viene ignorata. Se si sta acquisendo un oggetto in un bucket compatibile legacy, il REDUCED_REDUNDANCY l'opzione restituisce un errore. StorageGRID eseguirà sempre un ingest dual-commit per garantire che i requisiti di conformità siano soddisfatti.

Utilizzo di x-amz-copy-source in PUT Object - Copy

Se il bucket e la chiave di origine, specificati in x-amz-copy-source header, sono diversi dal bucket e dalla chiave di destinazione, una copia dei dati dell'oggetto di origine viene scritta nella destinazione.

Se l'origine e la destinazione corrispondono, e il x-amz-metadata-directive l'intestazione è specificata come REPLACE, i metadati dell'oggetto vengono aggiornati con i valori dei metadati forniti nella richiesta. In questo caso, StorageGRID non reinserisce l'oggetto. Questo ha due conseguenze importanti:

  • Non è possibile utilizzare PUT Object - Copy per crittografare un oggetto esistente o per modificare la crittografia di un oggetto esistente. Se si fornisce x-amz-server-side-encryption o il x-amz-server-side-encryption-customer-algorithm Intestazione, StorageGRID rifiuta la richiesta e restituisce XNotImplemented.

  • L'opzione per il comportamento di Ingest specificata nella regola ILM corrispondente non viene utilizzata. Le modifiche al posizionamento degli oggetti che vengono attivate dall'aggiornamento vengono apportate quando ILM viene rivalutato dai normali processi ILM in background.

    Ciò significa che se la regola ILM utilizza l'opzione Strict per il comportamento di acquisizione, non viene eseguita alcuna azione se non è possibile eseguire il posizionamento degli oggetti richiesto (ad esempio, perché non è disponibile una nuova posizione richiesta). L'oggetto aggiornato mantiene la posizione corrente fino a quando non è possibile il posizionamento richiesto.

Intestazioni di richiesta per la crittografia lato server

Se si utilizza la crittografia lato server, le intestazioni delle richieste fornite dipendono dalla crittografia dell'oggetto di origine e dalla crittografia dell'oggetto di destinazione.

  • Se l'oggetto di origine viene crittografato utilizzando una chiave fornita dal cliente (SSE-C), è necessario includere le seguenti tre intestazioni nella richiesta PUT Object - Copy, in modo che l'oggetto possa essere decrittare e quindi copiato:

    • x-amz-copy-source​-server-side​-encryption​-customer-algorithm Specificare AES256.

    • x-amz-copy-source​-server-side-encryption-customer-key Specificare la chiave di crittografia fornita al momento della creazione dell'oggetto di origine.

    • x-amz-copy-source​-server-side-encryption-customer-key-MD5: Specificare il digest MD5 fornito al momento della creazione dell'oggetto di origine.

  • Se si desidera crittografare l'oggetto di destinazione (la copia) con una chiave univoca che si fornisce e si gestisce, includere le seguenti tre intestazioni:

    • x-amz-server-side-encryption-customer-algorithm: Specificare AES256.

    • x-amz-server-side-encryption-customer-key: Specificare una nuova chiave di crittografia per l'oggetto di destinazione.

    • x-amz-server-side-encryption-customer-key-MD5: Specificare il digest MD5 della nuova chiave di crittografia.

Attenzione: le chiavi di crittografia fornite non vengono mai memorizzate. Se si perde una chiave di crittografia, si perde l'oggetto corrispondente. Prima di utilizzare le chiavi fornite dal cliente per proteggere i dati degli oggetti, consultare le considerazioni in “Usa crittografia lato server”.

  • Se si desidera crittografare l'oggetto di destinazione (la copia) con una chiave univoca gestita da SSE (StorageGRID), includere questa intestazione nella richiesta PUT Object - Copy:

    • x-amz-server-side-encryption

Nota: la server-side-encryption impossibile aggiornare il valore dell'oggetto. Invece, fare una copia con un nuovo server-side-encryption valore utilizzando x-amz-metadata-directive: REPLACE.

Versione

Se il bucket di origine è configurato con la versione, è possibile utilizzare x-amz-copy-source intestazione per copiare l'ultima versione di un oggetto. Per copiare una versione specifica di un oggetto, è necessario specificare esplicitamente la versione da copiare utilizzando versionId sottorisorsa. Se il bucket di destinazione è configurato con la versione, la versione generata viene restituita in x-amz-version-id intestazione della risposta. Se il controllo delle versioni viene sospeso per il bucket di destinazione, allora x-amz-version-id restituisce un valore “null”.

Informazioni correlate

Gestire gli oggetti con ILM