View a markdown version of this page

CopyObject (SOAP-API) - Amazon Simple Storage Service

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 COPY oder REPLACE führen zu einem sofortigen Fehler. Sie können ein Objekt nur in sich selbst kopieren, wenn der MetadataDirective Header angegeben und sein Wert auf gesetzt istREPLACE.

Nein
Metadata

Gibt Metadaten-Name-Wert-Paare an, die für das Objekt festgelegt werden sollen. Wenn auf gesetzt MetadataDirective istCOPY, werden alle Metadaten ignoriert.

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>

Verwandte Ressourcen