View a markdown version of this page

CopyObject (API SOAP) - 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à.

CopyObject (API SOAP)

Nota

Le API SOAP per Amazon S3 non sono disponibili per i nuovi clienti, con la fine del ciclo di vita prevista per il 31 agosto 2025. Ti consigliamo di utilizzare l'API REST o gli AWS SDK.

Description

L'CopyObjectoperazione crea una copia di un oggetto quando si specificano la chiave e il bucket di un oggetto sorgente e la chiave e il bucket di una destinazione di destinazione.

Quando si copia un oggetto, è possibile conservare tutti i metadati (impostazione predefinita) o specificarne di nuovi. Tuttavia, l'ACL non viene conservato ed è impostato private per l'utente che effettua la richiesta. Per sovrascrivere l'impostazione ACL predefinita, specifica un nuovo ACL quando generi una richiesta di copia. Per ulteriori informazioni, consulta Gestione degli accessi con le ACL.

Tutte le richieste di copia devono essere autenticate. Inoltre, è necessario disporre dell'accesso in lettura all'oggetto sorgente e dell'accesso in scrittura al bucket di destinazione. Per ulteriori informazioni, vedere Utilizzo dell'accesso di autenticazione.

Per copiare un oggetto solo in determinate condizioni, ad esempio se l'Etag corrisponde o se l'oggetto è stato modificato prima o dopo una data specificata, usa i parametri di richiestaCopySourceIfUnmodifiedSince, CopyIfUnmodifiedSinceCopySourceIfMatch, o. CopySourceIfNoneMatch

Nota

Potrebbe essere necessario configurare il timeout del socket dello stack SOAP per copiare oggetti di grandi dimensioni.

Sintassi della richiesta

<CopyObject xmlns="http://bucket_name.s3.amazonaws.com/2006-03-01"> <SourceBucket>source_bucket</SourceBucket> <SourceObject>source_object</SourceObject> <DestinationBucket>destination_bucket</DestinationBucket> <DestinationObject>destination_object</DestinationObject> <MetadataDirective>{REPLACE | COPY}</MetadataDirective> <Metadata> <Name>metadata_name</Name> <Value>metadata_value</Value> </Metadata> ... <AccessControlList> <Grant> <Grantee xsi:type="user_type"> <ID>user_id</ID> <DisplayName>display_name</DisplayName> </Grantee> <Permission>permission</Permission> </Grant> ... </AccessControlList> <CopySourceIfMatch>etag</CopySourceIfMatch> <CopySourceIfNoneMatch>etag</CopySourceIfNoneMatch> <CopySourceIfModifiedSince>date_time</CopySourceIfModifiedSince> <CopySourceIfUnmodifiedSince>date_time</CopySourceIfUnmodifiedSince> <AWSAccessKeyId>AWSAccessKeyId</AWSAccessKeyId> <Timestamp>TimeStamp</Timestamp> <Signature>Signature</Signature> </CopyObject>

Parametri della richiesta

Nome Description Richiesto
SourceBucket

Il nome del bucket di origine.

Tipo: stringa

Impostazione predefinita: nessuna

Vincoli: un bucket di origine valido.

SourceKey

Il nome chiave dell'oggetto sorgente.

Tipo: stringa

Impostazione predefinita: nessuna

Vincoli: la chiave per un oggetto sorgente valido a cui si dispone dell'accesso in LETTURA.

DestinationBucket

Nome del bucket di destinazione.

Tipo: stringa

Impostazione predefinita: nessuna

Vincoli: è necessario disporre dell'accesso WRITE al bucket di destinazione.

DestinationKey

La chiave dell'oggetto di destinazione.

Tipo: stringa

Impostazione predefinita: nessuna

Vincoli: è necessario disporre dell'accesso WRITE al bucket di destinazione.

MetadataDirective

Specifica se i metadati vengono copiati dall'oggetto di origine o sostituiti con i metadati forniti nella richiesta.

Tipo: stringa

Predefinito: COPY

Valori validi: COPY | REPLACE

Vincoli: valori diversi COPY o REPLACE genereranno un errore immediato. Non è possibile copiare un oggetto su se stesso a meno che l' MetadataDirective intestazione non sia specificata e il relativo valore impostato su. REPLACE

No
Metadata

Specifica le coppie nome-valore dei metadati da impostare per l'oggetto. Se MetadataDirective è impostato su, tutti i metadati vengono ignorati. COPY

Tipo: stringa

Impostazione predefinita: nessuna

Vincoli: nessuno.

No
AccessControlList

Consente l'accesso agli utenti tramite indirizzi e-mail o ID utente canonico.

Tipo: stringa

Impostazione predefinita: nessuna

Vincoli: nessuno

