Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
CopyObject (SOAP-API)
Anmerkung
SOAP APIs für Amazon S3 sind für Neukunden nicht verfügbar und nähern sich am 31. August 2025 dem Ende des Lebenszyklus (EOL). Wir empfehlen, entweder die REST-API oder die AWS SDKs zu verwenden.
Description
Der CopyObject Vorgang erstellt eine Kopie eines Objekts, wenn Sie den Schlüssel und den Bucket eines Quellobjekts sowie den Schlüssel und den Bucket eines Zielziels angeben.
Beim Kopieren eines Objekts können Sie alle Metadaten beibehalten (Standard) oder neue Metadaten angeben. Die ACL wird jedoch nicht beibehalten und ist private für den Benutzer, der die Anfrage stellt, auf gesetzt. Um die ACL-Standardeinstellung außer Kraft zu setzen, geben Sie beim Generieren einer Kopieranforderung eine neue ACL an. Weitere Informationen finden Sie unter Verwendung von ACLs.
Alle Kopieranfragen müssen authentifiziert werden. Darüber hinaus müssen Sie Lesezugriff auf das Quellobjekt und Schreibzugriff auf den Ziel-Bucket haben. Weitere Informationen finden Sie unter Verwenden des Authentifizierungszugriffs.
Um ein Objekt nur unter bestimmten Bedingungen zu kopieren, z. B. ob das Etag übereinstimmt oder ob das Objekt vor oder nach einem bestimmten Datum geändert wurde, verwenden Sie die AnforderungsparameterCopySourceIfUnmodifiedSince, CopyIfUnmodifiedSinceCopySourceIfMatch, oderCopySourceIfNoneMatch.
Anmerkung
Möglicherweise müssen Sie das SOAP-Stack-Socket-Timeout für das Kopieren großer Objekte konfigurieren.
Anforderungssyntax
<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>
Anforderungsparameter
| Name | Description | Erforderlich |
|---|---|---|
SourceBucket
|
Der Name des Quell-Buckets. Typ: Zeichenfolge Standard: keiner Einschränkungen: Ein gültiger Quell-Bucket. |
Ja |
SourceKey
|
Der Schlüsselname des Quellobjekts. Typ: Zeichenfolge Standard: keiner Einschränkungen: Der Schlüssel für ein gültiges Quellobjekt, auf das Sie LESE-Zugriff haben. |
Ja |
DestinationBucket
|
Der Name des -Ziel-Buckets. Typ: Zeichenfolge Standard: keiner Einschränkungen: Sie müssen WRITE-Zugriff auf den Ziel-Bucket haben. |
Ja |
DestinationKey
|
Der Schlüssel des Zielobjekts. Typ: Zeichenfolge Standard: keiner Einschränkungen: Sie müssen WRITE-Zugriff auf den Ziel-Bucket haben. |
Ja |
MetadataDirective
|
Gibt an, ob die Metadaten aus dem Quellobjekt kopiert oder durch die in der Anforderung bereitgestellten Metadaten ersetzt werden. Typ: Zeichenfolge Standard: COPY Gültige Werte: COPY | REPLACE Einschränkungen: Andere Werte als |
Nein |
Metadata
|
Gibt Metadaten-Name-Wert-Paare an, die für das Objekt festgelegt werden sollen. Wenn auf gesetzt MetadataDirective ist Typ: Zeichenfolge Standard: keiner Einschränkungen: Keine. |
Nein |
AccessControlList
|
Gewährt Benutzern Zugriff über E-Mail-Adressen oder kanonische Benutzer-IDs. Typ: Zeichenfolge Standard: keiner Einschränkungen: Keine |
Nein |
CopySourceIfMatch
|
Kopiert das Objekt, wenn sein Entitäts-Tag (ETag) mit dem angegebenen Tag übereinstimmt; gibt andernfalls a zurück. PreconditionFailed Typ: Zeichenfolge Standard: keiner Einschränkungen: Keine. Wenn das Etag nicht übereinstimmt, wird das Objekt nicht kopiert. |
Nein |
CopySourceIfNoneMatch
|
Kopiert das Objekt, wenn sein Entitäts-Tag (ETag) vom angegebenen Etag abweicht; andernfalls wird ein Fehler zurückgegeben. Typ: Zeichenfolge Standard: keiner Einschränkungen: Keine. |
Nein |
CopySourceIfUnmodifiedSince
|
Kopiert das Objekt, wenn es seit der angegebenen Zeit nicht geändert wurde; andernfalls wird ein zurückgegeben PreconditionFailed. Typ: DateTime Standard: keiner |
Nein |
CopySourceIfModifiedSince
|
Kopiert das Objekt, wenn es seit dem angegebenen Zeitpunkt geändert wurde; andernfalls wird ein Fehler zurückgegeben. Typ: DateTime Standard: keiner |
Nein |
Antwortsyntax
<CopyObjectResponse xmlns="http://bucket_name.s3.amazonaws.com/2006-03-01"> <CopyObjectResponse> <ETag>"etag"</ETag> <LastModified>timestamp</LastModified> </CopyObjectResponse> </CopyObjectResponse>
Antwortelemente
Im Folgenden finden Sie eine Liste der Antwortelemente.
Anmerkung
Die SOAP-API gibt kein zusätzliches Leerzeichen zurück. Zusätzliche Leerzeichen werden nur von der REST-API zurückgegeben.
| Name | Description |
|---|---|
Etag
|
Gibt das Etag des neuen Objekts zurück. Das ETag spiegelt nur Änderungen am Inhalt eines Objekts wider, nicht an seinen Metadaten. Typ: Zeichenfolge Vorfahr: CopyObjectResult |
LastModified
|
Gibt das Datum zurück, an dem das Objekt zuletzt geändert wurde. Typ: Zeichenfolge Vorfahr: CopyObjectResult |
Informationen zu allgemeinen Antwortelementen finden Sie unter Verwenden von REST-Fehlerantwort-Headern.
Spezielle Fehler
Für diesen Vorgang gibt es keine speziellen Fehler. Informationen zu allgemeinen Amazon S3-Fehlern finden Sie unterListe der Fehlercodes.
Beispiele
Dieses Beispiel kopiert das flotsam-Objekt aus dem pacific-Bucket in das jetsam-Objekt des atlantic-Buckets, wobei seine Metadaten beibehalten werden.
Beispielanforderung
<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>
Beispielantwort
<CopyObjectResponse xmlns="http://doc.s3.amazonaws.com/2006-03-01"> <CopyObjectResponse> <ETag>"828ef3fdfa96f00ad9f27c383fc9ac7f"</ETag> <LastModified>2008-02-18T13:54:10.183Z</LastModified> </CopyObjectResponse> </CopyObjectResponse>
In diesem Beispiel wird das Objekt „tweedledee“ aus dem Wonderland-Bucket in das „Tweedledum“ -Objekt des Wonderland-Buckets kopiert und die zugehörigen Metadaten ersetzt.
Beispielanforderung
<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>
Beispielantwort
<CopyObjectResponse xmlns="http://doc.s3.amazonaws.com/2006-03-01"> <CopyObjectResponse> <ETag>"828ef3fdfa96f00ad9f27c383fc9ac7f"</ETag> <LastModified>2008-02-18T13:54:10.183Z</LastModified> </CopyObjectResponse> </CopyObjectResponse>