Copia di un oggetto in un bucket di directory - 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à.

Copia di un oggetto in un bucket di directory

L'operazione copy crea una copia di un oggetto già archiviato in Amazon S3. Puoi copiare oggetti tra bucket di directory e bucket per uso generico. Inoltre, puoi copiare oggetti all'interno di un bucket e tra bucket dello stesso tipo, ad esempio, da un bucket di directory all'altro.

Puoi creare una copia di un oggetto fino a 5 GB in una singola operazione atomica. Tuttavia, per copiare un oggetto di dimensioni superiori a 5 GB, è necessario utilizzare le operazioni API di caricamento multiparte. Per ulteriori informazioni, consulta Utilizzo di caricamenti multiparte con bucket di directory.

Autorizzazioni

Per copiare oggetti, è necessario disporre delle seguenti autorizzazioni:

  • Per copiare oggetti da un bucket di directory a un altro, è necessario disporre dell'autorizzazione s3express:CreateSession.

  • Per copiare oggetti da bucket di directory in bucket per uso generico, è necessario disporre dell'autorizzazione s3express:CreateSession e dell'autorizzazione s3:PutObject per scrivere la copia dell'oggetto nel bucket di destinazione.

  • Per copiare oggetti da bucket generici a bucket di directory, è necessario disporre dell's3express:CreateSessionautorizzazione e dell's3:GetObjectautorizzazione per leggere l'oggetto di origine che viene copiato.

    Per ulteriori informazioni, consulta CopyObject in Amazon Simple Storage Service API Reference (Guida di riferimento per l'API di Amazon Simple Storage Service).

Crittografia

Amazon S3 esegue automaticamente la crittografa di tutti i nuovi oggetti caricati in un bucket S3. La configurazione di crittografia predefinita di un bucket S3 è sempre abilitata ed è impostata come minimo sulla crittografia lato server con chiavi gestite da Amazon S3 (SSE-S3).

Per i bucket di directory, è supportato solo SSE-S3. Per i bucket generici, è possibile utilizzare SSE-S3 (impostazione predefinita), la crittografia lato server con () chiavi (SSE-KMS), la crittografia lato server a due livelli con AWS Key Management Service chiavi (DSSE-KMS) o la crittografia lato server con chiavi fornite dal cliente (SSE-C).AWS KMS AWS KMS

Se si effettua una richiesta di copia che imposta i parametri SSE-C, SSE-KMS o DSSE-KMS su un bucket di directory come origine o destinazione, la risposta restituisce un errore,

Tag

I bucket di directory non supportano i tag. Se si copia un oggetto con tag da un bucket generico a un bucket di directory, si riceve una risposta HTTP. 501 (Not Implemented) Per ulteriori informazioni, consulta CopyObject in Amazon Simple Storage Service API Reference (Guida di riferimento per l'API di Amazon Simple Storage Service).

ETag

I tag di entità (ETag) per S3 Express One Zone sono stringhe alfanumeriche casuali e non sono checksum MD5. Per garantire l'integrità degli oggetti, utilizza checksum aggiuntivi.

Checksum aggiuntivi

S3 Express One Zone offre la possibilità di scegliere l'algoritmo di checksum utilizzato per convalidare i dati durante il caricamento o il download. Puoi selezionare uno dei seguenti algoritmi di controllo dell'integrità dei dati Secure Hash Algorithms (SHA) o Cyclic Redundancy Check (CRC): CRC32, CRC32C, SHA-1 e SHA-256. I checksum basati su MD5 non sono supportati con la classe di storage S3 Express One Zone.

Per ulteriori informazioni, consulta Best practice per il checksum S3 aggiuntivo.

Funzionalità supportate

Per ulteriori informazioni su quali funzionalità di Amazon S3 sono supportate per S3 Express One Zone, consulta. In cosa differisce S3 Express One Zone?

Per copiare un oggetto da un bucket generico o da un bucket di directory a un bucket di directory
  1. Accedi 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. Scegli il bucket da cui vuoi copiare gli oggetti:

    • Per copiare da un bucket generico, scegli la scheda Bucket generici.

    • Per copiare da un bucket di directory, scegli la scheda Directory bucket.

  4. Scegliete il bucket generico o il bucket di directory che contiene gli oggetti che desiderate copiare.

  5. Scegli la scheda Objects (Oggetti). Nella pagina Oggetti, selezionate la casella di controllo a sinistra dei nomi degli oggetti che desiderate copiare.

  6. Nel menu Actions (Operazioni) scegliere Copy (Copia).

    Viene visualizzata la pagina Copia.

  7. In Destinazione, scegli Directory bucket per il tipo di destinazione. Per specificare il percorso di destinazione, scegli Browse S3, vai alla destinazione, quindi scegli il pulsante di opzione a sinistra della destinazione. Seleziona Choose destination (Scegli destinazione) nell'angolo in basso a destra.

    In alternativa, immettere il percorso di destinazione.

  8. In Checksum, scegli se vuoi copiare gli oggetti con le loro funzioni di checksum esistenti o sostituire le funzioni di checksum esistenti con una nuova. Al momento del caricamento degli oggetti hai la possibilità di specificare l'algoritmo di checksum utilizzato per verificare l'integrità dei dati. Quando effettui la copia dell'oggetto hai la possibilità di scegliere una nuova funzione. Se originariamente non specificate un checksum aggiuntivo, potete utilizzare la sezione Checksum per aggiungerne uno.

    Nota

    Anche se scegli di utilizzare la stessa funzione di checksum, il valore del checksum potrebbe cambiare se l'oggetto ha una dimensione superiore a 16 MB. Il valore del checksum potrebbe cambiare a causa del modo in cui vengono calcolati i checksum per i caricamenti in più parti. Per ulteriori informazioni su come potrebbe cambiare il checksum durante la copia dell'oggetto, consulta Utilizzo di checksum a livello di parte per caricamenti in più parti.

    Per modificare la funzione di checksum, scegli Replace with a new checksum function (Sostituisci con una nuova funzione di checksum). Scegliete la nuova funzione di checksum dall'elenco a discesa. Quando l'oggetto viene copiato, il nuovo checksum viene calcolato e memorizzato utilizzando l'algoritmo specificato.

  9. Scegli Copy (Copia) nell'angolo in basso a destra. Amazon S3 copia gli oggetti nella destinazione.

Per copiare un oggetto da un bucket di directory in un bucket per uso generico
  1. Accedi 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. Scegli la scheda Directory buckets.

  4. Scegli il bucket di directory che contiene gli oggetti che desideri copiare.

  5. Scegli la scheda Objects (Oggetti). Nella pagina Oggetti, selezionate la casella di controllo a sinistra dei nomi degli oggetti che desiderate copiare.

  6. Nel menu Actions (Operazioni) scegliere Copy (Copia).

  7. In Destinazione, scegli Secchiello per uso generico per il tipo di destinazione. Per specificare il percorso di destinazione, scegli Browse S3, vai alla destinazione e scegli il pulsante di opzione a sinistra della destinazione. Seleziona Choose destination (Scegli destinazione) nell'angolo in basso a destra.

    In alternativa, immettere il percorso di destinazione.

  8. In Checksum, scegli se vuoi copiare gli oggetti con le loro funzioni di checksum esistenti o sostituire le funzioni di checksum esistenti con una nuova. Al momento del caricamento degli oggetti hai la possibilità di specificare l'algoritmo di checksum utilizzato per verificare l'integrità dei dati. Quando effettui la copia dell'oggetto hai la possibilità di scegliere una nuova funzione. Se originariamente non avete specificato un checksum aggiuntivo, potete utilizzare la sezione Checksums per aggiungerne uno.

    Nota

    Anche se scegli di utilizzare la stessa funzione di checksum, il valore del checksum potrebbe cambiare se l'oggetto ha una dimensione superiore a 16 MB. Il valore del checksum potrebbe cambiare a causa del modo in cui vengono calcolati i checksum per i caricamenti in più parti. Per ulteriori informazioni su come potrebbe cambiare il checksum durante la copia dell'oggetto, consulta Utilizzo di checksum a livello di parte per caricamenti in più parti.

    Per modificare la funzione di checksum, scegli Replace with a new checksum function (Sostituisci con una nuova funzione di checksum). Scegliete la nuova funzione di checksum dall'elenco a discesa. Quando l'oggetto viene copiato, il nuovo checksum viene calcolato e memorizzato utilizzando l'algoritmo specificato.

  9. Scegli Copy (Copia) nell'angolo in basso a destra. Amazon S3 copia gli oggetti nella destinazione.

SDK for Java 2.x
public static void copyBucketObject (S3Client s3, String sourceBucket, String objectKey, String targetBucket) { CopyObjectRequest copyReq = CopyObjectRequest.builder() .sourceBucket(sourceBucket) .sourceKey(objectKey) .destinationBucket(targetBucket) .destinationKey(objectKey) .build(); String temp = ""; try { CopyObjectResponse copyRes = s3.copyObject(copyReq); System.out.println("Successfully copied " + objectKey +" from bucket " + sourceBucket +" into bucket "+targetBucket); } catch (S3Exception e) { System.err.println(e.awsErrorDetails().errorMessage()); System.exit(1); } }

Il comando di copy-object esempio seguente mostra come è possibile utilizzare AWS CLI per copiare un oggetto da un bucket a un altro bucket. È possibile copiare oggetti tra tipi di bucket. Per eseguire questo comando, sostituisci i segnaposto di input dell'utente con le tue informazioni.

aws s3api copy-object --copy-source bucket SOURCE_BUCKET/SOURCE_KEY_NAME --key TARGET_KEY_NAME --bucket TARGET_BUCKET_NAME

Per ulteriori informazioni, consulta la sezione copy-object nella Documentazione di riferimento della AWS CLI .