Copiare oggetti da o verso 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à.

Copiare oggetti da o verso 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 di caricamento API in più parti. 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 CopyObjectnell'Amazon Simple Storage Service API Reference.

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 almeno sulla crittografia lato server con chiavi gestite di Amazon S3 (-S3). SSE

Per i bucket di directory, sono supportate SSE -S3 e la crittografia lato server con () chiavi (-). AWS Key Management Service AWS KMS SSE KMS Quando il bucket di destinazione è un bucket di directory, si consiglia che la crittografia predefinita del bucket di destinazione utilizzi la configurazione di crittografia desiderata e di non sovrascrivere la crittografia predefinita del bucket. Quindi, i nuovi oggetti vengono crittografati automaticamente con le impostazioni di crittografia desiderate. Inoltre, quando si copiano SSE oggetti KMS crittografati da bucket generici a bucket di directory, da bucket di directory a bucket di directory, da bucket di directory a bucket generici o tra bucket di directory, tramite CopyObject. In questo caso, Amazon S3 effettua una chiamata AWS KMS ogni volta che viene effettuata una richiesta di copia per un oggetto KMS crittografato. Per ulteriori informazioni sui comportamenti di sovrascrittura della crittografia nei bucket di directory, consulta Specificare la crittografia lato server con per il caricamento di nuovi oggetti. AWS KMS

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

Se si effettua una richiesta di copia che specifica di utilizzare DSSE - KMS o SSE -C per un bucket di directory (il bucket di origine o di destinazione), la risposta restituisce un errore.

Tag

I bucket di directory non supportano i tag. Se copi un oggetto con tag da un bucket generico a un bucket di directory, ricevi una risposta. HTTP 501 (Not Implemented) Per ulteriori informazioni, consulta CopyObjectnell'Amazon Simple Storage Service API Reference.

ETags

I tag di entità (ETags) 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. È possibile selezionare uno dei seguenti algoritmi di controllo dell'integrità dei dati Secure Hash Algorithms (SHA) o Cyclic Redundancy Check (CRC):,, -1 e -256. CRC32 CRC32C SHA SHA MD5i checksum basati 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. Differenze per i bucket di directory

Nota

Le restrizioni e le limitazioni quando copi un oggetto in un bucket di directory con la console sono le seguenti:

  • L'Copyazione si applica a tutti gli oggetti all'interno delle cartelle specificate (prefissi). Gli oggetti aggiunti a queste cartelle mentre l'azione è in corso potrebbero risentirne.

  • Gli oggetti crittografati con le chiavi di crittografia fornite dal cliente (SSE-C) non possono essere copiati utilizzando la console S3. Per copiare oggetti crittografati con SSE -C, usa AWS CLI AWS SDK, o Amazon REST API S3.

  • Gli oggetti copiati non manterranno le impostazioni Object Lock degli oggetti originali.

  • Se il bucket da cui state copiando gli oggetti utilizza l'impostazione imposta dal proprietario del bucket per S3 Object Ownership, l'oggetto non ACLs verrà copiato nella destinazione specificata.

  • Se desideri copiare oggetti in un bucket che utilizza l'impostazione forzata del proprietario del bucket per S3 Object Ownership, assicurati che il bucket di origine utilizzi anche l'impostazione forzata del proprietario del bucket o rimuovi eventuali concessioni di oggetti ad altri account e gruppi. ACL AWS

  • Gli oggetti copiati da un bucket generico a un bucket di directory non conserveranno i tag degli oggetti o i valori Etag. ACLs I valori di checksum possono essere copiati, ma non sono equivalenti a un Etag. Il valore del checksum può cambiare rispetto a quando è stato aggiunto.

  • Tutti gli oggetti copiati in un bucket di directory avranno l'impostazione imposta dal proprietario del bucket per S3 Object Ownership.

Per copiare un oggetto da un bucket generico o da un bucket di directory a un bucket di directory
  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. 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 Impostazioni di copia aggiuntive, scegli se desideri copiare le impostazioni di origine, Non specificare le impostazioni o Specificare le impostazioni. Copia le impostazioni di origine è l'opzione predefinita. Se desiderate copiare solo l'oggetto senza gli attributi delle impostazioni di origine, scegliete Non specificare le impostazioni. Scegliete Specificate impostazioni per specificare le impostazioni per la crittografia, i checksum e i metadati sul lato server.

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

Nota

Le restrizioni e le limitazioni quando copi un oggetto in un bucket generico con la console sono le seguenti:

  • L'Copyazione si applica a tutti gli oggetti all'interno delle cartelle specificate (prefissi). Gli oggetti aggiunti a queste cartelle mentre l'azione è in corso potrebbero risentirne.

  • Gli oggetti crittografati con le chiavi di crittografia fornite dal cliente (SSE-C) non possono essere copiati utilizzando la console S3. Per copiare oggetti crittografati con SSE -C, usa AWS CLI AWS SDK, o Amazon REST API S3.

  • Gli oggetti copiati non manterranno le impostazioni Object Lock degli oggetti originali.

  • Se il bucket da cui state copiando gli oggetti utilizza l'impostazione imposta dal proprietario del bucket per S3 Object Ownership, l'oggetto non ACLs verrà copiato nella destinazione specificata.

  • Se desideri copiare oggetti in un bucket che utilizza l'impostazione forzata del proprietario del bucket per S3 Object Ownership, assicurati che il bucket di origine utilizzi anche l'impostazione forzata del proprietario del bucket o rimuovi eventuali concessioni di oggetti ad altri account e gruppi. ACL AWS

Per copiare un oggetto da un bucket di directory in un bucket per uso generico
  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. 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 Impostazioni di copia aggiuntive, scegli se desideri copiare le impostazioni di origine, Non specificare le impostazioni o Specificare le impostazioni. Copia le impostazioni di origine è l'opzione predefinita. Se desiderate copiare solo l'oggetto senza gli attributi delle impostazioni di origine, scegliete Non specificare le impostazioni. Scegliete Specificate impostazioni per specificare le impostazioni per la classe di archiviazioneACLs, i tag degli oggetti, i metadati, la crittografia lato server e i checksum aggiuntivi.

  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 SOURCE_BUCKET/SOURCE_KEY_NAME --key TARGET_KEY_NAME --bucket TARGET_BUCKET_NAME

Per ulteriori informazioni, consulta copy-objectnel AWS CLI Command Reference.