

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# CopyObject (API SOAP)
<a name="SOAPCopyObject"></a>

**Note**  
 Les SOAP API pour Amazon S3 ne sont pas disponibles pour les nouveaux clients. Leur fin de vie est prévue le 31 août 2025. Nous vous recommandons d'utiliser l'API REST ou les AWS SDK. 

## Description
<a name="SOAPCopyObject_Description"></a>

L'`CopyObject`opération crée une copie d'un objet lorsque vous spécifiez la clé et le compartiment d'un objet source et la clé et le compartiment d'une destination cible. 

Lorsque vous copiez un objet, vous pouvez conserver toutes les métadonnées (par défaut) ou spécifier de nouvelles métadonnées. Cependant, l'ACL n'est pas conservée et est configurée `private` pour l'utilisateur qui fait la demande. Pour modifier le paramètre ACL par défaut, spécifiez une nouvelle ACL lors de la génération d'une demande de copie. Pour de plus amples informations, veuillez consulter [Utilisation des listes ACL](https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3_ACLs_UsingACLs.html).

Toutes les demandes de copie doivent être authentifiées. En outre, vous devez disposer d'*un accès en * lecture à l'objet source et d'un * accès en * écriture au compartiment de destination. Pour plus d'informations, consultez la section [ Utilisation de Auth Access](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html). 

Pour copier un objet uniquement sous certaines conditions, par exemple si l'Etag correspond ou si l'objet a été modifié avant ou après une date spécifiée, utilisez les paramètres de requête`CopySourceIfUnmodifiedSince`, `CopyIfUnmodifiedSince``CopySourceIfMatch`, ou`CopySourceIfNoneMatch`. 

**Note**  
 Vous devrez peut-être configurer le délai d'expiration du socket de la pile SOAP pour copier des objets volumineux. 

## Syntaxe de la requête
<a name="SOAPCopyObject_RequestSyntax"></a>

```
 1. <CopyObject xmlns="http://bucket_name.s3.amazonaws.com/2006-03-01">
 2.   <SourceBucket>source_bucket</SourceBucket>
 3.   <SourceObject>source_object</SourceObject>
 4.   <DestinationBucket>destination_bucket</DestinationBucket>
 5.   <DestinationObject>destination_object</DestinationObject>
 6.   <MetadataDirective>{REPLACE | COPY}</MetadataDirective>
 7.   <Metadata>
 8.     <Name>metadata_name</Name>
 9.     <Value>metadata_value</Value>
10.   </Metadata>
11.   ...
12.   <AccessControlList>
13.     <Grant>
14.       <Grantee xsi:type="user_type">
15.         <ID>user_id</ID>
16.         <DisplayName>display_name</DisplayName>
17.       </Grantee>
18.       <Permission>permission</Permission>
19.     </Grant>
20.     ...
21.   </AccessControlList>
22.   <CopySourceIfMatch>etag</CopySourceIfMatch>
23.   <CopySourceIfNoneMatch>etag</CopySourceIfNoneMatch>
24.   <CopySourceIfModifiedSince>date_time</CopySourceIfModifiedSince>
25.   <CopySourceIfUnmodifiedSince>date_time</CopySourceIfUnmodifiedSince>
26.   <AWSAccessKeyId>AWSAccessKeyId</AWSAccessKeyId>
27.   <Timestamp>TimeStamp</Timestamp>
28.   <Signature>Signature</Signature>
29. </CopyObject>
```

## Paramètres de demande
<a name="SOAPCopyObject_RequestParameters"></a>


|  Nom  |  Description  |  Obligatoire  | 
| --- | --- | --- | 
|  SourceBucket  | Le nom du compartiment source.<br />Type : Chaîne<br />Par défaut : aucun<br />Contraintes : compartiment source valide. |  Oui  | 
|  SourceKey  | Le nom clé de l'objet source.<br />Type : Chaîne<br />Par défaut : aucun<br />Contraintes : clé d'un objet source valide auquel vous avez un accès READ. |  Oui  | 
|  DestinationBucket  | Nom du compartiment de destination.<br />Type : Chaîne<br />Par défaut : aucun<br />Contraintes : vous devez disposer d'un accès WRITE au compartiment de destination. |  Oui  | 
|  DestinationKey  |  La clé de l'objet de destination.<br />Type : Chaîne<br />Par défaut : aucun<br />Contraintes : vous devez disposer d'un accès WRITE au compartiment de destination. |  Oui  | 
|  MetadataDirective  |  Spécifie si les métadonnées sont copiées depuis l'objet source ou remplacées par les métadonnées fournies dans la demande.<br />Type : Chaîne<br />Par défaut : COPIER<br />Valeurs valides : COPIER \| REMPLACER<br />Contraintes : les valeurs autres que `COPY` ou `REPLACE` qui entraîneront une erreur immédiate. Vous ne pouvez pas copier un objet sur lui-même à moins que l' MetadataDirective en-tête ne soit spécifié et que sa valeur ne soit définie sur`REPLACE`. |  Non  | 
|  Metadata  |  Spécifie les paires nom-valeur des métadonnées à définir pour l'objet. Si cette valeur MetadataDirective est définie sur`COPY`, toutes les métadonnées sont ignorées.<br />Type : Chaîne<br />Par défaut : aucun<br />Contraintes : Aucune. |  Non  | 
|  AccessControlList  | Accorde l'accès aux utilisateurs par adresse e-mail ou identifiant utilisateur canonique.<br />Type : Chaîne<br />Par défaut : aucun<br />Contraintes: Aucune |  Non  | 
|  CopySourceIfMatch  | Copie l'objet si sa balise d'entité (ETag) correspond à la balise spécifiée ; sinon, renvoie un PreconditionFailed.<br />Type : Chaîne<br />Par défaut : aucun<br />Contraintes : Aucune. Si l'Etag ne correspond pas, l'objet n'est pas copié. |  Non  | 
|  CopySourceIfNoneMatch  | Copie l'objet si sa balise d'entité (ETag) est différente de l'Etag spécifié ; sinon, renvoie une erreur.<br />Type : Chaîne<br />Par défaut : aucun<br />Contraintes : Aucune.  |  Non  | 
|  CopySourceIfUnmodifiedSince  |  Copie l'objet s'il n'a pas été modifié depuis l'heure spécifiée ; sinon, renvoie un PreconditionFailed.<br />Type : DateTime<br />Par défaut : aucun |  Non  | 
|  CopySourceIfModifiedSince  | Copie l'objet s'il a été modifié depuis l'heure spécifiée ; sinon, renvoie une erreur.<br />Type : DateTime<br />Par défaut : aucun |  Non  | 

