GetObject
Sie können die S3 GetObject-Anforderung verwenden, um ein Objekt aus einem S3-Bucket abzurufen.
GetObject und mehrteilige Objekte
Sie können die partNumber
Anforderungsparameter zum Abrufen eines bestimmten Teils eines mehrteiligen oder segmentierten Objekts. Der x-amz-mp-parts-count
Das Antwortelement gibt an, aus wie vielen Teilen das Objekt besteht.
Sie können einstellen partNumber
auf 1 für segmentierte/mehrteilige Objekte und nicht-segmentierte/nicht-mehrteilige Objekte; jedoch x-amz-mp-parts-count
Das Antwortelement wird nur für segmentierte oder mehrteilige Objekte zurückgegeben.
UTF-8-Zeichen in Benutzermetadaten
StorageGRID analysiert oder interpretiert keine Escape-UTF-8-Zeichen in benutzerdefinierten Metadaten. GET-Anfragen für ein Objekt mit Escape-UTF-8-Zeichen in benutzerdefinierten Metadaten geben nicht die x-amz-missing-meta
Header, wenn der Schlüsselname oder -wert nicht druckbare Zeichen enthält.
Unterstützter Anforderungsheader
Der folgende Anforderungsheader wird unterstützt:
-
x-amz-checksum-mode
: AngebenENABLED
Der
Range
Header wird nicht unterstützt mitx-amz-checksum-mode
für GetObject. Wenn SieRange
in der Anfrage mitx-amz-checksum-mode
aktiviert ist, gibt StorageGRID in der Antwort keinen Prüfsummenwert zurück.
Nicht unterstützter Anforderungsheader
Der folgende Anforderungsheader wird nicht unterstützt und gibt zurück XNotImplemented
:
-
x-amz-website-redirect-location
Versionierung
Wenn ein versionId
Wenn keine Unterressource angegeben ist, ruft der Vorgang die aktuellste Version des Objekts in einem versionierten Bucket ab. Wenn die aktuelle Version des Objekts eine Löschmarkierung ist, wird der Status "Nicht gefunden" mit der x-amz-delete-marker
Antwortheader gesetzt auf true
.
Anforderungsheader für die serverseitige Verschlüsselung mit vom Kunden bereitgestellten Verschlüsselungsschlüsseln (SSE-C)
Verwenden Sie alle drei Header, wenn das Objekt mit einem von Ihnen bereitgestellten eindeutigen Schlüssel verschlüsselt ist.
-
x-amz-server-side-encryption-customer-algorithm
: AngebenAES256
. -
x-amz-server-side-encryption-customer-key
: Geben Sie Ihren Verschlüsselungsschlüssel für das Objekt an. -
x-amz-server-side-encryption-customer-key-MD5
: Geben Sie den MD5-Digest des Verschlüsselungsschlüssels des Objekts an.
|
Die von Ihnen bereitgestellten Verschlüsselungsschlüssel werden niemals gespeichert. Wenn Sie einen Verschlüsselungsschlüssel verlieren, verlieren Sie das entsprechende Objekt. Bevor Sie vom Kunden bereitgestellte Schlüssel zum Sichern von Objektdaten verwenden, lesen Sie die Hinweise in"Verwenden Sie serverseitige Verschlüsselung" . |
Verhalten von GetObject für Cloud Storage Pool-Objekte
Wenn ein Objekt in einem"Cloud-Speicherpool" , das Verhalten einer GetObject-Anforderung hängt vom Status des Objekts ab. Sehen"HeadObject" für weitere Details.
|
Wenn ein Objekt in einem Cloud-Speicherpool gespeichert ist und eine oder mehrere Kopien des Objekts auch im Raster vorhanden sind, versuchen GetObject-Anfragen, Daten aus dem Raster abzurufen, bevor sie aus dem Cloud-Speicherpool abgerufen werden. |
Zustand des Objekts | Verhalten von GetObject |
---|---|
In StorageGRID aufgenommenes, aber noch nicht von ILM ausgewertetes Objekt oder Objekt, das in einem herkömmlichen Speicherpool oder mithilfe von Erasure Coding gespeichert ist |
Eine Kopie des Objekts wird abgerufen. |
Objekt im Cloud-Speicherpool, aber noch nicht in einen nicht abrufbaren Zustand übergegangen |
Eine Kopie des Objekts wird abgerufen. |
Objekt in einen nicht abrufbaren Zustand überführt |
Verwenden Sie ein"RestoreObject" Anforderung zum Wiederherstellen des Objekts in einen abrufbaren Zustand. |
Objekt wird gerade aus einem nicht abrufbaren Zustand wiederhergestellt |
Warten Sie, bis die RestoreObject-Anforderung abgeschlossen ist. |
Objekt vollständig im Cloud-Speicherpool wiederhergestellt |
Eine Kopie des Objekts wird abgerufen. |
Mehrteilige oder segmentierte Objekte in einem Cloud-Speicherpool
Wenn Sie ein mehrteiliges Objekt hochgeladen haben oder StorageGRID ein großes Objekt in Segmente aufgeteilt hat, ermittelt StorageGRID , ob das Objekt im Cloud Storage Pool verfügbar ist, indem es eine Teilmenge der Teile oder Segmente des Objekts auswählt. In einigen Fällen kann eine GetObject-Anforderung fälschlicherweise zurückgeben 200 OK
wenn einige Teile des Objekts bereits in einen nicht abrufbaren Zustand überführt wurden oder wenn einige Teile des Objekts noch nicht wiederhergestellt wurden.
In diesen Fällen:
-
Die GetObject-Anforderung gibt möglicherweise einige Daten zurück, stoppt jedoch mitten in der Übertragung.
-
Eine nachfolgende GetObject-Anforderung könnte
403 Forbidden
.
GetObject und Cross-Grid-Replikation
Wenn Sie"Netzverbund" Und"Cross-Grid-Replikation" für einen Bucket aktiviert ist, kann der S3-Client den Replikationsstatus eines Objekts überprüfen, indem er eine GetObject-Anforderung ausgibt. Die Antwort enthält die StorageGRID-spezifischen x-ntap-sg-cgr-replication-status
Antwortheader, der einen der folgenden Werte hat:
Netz | Replikationsstatus |
---|---|
Quelle |
|
Ziel |
REPLICA: Das Objekt wurde aus dem Quellraster repliziert. |
|
StorageGRID unterstützt nicht die x-amz-replication-status Kopfzeile.
|