Metadaten eines Objekts in StorageGRID mit der S3 HeadObject-Anfrage abrufen
Sie können die S3 HeadObject Anfrage verwenden, um Metadaten eines Objekts abzurufen, ohne das Objekt selbst zurückzugeben. Wenn das Objekt in einem Cloud Storage Pool gespeichert ist, kann HeadObject verwendet werden, um den Übergangsstatus des Objekts zu ermitteln.
HeadObject und mehrteilige Objekte
Mithilfe des partNumber Anfrageparameters können Metadaten für einen bestimmten Teil eines mehrteiligen oder segmentierten Objekts abgerufen werden. Das x-amz-mp-parts-count Antwortelement gibt an, aus wie vielen Teilen das Objekt besteht.
Sie können partNumber auf 1 setzen, sowohl für segmentierte/multipart Objekte als auch für nicht segmentierte/nicht multipart Objekte; das x-amz-mp-parts-count Antwortelement wird jedoch nur für segmentierte oder multipart Objekte zurückgegeben.
UTF-8-Zeichen in Benutzermetadaten
StorageGRID analysiert oder interpretiert keine maskierten UTF-8-Zeichen in benutzerdefinierten Metadaten. HEAD-Anfragen für ein Objekt mit maskierten UTF-8-Zeichen in benutzerdefinierten Metadaten geben den x-amz-missing-meta Header nicht zurück, wenn der Schlüsselname oder -wert nicht druckbare Zeichen enthält.
Unterstützter Anfrageheader
Der folgende Anfrageheader wird unterstützt:
-
x-amz-checksum-modeDer `partNumber`Parameter und der `Range`Header werden mit `x-amz-checksum-mode`für HeadObject nicht unterstützt. Wenn sie in die Anfrage mit `x-amz-checksum-mode`aktiviert aufgenommen werden, gibt StorageGRID keinen Prüfsummenwert in der Antwort zurück.
Nicht unterstützter Anfrageheader
Der folgende Anfrageheader wird nicht unterstützt und gibt XNotImplemented zurück:
-
x-amz-website-redirect-location
Versionierung
Wenn keine versionId Unterressource angegeben ist, wird mit dem Vorgang die neueste Version des Objekts in einem versionierten Bucket abgerufen. Wenn die aktuelle Version des Objekts eine Löschmarkierung ist, wird ein „Nicht gefunden“-Status zurückgegeben, wobei der x-amz-delete-marker Antwortheader auf true gesetzt wird.
Anfrage-Header für serverseitige Verschlüsselung mit vom Kunden bereitgestellten Verschlüsselungsschlüsseln (SSE-C)
Verwenden Sie alle drei dieser Header, wenn das Objekt mit einem von Ihnen bereitgestellten eindeutigen Schlüssel verschlüsselt wurde.
-
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 die MD5-Prüfsumme des Verschlüsselungsschlüssels des Objekts an.
|
|
Die von Ihnen bereitgestellten Verschlüsselungsschlüssel werden niemals gespeichert. Wenn ein Verschlüsselungsschlüssel verloren geht, geht auch das zugehörige Objekt verloren. Vor der Verwendung von kundenseitig bereitgestellten Schlüsseln zur Sicherung von Objektdaten sind die Hinweise in "Serverseitige Verschlüsselung verwenden" zu beachten. |
HeadObject-Antworten für Cloud Storage Pool-Objekte
Wenn das Objekt in einem "Cloud Storage Pool" gespeichert ist, werden die folgenden Antwortheader zurückgegeben:
-
x-amz-storage-class: GLACIER -
x-amz-restore
Die Antwortheader liefern Informationen über den Zustand eines Objekts, wenn es in einen Cloud Storage Pool verschoben, optional in einen nicht abrufbaren Zustand überführt und wiederhergestellt wird.
| Zustand des Objekts | Antwort auf HeadObject |
|---|---|
Objekt, das in StorageGRID aufgenommen, aber noch nicht von ILM ausgewertet wurde, oder Objekt, das in einem herkömmlichen Speicherpool gespeichert oder mit Erasure Coding abgelegt ist |
|
Objekt im Cloud Storage Pool, aber noch nicht in einen nicht abrufbaren Zustand überführt |
Solange das Objekt nicht in einen nicht abrufbaren Zustand übergeht, wird der Wert für |
Das Objekt ist in einen nicht abrufbaren Zustand übergegangen, aber mindestens eine Kopie existiert noch im Grid. |
Der Wert für Hinweis: Wenn die Kopie im Grid nicht verfügbar ist (zum Beispiel weil ein Storage Node ausgefallen ist), muss eine "RestoreObject"-Anfrage zur Wiederherstellung der Kopie aus dem Cloud Storage Pool gestellt werden, bevor das Objekt erfolgreich abgerufen werden kann. |
Das Objekt ist in einen nicht wiederherstellbaren Zustand übergegangen, und es existiert keine Kopie im Grid. |
|
Objekt befindet sich im Wiederherstellungsprozess aus einem nicht wiederherstellbaren Zustand |
|
Objekt vollständig im Cloud Storage Pool wiederhergestellt |
Das `expiry-date`zeigt an, wann sich das Objekt im Cloud Storage Pool wieder in einem nicht abrufbaren Zustand befindet. |
Mehrteilige oder segmentierte Objekte im Cloud Storage Pool
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 eine Teilmenge der Objektteile oder -segmente abgefragt wird. In einigen Fällen kann eine HeadObject-Anfrage fälschlicherweise x-amz-restore: ongoing-request="false" zurückgeben, wenn einige Teile des Objekts bereits in einen nicht wiederherstellbaren Zustand überführt wurden oder wenn einige Teile des Objekts noch nicht wiederhergestellt wurden.
HeadObject und gridübergreifende Replikation
Wenn Sie "Grid-Föderation" verwenden und "gridübergreifende Replikation" für einen Bucket aktiviert ist, kann der S3-Client den Replikationsstatus eines Objekts durch eine HeadObject-Anfrage überprüfen. Die Antwort enthält den StorageGRID-spezifischen x-ntap-sg-cgr-replication-status Response-Header, der einen der folgenden Werte aufweist:
| Grid | Replikationsstatus |
|---|---|
Quelle |
|
Ziel |
REPLICA: Das Objekt wurde aus dem Quellgrid repliziert. |
|
|
StorageGRID unterstützt den x-amz-replication-status Header nicht.
|