Cloud Storage APIs

Übersicht

Cloud Storage bietet zwei APIs: eine XML- und eine JSON-API. Gsutil kann mit beiden APIs interagieren. Standardmäßig interagieren gsutil-Versionen ab 4.0 mit der JSON API. Wenn es nicht möglich ist, einen Befehl mit einer der APIs auszuführen (z. B. wird der Benachrichtigungsbefehl in der XML API nicht unterstützt), verwendet gsutil automatisch die andere API. Außerdem greift gsutil bei der Interaktion mit Cloud Storage-Anbietern, die nur diese API unterstützen, automatisch auf die Verwendung der XML API zurück.

Weitere Informationen finden Sie in der Dokumentation zur JSON API oder XML API.

Konfigurieren, welche API verwendet wird

Wenn Sie eine bestimmte API für die Interaktion mit Cloud Storage verwenden möchten, können Sie die Variable "pref_api" im Abschnitt "GSUtil" der .boto-Konfigurationsdatei auf "xml" oder "json" setzen:

prefer_api = json

Dies führt dazu, dass gsutil diese API nach Möglichkeit verwendet. Falls auf die andere API verwiesen wird, kann sie, wie oben erwähnt, an die andere API übertragen werden. Dies gilt auch für den gsutil-Testbefehl; sie führt Integrationstests für die bevorzugte API aus.

Weitere Informationen finden Sie in der Dokumentation zur Boto-Konfigurationsdatei.

Leistungs- und Kostenunterschiede zwischen APIs

Die XML API verwendet das boto-Framework. Mit diesem Framework werden heruntergeladene Dateien noch einmal gelesen, um einen MD5-Hash zu berechnen, falls keine vorhanden ist. Bei Objekten, die keine MD5-Hashes in ihren Metadaten enthalten (z. B. zusammengesetzte Cloud Storage-Objekte), verdoppelt sich dadurch die verbrauchte Bandbreite und die verstrichene Zeit, die für den Download benötigt wird. Wenn Sie mit zusammengesetzten Objekten arbeiten, wird daher empfohlen, den Standardwert für "pref_api" zu verwenden.

Die XML API erfordert auch separate Aufrufe, um verschiedene Objekt- und Bucket-Metadatenfelder wie ACLs oder Bucket-Konfiguration abzurufen. Wenn möglich, verwendet die JSON API daher weniger Vorgänge und verursacht somit niedrigere Kosten.