Objekt hochladen

Zum Hochladen eines Objekts mit der XML API stellen Sie eine PUT-Anfrage, die auf den Bucket-Namen und den Objektnamen beschränkt ist, und stellen die Objektdaten in den Anfragetext. Das hochgeladene Objekt ersetzt alle vorhandenen Objekte mit demselben Namen. Tipps zum Hochladen in Cloud Storage finden Sie unter Best Practices. Eine schnelle Anleitung für einfache Uploads mithilfe von Tools wie der XML API finden Sie unter Objekte hochladen.

Die PUT-Objekt-Anfrage verwendet mehrere Standard-HTTP-Header. Content-Length gibt die Größe des Objekts in Byte an und ist erforderlich, es sei denn, Sie verwenden die aufgeteilte Transfercodierung. Optionale Header sind Content-Type, Content-MD5 und die unten aufgeführten Header. Cloud Storage speichert diese Header als Teil der Objektmetadaten, mit Ausnahme von Content-MD5, mit der Cloud Storage die Datenintegrität überprüft. Weitere Informationen zum Ändern von Metadatenwerten für Objekte finden Sie unter Objektmetadaten bearbeiten.

Mit einer PUT-Objekt-Anfrage können Sie denSpeicherklasse eines vorhandenen Objekts, da Sie das vorhandene Objekt hierfür neu schreiben müssen. Die Anfrage sollte das Objektx-goog-storage-class Anfrage-Header sowie das Objekt im Anfragetext ein.

Abfragestringparameter

Diese Anfrage enthält normalerweise keine Abfragestringparameter.

Informationen zu den Parametern, die Sie beim Erstellen und Verwenden signierter URLs angeben müssen, finden Sie unter Stringparameter für signierte URLs.

Anfrageheader

Zusätzlich zu den allgemeinen Anfrage-Headern können Sie Folgendes verwenden:

Header Beschreibung Erforderlich
Cache-Control Die Bedingungen, unter denen ein öffentlich zugängliches Objekt im Cache gespeichert werden soll. Cache-Control wird auch verwendet, um festzustellen, ob ein Objekt transformiert werden kann. Nein
Content-Disposition Ein Header, der Präsentationsinformationen über die Übertragung der Objektdaten angibt. Nein
Content-Encoding Der Komprimierungsalgorithmus, mit dem das hochgeladene Objekt komprimiert wurde. Nein
Content-Language Der Sprachcode des Inhalts nach ISO 639-1. Nein
x-goog-acl Die vordefinierte ACL, die auf das Objekt angewendet werden soll. Nein
x-goog-custom-time Ein benutzerdefiniertes Datum und eine Uhrzeit. Nein
x-goog-encryption-kms-key-name Der vom Kunden verwaltete Verschlüsselungsschlüssel, der zum Verschlüsseln des Objekts verwendet wird. Nein
x-goog-meta- Ein Erweiterungs-Header, der zum Speichern benutzerdefinierter Metadaten verwendet werden kann. Nein
x-goog-storage-class Eine gültige Speicherklasse. Nein

Wenn Sie zusammen mit dem Objektupload einen vom Kunden bereitgestellten Verschlüsselungsschlüssel angeben möchten, verwenden Sie die Header auf der Seite "Vom Kunden bereitgestellter Verschlüsselungsschlüssel" in Ihrer Anfrage.

Anfragetextelemente

Der Anfragetext enthält die Daten.

Anfragesyntax

Die folgende Syntax gilt für PUT-Objekt-Anfragen, die keine Abfragestringparameter verwenden und den Anfrageheader x-goog-copy-source ausschließen.

PUT /OBJECT_NAME HTTP/1.1
Host: BUCKET_NAME.storage.googleapis.com
Date: DATE
Content-Length: REQUEST_BODY_LENGTH
Content-Type: MIME_TYPE
Content-MD5: MD5_DIGEST
Authorization: AUTHENTICATION_STRING
x-goog-storage-class: STORAGE_CLASS

Antwortheader

Die Anfrage kann je nach verwendetem Anfrage-Header eine Vielzahl von Antwort-Headern zurückgeben.

Antworttextelemente

Die Antwort enthält kein XML-Dokument im Antworttext.

Beispiel

Im folgenden Beispiel wird ein Objekt namens paris.jpg in einen Bucket mit dem Namen travel-maps hochgeladen.

Anfrage

PUT /paris.jpg HTTP/1.1
Host: travel-maps.storage.googleapis.com
Date: Sat, 20 Feb 2010 16:31:08 GMT
Content-Type: image/jpg
Content-MD5: iB94gawbwUSiZy5FuruIOQ==
Content-Length: 554
Authorization: Bearer ya29.AHES6ZRVmB7fkLtd1XTmq6mo0S1wqZZi3-Lh_s-6Uw7p8vtgSwg

Antwort

HTTP/1.1 200 OK
ETag: "881f7881ac1bc144a2672e45babb8839"
Date: Sat, 20 Feb 2010 16:31:09 GMT
Content-Length: 0
Content-Type: text/html

Häufige Fehlercodes

Wenn Sie versuchen, ein Objekt in einen Bucket hochzuladen, der nicht vorhanden ist, wird der Statuscode 404 Not Found und im Text der Fehlerantwort NoSuchBucket angezeigt. Code-Element hinzu.

Wenn der angegebene MD5-Digest fehlerhaft ist, erhalten Sie den Statuscode 400 Bad Request und der Text der Fehlerantwort im Element Code den Wert InvalidDigest.

Wenn der Digest nicht mit dem berechneten Digest übereinstimmt, wird der Statuscode 400 Bad Request zurückgegeben und der Text der Fehlerantwort enthält BadDigest in der Code-Element hinzu.