No
CopySourceIfMatch

Copia l'oggetto se il relativo tag di entità (ETag) corrisponde al tag specificato; altrimenti restituisce un. PreconditionFailed

Tipo: stringa

Impostazione predefinita: nessuna

Vincoli: nessuno. Se l'Etag non corrisponde, l'oggetto non viene copiato.

No
CopySourceIfNoneMatch

Copia l'oggetto se il relativo tag di entità (ETag) è diverso dall'Etag specificato; altrimenti restituisce un errore.

Tipo: stringa

Impostazione predefinita: nessuna

Vincoli: nessuno.

No
CopySourceIfUnmodifiedSince

Copia l'oggetto se non è stato modificato dall'ora specificata; altrimenti restituisce un PreconditionFailed.

Tipo: DateTime

Impostazione predefinita: nessuna

No
CopySourceIfModifiedSince

Copia l'oggetto se è stato modificato dall'ora specificata; altrimenti restituisce un errore.

Tipo: DateTime

Impostazione predefinita: nessuna

No

Sintassi della risposta

<CopyObjectResponse xmlns="http://bucket_name.s3.amazonaws.com/2006-03-01"> <CopyObjectResponse> <ETag>"etag"</ETag> <LastModified>timestamp</LastModified> </CopyObjectResponse> </CopyObjectResponse>

Elementi di risposta

Di seguito è riportato un elenco di elementi di risposta.

Nota

L'API SOAP non restituisce spazi bianchi aggiuntivi. Gli spazi bianchi aggiuntivi vengono restituiti solo dall'API REST.

Nome Description
Etag

Restituisce l'etag del nuovo oggetto. L'ETag riflette solo le modifiche al contenuto di un oggetto, non i suoi metadati.

Tipo: stringa

Antenato: CopyObjectResult

LastModified

Restituisce la data dell'ultima modifica dell'oggetto.

Tipo: stringa

Antenato: CopyObjectResult

Per informazioni sugli elementi di risposta generali, vedere Utilizzo delle intestazioni di risposta agli errori REST.

Errori speciali

Non ci sono errori speciali per questa operazione. Per informazioni sugli errori generali di Amazon S3, consultaElenco dei codici di errore.

Esempi

In questo esempio viene copiato l'oggetto flotsam dal bucket pacific all'oggetto jetsam del bucket atlantic conservandone i metadata.

Richiesta di esempio

<CopyObject xmlns="http://doc.s3.amazonaws.com/2006-03-01"> <SourceBucket>pacific</SourceBucket> <SourceObject>flotsam</SourceObject> <DestinationBucket>atlantic</DestinationBucket> <DestinationObject>jetsam</DestinationObject> <AWSAccessKeyId>AKIAIOSFODNN7EXAMPLE</AWSAccessKeyId> <Timestamp>2008-02-18T13:54:10.183Z</Timestamp> <Signature>Iuyz3d3P0aTou39dzbq7RrtSFmw=</Signature> </CopyObject>

Risposta di esempio

<CopyObjectResponse xmlns="http://doc.s3.amazonaws.com/2006-03-01"> <CopyObjectResponse> <ETag>"828ef3fdfa96f00ad9f27c383fc9ac7f"</ETag> <LastModified>2008-02-18T13:54:10.183Z</LastModified> </CopyObjectResponse> </CopyObjectResponse>

Questo esempio copia l'oggetto «tweedledee» dal bucket Wonderland all'oggetto «tweedledum» del bucket Wonderland, sostituendone i metadati.

Richiesta di esempio

<CopyObject xmlns="http://doc.s3.amazonaws.com/2006-03-01"> <SourceBucket>wonderland</SourceBucket> <SourceObject>tweedledee</SourceObject> <DestinationBucket>wonderland</DestinationBucket> <DestinationObject>tweedledum</DestinationObject> <MetadataDirective >REPLACE</MetadataDirective > <Metadata> <Name>Content-Type</Name> <Value>text/plain</Value> </Metadata> <Metadata> <Name>relationship</Name> <Value>twins</Value> </Metadata> <AWSAccessKeyId>AKIAIOSFODNN7EXAMPLE</AWSAccessKeyId> <Timestamp>2008-02-18T13:54:10.183Z</Timestamp> <Signature>Iuyz3d3P0aTou39dzbq7RrtSFmw=</Signature> </CopyObject>

Risposta di esempio

<CopyObjectResponse xmlns="http://doc.s3.amazonaws.com/2006-03-01"> <CopyObjectResponse> <ETag>"828ef3fdfa96f00ad9f27c383fc9ac7f"</ETag> <LastModified>2008-02-18T13:54:10.183Z</LastModified> </CopyObjectResponse> </CopyObjectResponse>

Risorse correlate