View a markdown version of this page

GetObject (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.

GetObject (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.

Die GetObject Operation gibt die aktuelle Version eines Objekts zurück. Wenn Sie versuchen, GetObject ein Objekt zu verwenden, dessen aktuelle Version eine Löschmarkierung enthält, gibt S3 einen 404-Fehler zurück. Sie können die SOAP-API nicht verwenden, um eine bestimmte Version eines Objekts abzurufen. Verwenden Sie dazu die REST-API. Weitere Informationen finden Sie unter Versionierung. Verwenden Sie die GetObjectExtended (SOAP-API) Operation, um weitere Optionen zu erhalten.

Anmerkung

Objektschlüsselnamen mit dem Wert „soap“ werden für Anfragen im virtuellen Hosting-Format nicht unterstützt. Für Werte von Objektschlüsselnamen, bei denen „soap“ verwendet wird, muss stattdessen eine URL im Pfadformat verwendet werden.

Beispiel

In diesem Beispiel wird das „Nelson“ -Objekt aus dem Bucket „quotes“ abgerufen.

Sample Request

<GetObject xmlns="https://doc.s3.amazonaws.com/2006-03-01"> <Bucket>quotes</Bucket> <Key>Nelson</Key> <GetMetadata>true</GetMetadata> <GetData>true</GetData> <InlineData>true</InlineData> <AWSAccessKeyId>AKIAIOSFODNN7EXAMPLE</AWSAccessKeyId> <Timestamp>2006-03-01T12:00:00.183Z</Timestamp> <Signature>Iuyz3d3P0aTou39dzbqaEXAMPLE=</Signature> </GetObject>

Sample Response

<GetObjectResponse xmlns="https://s3.amazonaws.com/doc/2006-03-01"> <GetObjectResponse> <Status> <Code>200</Code> <Description>OK</Description> </Status> <Metadata> <Name>Content-Type</Name> <Value>text/plain</Value> </Metadata> <Metadata> <Name>family</Name> <Value>Muntz</Value> </Metadata> <Data>aGEtaGE=</Data> <LastModified>2006-01-01T12:00:00.000Z</LastModified> <ETag>&quot;828ef3fdfa96f00ad9f27c383fc9ac7f&quot;</ETag> </GetObjectResponse> </GetObjectResponse>

Elemente

  • Bucket:Der Bucket, aus dem das Objekt abgerufen werden soll.

  • Key:Der Schlüssel, der das Objekt identifiziert.

  • GetMetadata:Die Metadaten werden zusammen mit dem Objekt zurückgegeben, wenn dies zutrifft.

  • GetData:Die Objektdaten werden zurückgegeben, wenn dies zutrifft.

  • InlineData:Wenn dies zutrifft, werden die Daten Base-64-kodiert als Teil des SOAP-Hauptteils der Antwort zurückgegeben. Wenn der Wert falsch ist, werden die Daten als SOAP-Anlage zurückgegeben. Die InlineData Option ist nicht für die Verwendung mit großen Objekten geeignet. Das System beschränkt diesen Vorgang auf die Arbeit mit 1 MB an Daten oder weniger. Eine GetObject Anfrage mit gesetztem InlineData Flag schlägt mit dem InlineDataTooLargeError Statuscode fehl, wenn der resultierende Datenparameter mehr als 1 MB codiert hätte. Um große Objekte herunterzuladen, sollten Sie erwägen, aufzurufen, GetObject ohne das InlineData Flag zu setzen, oder verwenden Sie stattdessen die REST-API.

Zurückgegebene Elemente

  • Metadata:Die mit dem Objekt gespeicherten Metadaten aus Name und Wert.

  • Data:Wenn in der Anfrage „true“ angegeben InlineData wurde, enthält dies die Basis-64-kodierten Objektdaten.

  • LastModified:Die Uhrzeit, zu der das Objekt in Amazon S3 gespeichert wurde.

  • ETag:Das Entitäts-Tag des Objekts. Dies ist ein Hash des Objekts, der für bedingte Abrufe verwendet werden kann. Das ETag spiegelt nur Änderungen am Inhalt eines Objekts wider, nicht an seinen Metadaten.

Zugriffskontrolle

Sie können ein Objekt nur lesen, wenn Ihnen READ Zugriff auf das Objekt gewährt wurde.

Aufgeteilte und wiederaufladbare SOAP-Downloads

Um GET Flexibilität zu gewährleisten, unterstützt Amazon S3 gestaffelte und wiederaufrufbare Downloads.

Wählen Sie aus den folgenden Optionen:

  • Bei großen Objektdownloads sollten Sie diese möglicherweise in kleinere Abschnitte aufteilen. Weitere Informationen finden Sie unter Bereich GETs.

  • Bei fehlgeschlagenen GET Vorgängen können Sie Ihre Anwendung so gestalten, dass der Rest und nicht die gesamte Datei heruntergeladen wird. Weitere Informationen finden Sie unter REST GET-Fehlerbehebung.

Bereich GETs

Bei einigen Clients möchten Sie möglicherweise große Downloads in kleinere Downloads aufteilen. Um ein GET in kleinere Einheiten aufzuteilen, verwenden Sie Range.

Bevor Sie ein GET in kleinere Einheiten aufteilen können, müssen Sie seine Größe bestimmen. Mit der folgenden Anforderung wird beispielsweise die Größe des Bigfile-Objekts abgerufen.

<ListBucket xmlns="https://doc.s3.amazonaws.com/2006-03-01"> <Bucket>bigbucket</Bucket> <Prefix>bigfile</Prefix> <MaxKeys>1</MaxKeys> <AWSAccessKeyId>AKIAIOSFODNN7EXAMPLE</AWSAccessKeyId> <Timestamp>2006-03-01T12:00:00.183Z</Timestamp> <Signature>Iuyz3d3P0aTou39dzbqaEXAMPLE=</Signature> </ListBucket>

Amazon S3 gibt die folgende Antwort zurück.

<ListBucketResult xmlns="https://s3.amazonaws.com/doc/2006-03-01"> <Name>quotes</Name> <Prefix>N</Prefix> <MaxKeys>1</MaxKeys> <IsTruncated>false</IsTruncated> <Contents> <Key>bigfile</Key> <LastModified>2006-01-01T12:00:00.000Z</LastModified> <ETag>&quot;828ef3fdfa96f00ad9f27c383fc9ac7f&quot;</ETag> <Size>2023276</Size> <StorageClass>STANDARD</StorageClass> <Owner> <ID>bcaf1ffd86f41161ca5fb16fd081034f</ID> <DisplayName>bigfile</DisplayName> </Owner> </Contents> </ListBucketResult>

Es folgt eine Anfrage, die das erste Megabyte aus dem Bigfile-Objekt herunterlädt.

<GetObject xmlns="https://doc.s3.amazonaws.com/2006-03-01"> <Bucket>bigbucket</Bucket> <Key>bigfile</Key> <GetMetadata>true</GetMetadata> <GetData>true</GetData> <InlineData>true</InlineData> <ByteRangeStart>0</ByteRangeStart> <ByteRangeEnd>1048576</ByteRangeEnd> <AWSAccessKeyId>AKIAIOSFODNN7EXAMPLE</AWSAccessKeyId> <Timestamp>2006-03-01T12:00:00.183Z</Timestamp> <Signature>Iuyz3d3P0aTou39dzbqaEXAMPLE=</Signature> </GetObject>

Amazon S3 gibt das erste Megabyte der Datei und das Etag der Datei zurück.

<GetObjectResponse xmlns="http://s3.amazonaws.com/doc/2006-03-01"> <GetObjectResponse> <Status> <Code>200</Code> <Description>OK</Description> </Status> <Metadata> <Name>Content-Type</Name> <Value>text/plain</Value> </Metadata> <Metadata> <Name>family</Name> <Value>Muntz</Value> </Metadata> <Data>--first megabyte of bigfile--</Data> <LastModified>2006-01-01T12:00:00.000Z</LastModified> <ETag>"828ef3fdfa96f00ad9f27c383fc9ac7f"</ETag> </GetObjectResponse> </GetObjectResponse>

Um sicherzustellen, dass sich die Datei seit dem Herunterladen des vorherigen Abschnitts nicht geändert hat, geben Sie das IfMatch Element an. Obwohl das IfMatch Element nicht erforderlich ist, wird es für Inhalte empfohlen, die sich wahrscheinlich ändern werden.

Die folgende Anforderung ruft mithilfe des IfMatch Anforderungsheaders den Rest der Datei ab.

<GetObject xmlns="https://doc.s3.amazonaws.com/2006-03-01"> <Bucket>bigbucket</Bucket> <Key>bigfile</Key> <GetMetadata>true</GetMetadata> <GetData>true</GetData> <InlineData>true</InlineData> <ByteRangeStart>10485761</ByteRangeStart> <ByteRangeEnd>2023276</ByteRangeEnd> <IfMatch>"828ef3fdfa96f00ad9f27c383fc9ac7f"</IfMatch> <AWSAccessKeyId>AKIAIOSFODNN7EXAMPLE</AWSAccessKeyId> <Timestamp>2006-03-01T12:00:00.183Z</Timestamp> <Signature>Iuyz3d3P0aTou39dzbqaEXAMPLE=</Signature> </GetObject>

Amazon S3 gibt die folgende Antwort und den Rest der Datei zurück.

<GetObjectResponse xmlns="http://s3.amazonaws.com/doc/2006-03-01"> <GetObjectResponse> <Status> <Code>200</Code> <Description>OK</Description> </Status> <Metadata> <Name>Content-Type</Name> <Value>text/plain</Value> </Metadata> <Metadata> <Name>family</Name> <Value>>Muntz</Value> </Metadata> <Data>--remainder of bigfile--</Data> <LastModified>2006-01-01T12:00:00.000Z</LastModified> <ETag>"828ef3fdfa96f00ad9f27c383fc9ac7f"</ETag> </GetObjectResponse> </GetObjectResponse>

Versioniert GetObject

Die folgende Anforderung gibt die angegebene Version des Objekts im Bucket zurück.

<GetObject xmlns="https://doc.s3.amazonaws.com/2006-03-01"> <Bucket>quotes</Bucket> <Key>Nelson</Key> <GetMetadata>true</GetMetadata> <GetData>true</GetData> <InlineData>true</InlineData> <AWSAccessKeyId>AKIAIOSFODNN7EXAMPLE</AWSAccessKeyId> <Timestamp>2006-03-01T12:00:00.183Z</Timestamp> <Signature>Iuyz3d3P0aTou39dzbqaEXAMPLE=</Signature> </GetObject>

Beispielantwort

<GetObjectResponse xmlns="https://s3.amazonaws.com/doc/2006-03-01"> <GetObjectResponse> <Status> <Code>200</Code> <Description>OK</Description> </Status> <Metadata> <Name>Content-Type</Name> <Value>text/plain</Value> </Metadata> <Metadata> <Name>family</Name> <Value>Muntz</Value> </Metadata> <Data>aGEtaGE=</Data> <LastModified>2006-01-01T12:00:00.000Z</LastModified> <ETag>&quot;828ef3fdfa96f00ad9f27c383fc9ac7f&quot;</ETag> </GetObjectResponse> </GetObjectResponse>

REST GET-Fehlerbehebung

Wenn ein GET-Objekt fehlschlägt, können Sie den Rest der Datei abrufen, indem Sie den Bereich angeben, der heruntergeladen werden soll. Dazu müssen Sie die Größe des Objekts mithilfe ListBucket eines Bereichs für GET den Rest der Datei ermitteln. Weitere Informationen finden Sie unter GetObjectExtended (SOAP-API).

Verwandte Ressourcen

Operationen an Objekten (SOAP-API)