## Syntaxe de la réponse
<a name="SOAPCopyObject_ResponseSyntax"></a>

```
1. <CopyObjectResponse xmlns="http://bucket_name.s3.amazonaws.com/2006-03-01">
2.   <CopyObjectResponse>
3.     <ETag>"etag"</ETag>
4.     <LastModified>timestamp</LastModified>
5.   </CopyObjectResponse>
6. </CopyObjectResponse>
```

## Eléments de réponse
<a name="SOAPCopyObject_CommonResponseElements"></a>

Voici une liste des éléments de réponse.

**Note**  
 L'API SOAP ne renvoie pas d'espace blanc supplémentaire. Les espaces supplémentaires ne sont renvoyés que par l'API REST. 


|  Nom  |  Description  | 
| --- | --- | 
|  Etag  | Renvoie l'etag du nouvel objet. L'ETag reflète uniquement les modifications apportées au contenu d'un objet, pas à ses métadonnées.<br />Type : Chaîne<br />Ancêtre : CopyObjectResult | 
|  LastModified  | Renvoie la date à laquelle l'objet a été modifié pour la dernière fois.<br />Type : Chaîne<br />Ancêtre : CopyObjectResult | 

Pour plus d'informations sur les éléments de réponse généraux, consultez la section [ Utilisation des en-têtes ](https://docs.aws.amazon.com/AmazonS3/latest/userguide/HandlingErrors.html#UsingRESTErrorResponseHeaders) de réponse aux erreurs REST.

## Erreurs spéciales
<a name="SOAPCopyObject_SpecialErrors"></a>

Il n'y a pas d'erreur particulière pour cette opération. Pour plus d'informations sur les erreurs générales d'Amazon S3, consultez[Liste des codes d'erreur](ErrorResponses.md#ErrorCodeList).

## Exemples
<a name="SOAPCopyObject_Examples"></a>

L’exemple copie l’objet `flotsam` du compartiment `pacific` vers l’objet `jetsam` du compartiment `atlantic`, en préservant les métadonnées.

### Exemple de demande
<a name="SOAPCopyObject_Examples_Request1"></a>

```
1. <CopyObject xmlns="http://doc.s3.amazonaws.com/2006-03-01">
2.   <SourceBucket>pacific</SourceBucket>
3.   <SourceObject>flotsam</SourceObject>
4.   <DestinationBucket>atlantic</DestinationBucket>
5.   <DestinationObject>jetsam</DestinationObject>
6.   <AWSAccessKeyId>AKIAIOSFODNN7EXAMPLE</AWSAccessKeyId>
7.   <Timestamp>2008-02-18T13:54:10.183Z</Timestamp>
8.   <Signature>Iuyz3d3P0aTou39dzbq7RrtSFmw=</Signature>
9. </CopyObject>
```

### Exemple de réponse
<a name="SOAPCopyObject_Examples_Response1"></a>

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

Cet exemple copie l'objet « tweedledee » du compartiment Wonderland vers l'objet « tweedledum » du bucket Wonderland, en remplaçant ses métadonnées.

### Exemple de demande
<a name="SOAPCopyObject_Examples_Request2"></a>

```
 1. <CopyObject xmlns="http://doc.s3.amazonaws.com/2006-03-01">
 2.   <SourceBucket>wonderland</SourceBucket>
 3.   <SourceObject>tweedledee</SourceObject>
 4.   <DestinationBucket>wonderland</DestinationBucket>
 5.   <DestinationObject>tweedledum</DestinationObject>
 6.   <MetadataDirective >REPLACE</MetadataDirective >
 7.   <Metadata>
 8.     <Name>Content-Type</Name>
 9.     <Value>text/plain</Value>
10.   </Metadata>
11.   <Metadata>
12.     <Name>relationship</Name>
13.     <Value>twins</Value>
14.   </Metadata>
15.   <AWSAccessKeyId>AKIAIOSFODNN7EXAMPLE</AWSAccessKeyId>
16.   <Timestamp>2008-02-18T13:54:10.183Z</Timestamp>
17.   <Signature>Iuyz3d3P0aTou39dzbq7RrtSFmw=</Signature>
18. </CopyObject>
```

### Exemple de réponse
<a name="SOAPCopyObject_Examples_Response2"></a>

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

## Ressources connexes
<a name="SOAPCopyObject_RelatedResources"></a>
+  [PutObject (API SOAP)](SOAPPutObject.md) 
+  [PutObjectInline (API SOAP)](SOAPPutObjectInline.md) 