Objektoperationen

Die modernen Funktionen von IBM Cloud® Object Storage sind bequem über eine RESTful-API verfügbar. Operationen und Methoden zum Lesen, Schreiben und Konfigurieren von Objekten (in einem Bucket gespeichert) sind hier dokumentiert.

Weitere Informationen zu Endpunkten enthält Endpunkte und Speicherpositionen.

Hinweis zur HMAC-Authentifizierung (HMAC = Access/Secret Key)

Bei der Authentifizierung bei Ihrer Instanz von IBM Cloud Object Storage mithilfe von HMAC-Berechtigungsnachweisen benötigen Sie die in Tabelle 1 dargestellten Informationen, wenn Sie eine HMAC-Signatur erstellen.

HMAC-Signaturkomponenten
Schlüssel Wert Beispiel
{access_key} Ihrer Dienstanmeldeinformation zugewiesener Zugriffsschlüssel cf4965cebe074720a4929759f57e1214
{date} Das formatierte Datum Ihrer Anforderung (yyyymmdd). 20180613
{region} Der Positionscode für Ihren Endpunkt. US-Standard
{signature} Der Hashwert, der mit dem geheimen Schlüssel, der Position und dem Datum erstellt wurde ffe2b6e18f9dcc41f593f4dbb39882a6bb4d26a73a04326e62a8d344e07c1a3e
{timestamp} Das formatierte Datum und die formatierte Uhrzeit Ihrer Anfrage. 20180614T001804Z

Objekt hochladen

Mit einer PUT-Anforderung, in der ein Pfad zu einem Objekt angegeben wurde, wird der Anforderungshauptteil als Objekt hochgeladen. Alle in einem Einzelthread hochgeladenen Objekte sollten kleiner als 500 MB sein, um das Risiko von Netzunterbrechungen zu minimieren. (Objekte, die in mehreren Teilen hochgeladen werden, können bis zu 10 TB groß sein)

Persönlich identifizierbare Informationen (PII): Verwenden Sie bei der Benennung von Buckets oder Objekten keine Informationen, die einen Benutzer (natürliche Person) anhand seines Namens, seines Standorts oder anderer Merkmale identifizieren könnten.

Es ist möglich, Objekte mit einer Größe von 5 GB mithilfe einer einzigen PUT-Anforderung zu streamen. Mehrteilige Uploads sind zuverlässiger und können effizienter hochgeladen werden, indem mehrere Threads zum parallelen Hochladen von Teilen verwendet werden. Das Hochladen größerer Objekte in einer einzelnen PUT-Anforderung führt zu den Leistungseinschränkungen eines einzelnen Threads und im Falle von Fehlern müssen Uploads mit einem einzelnen Thread vollständig wiederholt werden (während bei MPU nur die einzelnen Teile wiederholt werden müssen, die fehlgeschlagen sind). Der genaue Durchsatz, der mit einem einzelnen Thread erreicht werden kann, hängt von der Netzwerkbandbreite zwischen dem Client und dem Endpunkt IBM Cloud, der Rate der Paketverluste (falls vorhanden) bei dieser Verbindung, der Verwendung von HTTP gegenüber HTTPS, den spezifischen Verschlüsselungsalgorithmen, die bei der Verbindung verwendet werden, und spezifischen TCP-Verbindungsparametern (wie der Fenstergröße) sowie anderen Faktoren ab. Diese Faktoren können zwar für einen Single-Thread-Upload optimiert werden, die Optimierungen gelten jedoch auch für alle Multithread-Uploads (mehrteilige Uploads).

Persönlich identifizierbare Informationen (PII): Achten Sie beim Erstellen von Buckets oder Hinzufügen von Objekten darauf, keine Informationen zu verwenden, die einen Benutzer (natürliche Person) anhand seines Namens, Standorts oder auf andere Weise identifizieren können.

Syntax

PUT https://{endpoint}/{bucket-name}/{object-name} # path style
PUT https://{bucket-name}.{endpoint}/{object-name} # virtual host style

Optionale Header

Optionale Header
Überschrift Typ Beschreibung
x-amz-tagging Zeichenfolge Eine Gruppe von Tags, die auf das Objekt angewendet werden sollen, formatiert als Abfrageparameter ("SomeKey=SomeValue").
x-amz-object-lock-mode Zeichenfolge Gültiger Wert ist COMPLIANCE oder GOVERNANCE – erforderlich, wenn x-amz-object-lock-retain-until-date vorhanden ist.
x-amz-object-lock-retain-until-date ISO8601 Datum und Uhrzeit Erforderlich, wenn x-amz-object-lock-mode vorhanden ist.
x-amz-object-lock-legal-hold Zeichenfolge Die gültigen Werte sind ON oder OFF.
Content-MD5 Zeichenfolge Der 128-Bit- MD5-Hashwert der Nutzlast, der mit dem Standard „ Base64 “ verschlüsselt wurde, dient als Integritätsprüfung, um sicherzustellen, dass die Nutzlast während der Übertragung nicht verändert wurde.
x-amz-checksum-crc32 Zeichenfolge Dieser Header ist die Base64 kodierte, 32-Bit CRC32 Prüfsumme des Objekts.
x-amz-checksum-crc32c Zeichenfolge Dieser Header ist die Base64 kodierte, 32-Bit CRC32C Prüfsumme des Objekts.
x-amz-checksum-crc64nvme Zeichenfolge Dieser Header ist die Base64 kodierte, 64-Bit CRC64NVME Prüfsumme des Objekts. Die Prüfsumme CRC64NVME ist immer eine vollständige Objektprüfsumme.
x-amz-checksum-sha1 Zeichenfolge Dieser Header ist der Base64 verschlüsselte 160-Bit-Digest des Objekts SHA1.
x-amz-checksum-sha256 Zeichenfolge Dieser Header ist der Base64 kodierte, 256-Bit SHA256 Digest des Objekts.
x-amz-sdk-checksum-algorithm Zeichenfolge Gibt den Algorithmus an, der bei Verwendung des SDK zur Erstellung der Prüfsumme für das Objekt verwendet wird.
x-amz-trailer Zeichenfolge Gibt an, welcher Prüfsummenwert-Header im Trailer der Nutzlast gefunden wird, um die Integrität des Objekts beim Hochladen zu überprüfen.

Beispielanforderung

PUT /apiary/queen-bee HTTP/1.1
Authorization: Bearer {token}
Content-Type: text/plain; charset=utf-8
Host: s3.us.cloud-object-storage.appdomain.cloud

Content-Length: 533

 The 'queen' bee is developed from larvae selected by worker bees and fed a
 substance referred to as 'royal jelly' to accelerate sexual maturity. After a
 short while the 'queen' is the mother of nearly every bee in the hive, and
 the colony will fight fiercely to protect her.

Beispielanforderung

PUT /apiary/queen-bee HTTP/1.1
Authorization: 'AWS4-HMAC-SHA256 Credential={access-key}/{date}/{region}/s3/aws4_request,SignedHeaders=host;x-amz-date;,Signature={signature}'
x-amz-date: {timestamp}
x-amz-content-sha256: {payload_hash}
Content-Type: text/plain; charset=utf-8
Host: s3.us.cloud-object-storage.appdomain.cloud

Content-Length: 533

 The 'queen' bee is developed from larvae selected by worker bees and fed a
 substance referred to as 'royal jelly' to accelerate sexual maturity. After a
 short while the 'queen' is the mother of nearly every bee in the hive, and
 the colony will fight fiercely to protect her.

Beispielantwort

HTTP/1.1 200 OK
Date: Thu, 25 Aug 2016 18:30:02 GMT
X-Clv-Request-Id: 9f0ca49a-ae13-4d2d-925b-117b157cf5c3
Accept-Ranges: bytes
Server: Cleversafe/3.9.0.121
X-Clv-S3-Version: 2.5
x-amz-request-id: 9f0ca49a-ae13-4d2d-925b-117b157cf5c3
ETag: "3ca744fa96cb95e92081708887f63de5"
x-amz-checksum-crc64nvme: T1r5SUWc07k=
x-amz-checksum-type: FULL_OBJECT
Content-Length: 0

Header eines Objekts abrufen

Mit einer HEAD-Anforderung, in der ein Pfad zu einem Objekt angegeben wurde, werden die Header des betreffenden Objekts abgerufen.

Der Etag für mit SSE-KP verschlüsselte Objekte zurückgegebene Wert ist der MD5-Hash des ursprünglichen entschlüsselten Objekts.

Syntax

HEAD https://{endpoint}/{bucket-name}/{object-name} # path style
HEAD https://{bucket-name}.{endpoint}/{object-name} # virtual host style

Optionale Header

Optionale Header
Überschrift Typ Beschreibung
x-amz-checksum-mode Zeichenfolge Hier wird angegeben, ob die Antwort Prüfsummen-Metadaten enthalten soll oder nicht.

Beispielanforderung

HEAD /apiary/soldier-bee HTTP/1.1
Authorization: Bearer {token}
Host: s3-api.sjc-us-geo.objectstorage.s3.us-south.cloud-object-storage.appdomain.cloud.net

Beispielanforderung

HEAD /apiary/soldier-bee HTTP/1.1
Authorization: 'AWS4-HMAC-SHA256 Credential={access-key}/{date}/{region}/s3/aws4_request,SignedHeaders=host;x-amz-date;,Signature={signature}'
x-amz-date: {timestamp}
Host: s3.us.cloud-object-storage.appdomain.cloud

Beispielantwort

HTTP/1.1 200 OK
Date: Thu, 25 Aug 2016 18:32:44 GMT
X-Clv-Request-Id: da214d69-1999-4461-a130-81ba33c484a6
Accept-Ranges: bytes
Server: Cleversafe/3.9.0.121
X-Clv-S3-Version: 2.5
x-amz-request-id: da214d69-1999-4461-a130-81ba33c484a6
ETag: "37d4c94839ee181a2224d6242176c4b5"
x-amz-checksum-crc64nvme: T1r5SUWc07k=
x-amz-checksum-type: FULL_OBJECT
Content-Type: text/plain; charset=UTF-8
Last-Modified: Thu, 25 Aug 2016 17:49:06 GMT
Content-Length: 11

Objekt herunterladen

Mit einer GET-Anforderung, in der ein Pfad zu einem Objekt angegeben wurde, wird das betreffende Objekt heruntergeladen.

Der Wert für Etag, der für Objekte zurückgegeben wird, die mit SSE-C/SSE-KP verschlüsselt wurden, stimmt nicht mit dem MD5-Hashwert des ursprünglichen entschlüsselten Objekts überein.

Syntax

GET https://{endpoint}/{bucket-name}/{object-name} # path style
GET https://{bucket-name}.{endpoint}/{object-name} # virtual host style

Optionale Header

Überschrift Typ Beschreibung
range Zeichenfolge Gibt die Byte eines Objekts innerhalb des angegebenen Bereichs zurück.
x-amz-checksum-mode Zeichenfolge Hier wird angegeben, ob die Antwort Prüfsummen-Metadaten enthalten soll oder nicht.

Beispielanforderung

GET /apiary/worker-bee HTTP/1.1
Authorization: Bearer {token}
Host: s3.us.cloud-object-storage.appdomain.cloud

Beispielanforderung

GET /apiary/worker-bee HTTP/1.1
Authorization: 'AWS4-HMAC-SHA256 Credential={access-key}/{date}/{region}/s3/aws4_request,SignedHeaders=host;x-amz-date;,Signature={signature}'
x-amz-date: {timestamp}
Host: s3.us.cloud-object-storage.appdomain.cloud

Beispielantwort

HTTP/1.1 200 OK
Date: Thu, 25 Aug 2016 18:34:25 GMT
X-Clv-Request-Id: 116dcd6b-215d-4a81-bd30-30291fa38f93
Accept-Ranges: bytes
Server: Cleversafe/3.9.0.121
X-Clv-S3-Version: 2.5
x-amz-request-id: 116dcd6b-215d-4a81-bd30-30291fa38f93
ETag: "d34d8aada2996fc42e6948b926513907"
Content-Type: text/plain; charset=UTF-8
Last-Modified: Thu, 25 Aug 2016 17:46:53 GMT
Content-Length: 467

 Female bees that are not fortunate enough to be selected to be the 'queen'
 while they were still larvae become known as 'worker' bees. These bees lack
 the ability to reproduce and instead ensure that the hive functions smoothly,
 acting almost as a single organism in fulfilling their purpose.

Objekt löschen

Mit einer DELETE-Anforderung, in der ein Pfad zu einem Objekt angegeben wurde, wird das betreffende Objekt gelöscht.

Syntax

DELETE https://{endpoint}/{bucket-name}/{object-name} # path style
DELETE https://{bucket-name}.{endpoint}/{object-name} # virtual host style

Beispielanforderung

DELETE /apiary/soldier-bee HTTP/1.1
Authorization: Bearer {token}
Host: s3-api.sjc-us-geo.objectstorage.s3.us-south.cloud-object-storage.appdomain.cloud.net

Beispielanforderung

DELETE /apiary/soldier-bee HTTP/1.1
Authorization: 'AWS4-HMAC-SHA256 Credential={access-key}/{date}/{region}/s3/aws4_request,SignedHeaders=host;x-amz-date;,Signature={signature}'
x-amz-date: {timestamp}
Host: s3.us.cloud-object-storage.appdomain.cloud

Beispielantwort

HTTP/1.1 204 No Content
Date: Thu, 25 Aug 2016 17:44:57 GMT
X-Clv-Request-Id: 8ff4dc32-a6f0-447f-86cf-427b564d5855
Accept-Ranges: bytes
Server: Cleversafe/3.9.0.121
X-Clv-S3-Version: 2.5
x-amz-request-id: 8ff4dc32-a6f0-447f-86cf-427b564d5855

Mehrere Objekte löschen

Mit einer POST-Anforderung, in der ein Pfad zu einem Bucket und die korrekten Parameter angegeben sind, wird eine angegebene Objektgruppe gelöscht. Ein Content-MD5-Header oder ein checksum-Header (einschließlich x-amz-checksum-crc32, x-amz-checksum-crc32c, x-amz-checksum-crc64nvme, x-amz-checksum-sha1 oder x-amz-checksum-sha256) ist als Integritätsprüfung für die Nutzdaten erforderlich.

Optionale Header

Optionale Header
Überschrift Typ Beschreibung
Content-MD5 Zeichenfolge Der 128-Bit- MD5-Hash der Nutzlast, der mit dem Standard „ base64 “ verschlüsselt wurde, dient als Integritätsprüfung, um sicherzustellen, dass die Nutzlast während der Übertragung nicht verändert wurde.
x-amz-checksum-crc32 Zeichenfolge Dieser Header ist die Base64 kodierte, 32-Bit CRC32 Prüfsumme des Objekts.
x-amz-checksum-crc32c Zeichenfolge Dieser Header ist die Base64 kodierte, 32-Bit CRC32C Prüfsumme des Objekts.
x-amz-checksum-crc64nvme Zeichenfolge Dieser Header ist die Base64 kodierte, 64-Bit CRC64NVME Prüfsumme des Objekts. Die Prüfsumme CRC64NVME ist immer eine vollständige Objektprüfsumme.
x-amz-checksum-sha1 Zeichenfolge Dieser Header ist der Base64 verschlüsselte 160-Bit-Digest des Objekts SHA1.
x-amz-checksum-sha256 Zeichenfolge Dieser Header ist der Base64 kodierte, 256-Bit SHA256 Digest des Objekts.

Wenn ein in der Anfrage angegebenes Objekt nicht gefunden wird, wird das Ergebnis als gelöscht zurückgegeben.

Zum Löschen mehrerer Objekte gehört ein POST operation, der als Klasse A berechnet wird. Der Aufwand für die POST-Anforderung für mehrere Löschungen variiert abhängig von der Speicherklasse der Objekte und dem Datenvolumen, das gelöscht wird. Weitere Informationen zu den Preisen finden Sie auf der Preisseite von „ IBM Cloud Object Storage “.

Optionale Elemente

Überschrift
Überschrift Typ Beschreibung
Quiet Boolescher Wert Für die Anforderung wird der Befehlszeilenmodus aktiviert.

Die Anforderung kann maximal 1000 Schlüssel enthalten, die gelöscht werden sollen. Obwohl dies nützlich ist, um die Anzahl der Anforderungen zu reduzieren, müssen Sie beim Löschen einer großen Anzahl von Schlüsseln mit Bedacht vorgehen. Berücksichtigen Sie auch die Größen der Objekte, um eine geeignete Leistung zu gewährleisten.

Der folgende Code zeigt ein Beispiel für die Erstellung der erforderlichen Darstellung des Headerinhalts:

echo -n (XML block) | openssl dgst -md5 -binary | openssl enc -base64

Syntax

POST https://{endpoint}/{bucket-name}?delete= # path style
POST https://{bucket-name}.{endpoint}?delete= # virtual host style

Der Hauptteil der Anforderung muss einen XML-Block mit dem folgenden Schema enthalten:

Körper des Antragsschemas
Element Typ Untergeordnete Elemente Vorfahre Einschränkung
Löschen Container Object
Object Container Schlüssel Löschen
Schlüssel Zeichenfolge
Object Gültige Schlüsselzeichenfolge

Beispielanforderung

POST /apiary?delete= HTTP/1.1
Authorization: Bearer {token}
Host: s3.us.cloud-object-storage.appdomain.cloud
Content-Type: text/plain; charset=utf-8
Content-MD5: xj/vf7lD7vbIe/bqHTaLvg==

Beispielanforderung

POST /apiary?delete= HTTP/1.1
Authorization: 'AWS4-HMAC-SHA256 Credential={access-key}/{date}/{region}/s3/aws4_request,SignedHeaders=host;x-amz-date;,Signature={signature}'
x-amz-date: {timestamp}
Content-Type: text/plain; charset=utf-8
Content-MD5: xj/vf7lD7vbIe/bqHTaLvg==
Host: s3.us.cloud-object-storage.appdomain.cloud

Beispielantwort

HTTP/1.1 200 OK
Date: Wed, 30 Nov 2016 18:54:53 GMT
X-Clv-Request-Id: a6232735-c3b7-4c13-a7b2-cd40c4728d51
Accept-Ranges: bytes
Server: Cleversafe/3.9.0.137
X-Clv-S3-Version: 2.5
x-amz-request-id: a6232735-c3b7-4c13-a7b2-cd40c4728d51
Content-Type: application/xml
Content-Length: 207
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<DeleteResult xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
    <Deleted>
         <Key>surplus-bee</Key>
    </Deleted>
    <Deleted>
         <Key>unnecessary-bee</Key>
    </Deleted>
</DeleteResult>

Aufbewahrungsfrist für ein Objekt hinzufügen oder aktualisieren

Ein, das mit den richtigen PUT Parametern an ein Objekt ausgegeben wird, fügt die Aufbewahrungsfrist hinzu oder verlängert sie. Im COMPLIANCE Modus kann die Aufbewahrungsfrist nur verlängert, nicht jedoch verkürzt oder aufgehoben werden. Im GOVERNANCE Modus können autorisierte Benutzer die Aufbewahrungsfrist verlängern, verkürzen oder aufheben, indem sie den x-amz-bypass-governance-retention Header einfügen.

Syntax

PUT https://{endpoint}/{bucket-name}/{object-name}?retention # path style
PUT https://{bucket-name}.{endpoint}/{object-name}?retention # virtual host style

Nutzdatenelemente

Der Hauptteil der Anforderung muss einen XML-Block mit dem folgenden Schema enthalten:

Körper des Antragsschemas
Element Typ Untergeordnete Elemente Vorfahre Anmerkungen
Aufbewahrungsdauer Container Modus, RetainUntilDate
Erforderlich
Modus Zeichenfolge
Aufbewahrungsdauer Erforderlich – gültiger Wert ist COMPLIANCE oder GOVERNANCE
RetainUntilDate Timestamp
Aufbewahrungsdauer Erforderlich

Optionale Header

Überschrift Typ Beschreibung
x-amz-bypass-governance-retention Zeichenfolge Dieser Header ermöglicht es autorisierten Benutzern, die Aufbewahrungseinstellungen im GOVERNANCE-Modus zu überschreiben, um ein Objekt vor Ablauf seiner Aufbewahrungsfrist zu löschen oder zu ändern.

Der folgende Code zeigt ein Beispiel für die Erstellung der erforderlichen Darstellung des Headerinhalts:

echo -n (XML block) | openssl dgst -md5 -binary | openssl enc -base64

Beispielanforderung

Dies ist ein Beispiel für das Hinzufügen oder Erweitern der Aufbewahrungsdauer für ein Objekt.

PUT /apiary/myObject?retention HTTP/1.1
Authorization: Bearer {token}
Content-Type: text/plain
Content-MD5: cDeRJIdLuEXWmLpA79K2kg==
Host: s3.us.cloud-object-storage.appdomain.cloud
Content-Length: 119
<Retention>
    <Mode>COMPLIANCE</Mode>
    <RetainUntilDate>2023-04-12T23:01:00.000Z</RetainUntilDate>
</Retention>

Beispielantwort

HTTP/1.1 200 OK
Date: Wed, 5 Oct 2020 15:39:38 GMT
X-Clv-Request-Id: 7afca6d8-e209-4519-8f2c-1af3f1540b42
Accept-Ranges: bytes
Content-Length: 0


Tags zu einem Objekt hinzufügen

Ein PUT, der für ein Objekt mit den richtigen Parameter ausgegeben wird, erstellt oder ersetzt eine Gruppe von Schlüssel/Wert-Tags.

Syntax

PUT https://{endpoint}/{bucket-name}/{object-name}?tagging # path style
PUT https://{bucket-name}.{endpoint}/{object-name}?tagging # virtual host style

Nutzdatenelemente

Der Hauptteil der Anforderung muss einen XML-Block mit dem folgenden Schema enthalten:

Körper des Antragsschemas
Element Typ Untergeordnete Elemente Vorfahre Anmerkungen
Tagging Container TagSet
Erforderlich
TagSet Container Tag Tagging Erforderlich
Tag Zeichenfolge Schlüssel, Wert TagSet Erforderlich
Schlüssel Container
Tag Erforderlich
Wert Zeichenfolge
Tag Erforderlich

Tags müssen den folgenden Einschränkungen entsprechen:

  • Ein Objekt kann maximal 10 Tags haben
  • Für jedes Objekt muss jeder Tagschlüssel eindeutig sein und jeder Tagschlüssel kann nur einen einzigen Wert haben.
  • Mindestschlüssellänge-1 Unicode-Zeichen in UTF-8
  • Maximale Schlüssellänge-128 Unicode-Zeichen in UTF-8
  • Maximale Schlüsselbytegröße-256 Byte
  • Mindestwertlänge-0 Unicode-Zeichen in UTF-8 (Tagwert kann leer sein)
  • Maximale Wertlänge-256 Unicode-Zeichen in UTF-8
  • Maximale Bytegröße-512 Byte
  • Ein Tag-Schlüssel und -Wert kann aus alphanumerischen US-Zeichen (a-z,A-Z,0-9) und Leerzeichen bestehen, die in UTF-8 dargestellt werden, sowie aus den folgenden Symbolen: +, -, =, ., _, :, /, @
  • Bei Tagschlüsseln und -werten muss die Groß-/Kleinschreibung beachtet werden.
  • ibm: kann nicht als Schlüsselpräfix für Tags verwendet
Optionale Header
Überschrift Typ Beschreibung
Content-MD5 Zeichenfolge Der 128-Bit- MD5-Hashwert der Nutzlast, der mit dem Standard „ Base64 “ verschlüsselt wurde, dient als Integritätsprüfung, um sicherzustellen, dass die Nutzlast während der Übertragung nicht verändert wurde.
x-amz-checksum-crc32 Zeichenfolge Dieser Header ist die Base64 kodierte, 32-Bit CRC32 Prüfsumme des Objekts.
x-amz-checksum-crc32c Zeichenfolge Dieser Header ist die Base64 kodierte, 32-Bit CRC32C Prüfsumme des Objekts.
x-amz-checksum-crc64nvme Zeichenfolge Dieser Header ist die Base64 kodierte, 64-Bit CRC64NVME Prüfsumme des Objekts. Die Prüfsumme CRC64NVME ist immer eine vollständige Objektprüfsumme.
x-amz-checksum-sha1 Zeichenfolge Dieser Header ist der Base64 verschlüsselte 160-Bit-Digest des Objekts SHA1.
x-amz-checksum-sha256 Zeichenfolge Dieser Header ist der Base64 kodierte, 256-Bit SHA256 Digest des Objekts.
x-amz-sdk-checksum-algorithm Zeichenfolge Gibt den Algorithmus an, der bei Verwendung des SDK zur Erstellung der Prüfsumme für das Objekt verwendet wird.

Beispielanforderung

Dies ist ein Beispiel für das Hinzufügen einer Gruppe von Tags zu einem Objekt.

PUT /apiary/myObject?tagging HTTP/1.1
Authorization: Bearer {token}
Content-Type: text/plain
Host: s3.us.cloud-object-storage.appdomain.cloud
Content-Length: 119
PUT /apiary/myObject?tagging HTTP/1.1
Authorization: 'AWS4-HMAC-SHA256 Credential={access-key}/{date}/{region}/s3/aws4_request,SignedHeaders=host;x-amz-date;,Signature={signature}'
x-amz-date: {timestamp}
Content-Type: text/plain
Host: s3.us.cloud-object-storage.appdomain.cloud
Content-Length: 128
<Tagging>
   <TagSet>
      <Tag>
         <Key>string</Key>
         <Value>string</Value>
      </Tag>
   </TagSet>
</Tagging>

Beispielantwort

HTTP/1.1 200 OK
Date: Wed, 5 Oct 2020 15:39:38 GMT
X-Clv-Request-Id: 7afca6d8-e209-4519-8f2c-1af3f1540b42
Accept-Ranges: bytes
Content-Length: 0

Tags eines Objekts lesen

Ein GET, der für ein Objekt mit den richtigen Parametern ausgegeben wird, gibt die Gruppe von Schlüssel/Wert-Tags zurück, die dem Objekt zugeordnet sind.

Syntax

GET https://{endpoint}/{bucket-name}/{object-name}?tagging # path style
GET https://{bucket-name}.{endpoint}/{object-name}?tagging # virtual host style

Beispielanforderung

Dies ist ein Beispiel für das Lesen einer Gruppe von Objekttags.

GET /apiary/myObject?tagging HTTP/1.1
Authorization: Bearer {token}
Content-Type: text/plain
Host: s3.us.cloud-object-storage.appdomain.cloud
Content-Length: 0
GET /apiarymyObject?tagging HTTP/1.1
Authorization: 'AWS4-HMAC-SHA256 Credential={access-key}/{date}/{region}/s3/aws4_request,SignedHeaders=host;x-amz-date;,Signature={signature}'
x-amz-date: {timestamp}
Content-Type: text/plain
Host: s3.us.cloud-object-storage.appdomain.cloud
Content-Length: 0

Beispielantwort

HTTP/1.1 200 OK
Date: Wed, 5 Oct 2020 15:39:38 GMT
X-Clv-Request-Id: 7afca6d8-e209-4519-8f2c-1af3f1540b42
Accept-Ranges: bytes
Content-Length: 128
<Tagging>
   <TagSet>
      <Tag>
         <Key>string</Key>
         <Value>string</Value>
      </Tag>
   </TagSet>
</Tagging>

Tags eines Objekts löschen

Ein DELETE, der für ein Bucket mit den richtigen Parametern ausgegeben wird, entfernt die Tags eines Objekts.

Syntax

DELETE https://{endpoint}/{bucket-name}{object-name}?tagging # path style
DELETE https://{bucket-name}.{endpoint}{object-name}?tagging # virtual host style

Beispielanforderung

Dies ist ein Beispiel für das Löschen der Tags eines Objekts.

DELETE /apiary/myObject?tagging HTTP/1.1
Authorization: Bearer {token}
Host: s3.us.cloud-object-storage.appdomain.cloud

Beispielanforderung

DELETE /apiary/myObject?tagging HTTP/1.1
Authorization: 'AWS4-HMAC-SHA256 Credential={access-key}/{date}/{region}/s3/aws4_request,SignedHeaders=host;x-amz-date;,Signature={signature}'
x-amz-date: {timestamp}
Content-Type: text/plain
Host: s3.us.cloud-object-storage.appdomain.cloud

Der Server antwortet mit 204 No Content.


Objekt kopieren

Mit einer PUT-Anforderung, in der ein Pfad zu einem neuen Objekt angegeben ist, wird eine neue Kopie eines anderen Objekts erstellt, das im Header x-amz-copy-source angegeben ist. Sofern die Metadaten nicht an anderer Stelle geändert wurden, bleiben diese gleich.

Persönlich identifizierbare Informationen (PII): Verwenden Sie bei der Benennung von Buckets oder Objekten keine Informationen, die einen Benutzer (natürliche Person) anhand seines Namens, seines Standorts oder anderer Merkmale identifizieren könnten.

Für das Kopieren von Objekten (auch standortübergreifend) fallen keine Gebühren für die öffentliche Bandbreite für abgehende Daten an. Alle Daten verbleiben im internen COS-Netz.

Syntax

PUT https://{endpoint}/{bucket-name}/{object-name} # path style
PUT https://{bucket-name}.{endpoint}/{object-name} # virtual host style

Optionale Header

Überschrift Typ Beschreibung
x-amz-metadata-directive Zeichenfolge (COPY oder REPLACE) Mit einer Anweisung REPLACE werden die ursprünglichen Metadaten mit den neu angegebenen Metadaten überschrieben.
x-amz-tagging Zeichenfolge Eine Gruppe von Tags, die auf das Objekt angewendet werden sollen, formatiert als Abfrageparameter ("SomeKey=SomeValue").
x-amz-tagging-directive Zeichenfolge (COPY oder REPLACE) A REPLACE überschreibt die ursprünglichen Tags mit den neuen Tags, die bereitgestellt werden.
x-amz-copy-source-if-match Zeichenfolge (ETag) Erstellt eine Kopie, wenn der angegebene ETag mit dem Quellenobjekt übereinstimmt.
x-amz-copy-source-if-none-match Zeichenfolge (ETag) Erstellt eine Kopie, wenn sich der angegebene ETag vom Quellenobjekt unterscheidet.
x-amz-copy-source-if-unmodified-since Zeichenfolge (Zeitmarke) Erstellt eine Kopie, wenn das Quellenobjekt seit dem angegebenen Datum nicht mehr geändert wurde. Als Datum muss ein gültiges HTTP-Datum (z. B. Wed, 30 Nov 2016 20:21:38 GMT) angegeben werden.
x-amz-copy-source-if-modified-since Zeichenfolge (Zeitmarke) Erstellt eine Kopie, wenn das Quellenobjekt seit dem angegebenen Datum geändert wurde. Als Datum muss ein gültiges HTTP-Datum (z. B. Wed, 30 Nov 2016 20:21:38 GMT) angegeben werden.
x-amz-checksum-algorithm Zeichenfolge Gibt an, welcher Prüfsummenalgorithmus zur Erstellung der Prüfsumme für das Zielobjekt verwendet werden soll.

Beispielanforderung

Dieses Basisbeispiel verwendet das Objekt bee aus dem Bucket garden und erstellt im Bucket apiary eine Kopie mit dem neuen Schlüssel wild-bee.

PUT /apiary/wild-bee HTTP/1.1
Authorization: Bearer {token}
x-amz-copy-source: /garden/bee
Host: s3.us.cloud-object-storage.appdomain.cloud

Beispielanforderung

PUT /apiary/wild-bee HTTP/1.1
Authorization: 'AWS4-HMAC-SHA256 Credential={access-key}/{date}/{region}/s3/aws4_request,SignedHeaders=host;x-amz-date;,Signature={signature}'
x-amz-date: {timestamp}
x-amz-copy-source: /garden/bee
Host: s3.us.cloud-object-storage.appdomain.cloud

Beispielantwort

HTTP/1.1 200 OK
Date: Wed, 30 Nov 2016 19:52:52 GMT
X-Clv-Request-Id: 72992a90-8f86-433f-b1a4-7b1b33714bed
Accept-Ranges: bytes
Server: Cleversafe/3.9.0.137
X-Clv-S3-Version: 2.5
x-amz-request-id: 72992a90-8f86-433f-b1a4-7b1b33714bed
ETag: "853aab195ce770b0dfb294a4e9467e62"
Content-Type: application/xml
Content-Length: 240
<CopyObjectResult xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
  <LastModified>2016-11-30T19:52:53.125Z</LastModified>
  <ETag>"853aab195ce770b0dfb294a4e9467e62"</ETag>
</CopyObjectResult>

CORS-Konfiguration eines Objekts überprüfen

Mit einer OPTIONS-Anforderung, in der ein Pfad zu einem Objekt zusammen mit einer Ursprungsangabe und dem Anforderungstyp angegeben ist, wird überprüft, ob auf dieses Objekt mit diesem Anforderungstyp über den betreffenden Ursprung zugegriffen werden kann. Anders als bei allen anderen Anforderungen ist für eine OPTIONS-Anforderung der Header authorization oder x-amx-date nicht erforderlich.

Syntax

OPTIONS https://{endpoint}/{bucket-name}/{object-name} # path style
OPTIONS https://{bucket-name}.{endpoint}/{object-name} # virtual host style

Beispielanforderung

OPTIONS /apiary/queen-bee HTTP/1.1
Access-Control-Request-Method: PUT
Origin: http://ibm.com
Host: s3.us.cloud-object-storage.appdomain.cloud

Beispielanforderung

OPTIONS /apiary/queen-bee HTTP/1.1
Authorization: 'AWS4-HMAC-SHA256 Credential={access-key}/{date}/{region}/s3/aws4_request,SignedHeaders=host;x-amz-date;,Signature={signature}'
x-amz-date: {timestamp}
Access-Control-Request-Method: PUT
Origin: http://ibm.com
Host: s3.us.cloud-object-storage.appdomain.cloud

Beispielantwort

HTTP/1.1 200 OK
Date: Wed, 07 Dec 2016 16:23:14 GMT
X-Clv-Request-Id: 9a2ae3e1-76dd-4eec-a8f2-1a7f60f63483
Accept-Ranges: bytes
Server: Cleversafe/3.9.0.137
X-Clv-S3-Version: 2.5
x-amz-request-id: 9a2ae3e1-76dd-4eec-a8f2-1a7f60f63483
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: PUT
Access-Control-Allow-Credentials: true
Vary: Origin, Access-Control-Request-Headers, Access-Control-Allow-Methods
Content-Length: 0


Objekte in mehreren Teilen hochladen

Beim Arbeiten mit größeren Objekten werden Operationen mit mehrteiligen Uploads empfohlen, um Objekte in IBM Cloud® Object Storage zu schreiben. Der Upload eines einzelnen Objekts kann als Gruppe einzelner Teile ausgeführt werden. Diese Teile können unabhängig voneinander in beliebiger Reihenfolge und auch parallel hochgeladen werden. Nach Abschluss des Uploads stellt Object Storage alle Teile als ein einziges Objekt dar. Diese Vorgehensweise hat zahlreiche Vorteile: Es kommt nicht zu Fehlern bei umfangreichen Uploads durch Netzunterbrechungen, die Uploads können angehalten und später neu gestartet werden und die Objekte können zeitnah zur Erstellung hochgeladen werden.

Mehrteilige Uploads sind nur für Objekte mit einer Größe von mehr als 5 MB verfügbar. Bei Objekten, die kleiner als 50 GB sind, wird eine Größe der einzelnen Teile zwischen 20 MB und 100 MB empfohlen, um eine optimale Leistung zu erzielen. Bei größeren Objekten kann die Größe der Teile vergrößert werden, ohne dass hierdurch die Leistung wesentlich beeinträchtigt wird.

Aufgrund der erhöhten Komplexität sollten Entwickler eine Bibliothek verwenden, die Unterstützung für mehrteilige Uploads bietet.

Unvollständige mehrteilige Uploads bleiben erhalten, bis das Objekt gelöscht wird oder bis der mehrteilige Upload mit AbortIncompleteMultipartUpload abgebrochen wird. Wird ein unvollständiger mehrteiliger Upload nicht abgebrochen, belegt der nur teilweise durchgeführte Upload weiterhin Ressourcen. Schnittstellen sollten unter Berücksichtigung dieses Aspekts entworfen werden, sodass unvollständige mehrteilige Uploads bereinigt werden.

Der Upload eines Objekts in mehreren Teilen umfasst drei Phasen:

  1. Der Upload wird gestartet und das System erstellt eine UploadId.
  2. Einzelne Teile werden unter Angabe ihrer sequenziellen Teilenummer und der UploadId des Objekts hochgeladen.
  3. Nachdem alle Teile hochgeladen wurden, wird der Upload abgeschlossen, indem eine Anforderung mit der UploadId und einem XML-Block gesendet wird, der eine Auflistung aller Teilenummern und des entsprechenden Werts für Etag enthält.

Mehrteiligen Upload starten

Eine POST-Anforderung, die für ein Objekt mit dem Abfrageparameter upload abgesetzt wird, erstellt einen neuen Wert für UploadId, auf den dann von jedem Teil des hochzuladenden Objekts verwiesen wird.

Persönlich identifizierbare Informationen (PII): Verwenden Sie bei der Benennung von Buckets oder Objekten keine Informationen, die einen Benutzer (natürliche Person) anhand seines Namens, seines Standorts oder anderer Merkmale identifizieren könnten.

Syntax

POST https://{endpoint}/{bucket-name}/{object-name}?uploads= # path style
POST https://{bucket-name}.{endpoint}/{object-name}?uploads= # virtual host style

Optionale Header

Optionale Header
Überschrift Typ Beschreibung
x-amz-checksum-algorithm Zeichenfolge Gibt an, welcher Prüfsummenalgorithmus verwendet wird, um die Prüfsumme für das gesamte mehrteilige Objekt zu erstellen.
x-amz-checksum-type Zeichenfolge Gibt an, welcher Prüfsummentyp zur Erstellung der Prüfsumme für das gesamte mehrteilige Objekt verwendet werden soll.

Beispielanforderung

POST /some-bucket/multipart-object-123?uploads= HTTP/1.1
Authorization: Bearer {token}
Host: s3.us.cloud-object-storage.appdomain.cloud

Beispielanforderung

POST /some-bucket/multipart-object-123?uploads= HTTP/1.1
Authorization: 'AWS4-HMAC-SHA256 Credential={access-key}/{date}/{region}/s3/aws4_request,SignedHeaders=host;x-amz-date;,Signature={signature}'
x-amz-date: {timestamp}
Host: s3.us.cloud-object-storage.appdomain.cloud

Beispielantwort

HTTP/1.1 200 OK
Date: Fri, 03 Mar 2017 20:34:12 GMT
X-Clv-Request-Id: 258fdd5a-f9be-40f0-990f-5f4225e0c8e5
Accept-Ranges: bytes
Server: Cleversafe/3.9.1.114
X-Clv-S3-Version: 2.5
Content-Type: application/xml
Content-Length: 276
<InitiateMultipartUploadResult xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
  <Bucket>some-bucket</Bucket>
  <Key>multipart-object-123</Key>
  <UploadId>0000015a-95e1-4326-654e-a1b57887784f</UploadId>
</InitiateMultipartUploadResult>

Teil hochladen

Eine PUT-Anforderung, die für ein Objekt mit den Abfrageparametern partNumber und uploadId abgesetzt wird, dient zum Hochladen eines Teils eines Objekts. Die Teile können nacheinander oder parallel hochgeladen werden, müssen jedoch in der richtigen Reihenfolge nummeriert sein.

Persönlich identifizierbare Informationen (PII): Verwenden Sie bei der Benennung von Buckets oder Objekten keine Informationen, die einen Benutzer (natürliche Person) anhand seines Namens, seines Standorts oder anderer Merkmale identifizieren könnten.

Syntax

PUT https://{endpoint}/{bucket-name}/{object-name}?partNumber={sequential-integer}&uploadId={uploadId}= # path style
PUT https://{bucket-name}.{endpoint}/{object-name}?partNumber={sequential-integer}&uploadId={uploadId}= # virtual host style

Optionale Header

Optionale Header
Überschrift Typ Beschreibung
Content-MD5 Zeichenfolge Der 128-Bit- MD5-Hashwert der Nutzlast, der mit dem Standard „ Base64 “ verschlüsselt wurde, dient als Integritätsprüfung, um sicherzustellen, dass die Nutzlast während der Übertragung nicht verändert wurde.
x-amz-checksum-crc32 Zeichenfolge Dieser Header ist die Base64 kodierte, 32-Bit CRC32 Prüfsumme des Objekts.
x-amz-checksum-crc32c Zeichenfolge Dieser Header ist die Base64 kodierte, 32-Bit CRC32C Prüfsumme des Objekts.
x-amz-checksum-crc64nvme Zeichenfolge Dieser Header ist die Base64 kodierte, 64-Bit CRC64NVME Prüfsumme des Objekts. Die Prüfsumme CRC64NVME ist immer eine vollständige Objektprüfsumme.
x-amz-checksum-sha1 Zeichenfolge Dieser Header ist der Base64 verschlüsselte 160-Bit-Digest des Objekts SHA1.
x-amz-checksum-sha256 Zeichenfolge Dieser Header ist der Base64 kodierte, 256-Bit SHA256 Digest des Objekts.
x-amz-sdk-checksum-algorithm Zeichenfolge Gibt den Algorithmus an, der bei Verwendung des SDK zur Erstellung der Prüfsumme für das Objekt verwendet wird.
x-amz-trailer Zeichenfolge Gibt an, welcher Prüfsummenwert-Header im Trailer der Nutzlast gefunden wird, um die Integrität des Objekts beim Hochladen zu überprüfen.

Beispielanforderung

PUT /some-bucket/multipart-object-123?partNumber=1&uploadId=0000015a-df89-51d0-2790-dee1ac994053 HTTP/1.1
Authorization: Bearer {token}
Content-Type: application/pdf
Host: s3.us.cloud-object-storage.appdomain.cloud
Content-Length: 13374550

Beispielanforderung

PUT /some-bucket/multipart-object-123?partNumber=1&uploadId=0000015a-df89-51d0-2790-dee1ac994053 HTTP/1.1
Authorization: 'AWS4-HMAC-SHA256 Credential={access-key}/{date}/{region}/s3/aws4_request,SignedHeaders=host;x-amz-date;,Signature={signature}'
x-amz-date: {timestamp}
x-amz-content-sha256: STREAMING-AWS4-HMAC-SHA256-PAYLOAD
Content-Encoding: aws-chunked
x-amz-decoded-content-length: 13374550
Content-Type: application/pdf
Host: s3.us.cloud-object-storage.appdomain.cloud
Content-Length: 13374550

Beispielantwort

HTTP/1.1 200 OK
Date: Sat, 18 Mar 2017 03:56:41 GMT
X-Clv-Request-Id: 17ba921d-1c27-4f31-8396-2e6588be5c6d
Accept-Ranges: bytes
Server: Cleversafe/3.9.1.114
X-Clv-S3-Version: 2.5
ETag: "7417ca8d45a71b692168f0419c17fe2f"
Content-Length: 0

Teile auflisten

Eine GET-Anforderung, in der ein Pfad zu einem mehrteiligen Objekt mit einer aktiven UploadID angegeben ist, die als Abfrageparameter definiert ist, gibt eine Liste aller Teile des Objekts zurück.

Syntax

GET https://{endpoint}/{bucket-name}/{object-name}?uploadId={uploadId} # path style
GET https://{bucket-name}.{endpoint}/{object-name}?uploadId={uploadId} # virtual host style

Abfrageparameter

Parameter
Parameter Erforderlich? Typ Beschreibung
uploadId Erforderlich Zeichenfolge Beim Initialisieren eines mehrteiligen Uploads zurückgegebene Upload-ID.
max-parts Optional Zeichenfolge Standardwert: 1.000.
part-number​-marker Optional Zeichenfolge Definiert, wo die Liste der Teile beginnt

Beispielanforderung

GET /farm/spaceship?uploadId=01000162-3f46-6ab8-4b5f-f7060b310f37 HTTP/1.1
Authorization: bearer {token}
Host: s3.us.cloud-object-storage.appdomain.cloud

Beispielanforderung

GET /farm/spaceship?uploadId=01000162-3f46-6ab8-4b5f-f7060b310f37 HTTP/1.1
Authorization: 'AWS4-HMAC-SHA256 Credential={access-key}/{date}/{region}/s3/aws4_request,SignedHeaders=host;x-amz-date;,Signature={signature}'
x-amz-date: {timestamp}
Host: s3.us.cloud-object-storage.appdomain.cloud

Beispielantwort

HTTP/1.1 200 OK
Date: Mon, 19 Mar 2018 17:21:08 GMT
X-Clv-Request-Id: 6544044d-4f88-4bb6-9ee5-bfadf5023249
Server: Cleversafe/3.12.4.20
X-Clv-S3-Version: 2.5
Accept-Ranges: bytes
Content-Type: application/xml
Content-Length: 743
<ListPartsResult xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
  <Bucket>farm</Bucket>
  <Key>spaceship</Key>
  <UploadId>01000162-3f46-6ab8-4b5f-f7060b310f37</UploadId>
  <Initiator>
    <ID>d6f04d83-6c4f-4a62-a165-696756d63903</ID>
    <DisplayName>d6f04d83-6c4f-4a62-a165-696756d63903</DisplayName>
  </Initiator>
  <Owner>
    <ID>d6f04d83-6c4f-4a62-a165-696756d63903</ID>
    <DisplayName>d6f04d83-6c4f-4a62-a165-696756d63903</DisplayName>
  </Owner>
  <StorageClass>STANDARD</StorageClass>
  <MaxParts>1000</MaxParts>
  <IsTruncated>false</IsTruncated>
  <Part>
    <PartNumber>1</PartNumber>
    <LastModified>2018-03-19T17:20:35.482Z</LastModified>
    <ETag>"bb03cf4fa8603fe407a65ee1dba55265"</ETag>
    <Size>7128094</Size>
  </Part>
</ListPartsResult>

Mehrteiligen Upload ausführen

Eine POST-Anforderung, die für ein Objekt mit dem Abfrageparameter uploadId und dem entsprechenden XML-Block im Hauptteil abgesetzt wird, dient zur Ausführung eines mehrteiligen Uploads.

Syntax

POST https://{endpoint}/{bucket-name}/{object-name}?uploadId={uploadId}= # path style
POST https://{bucket-name}.{endpoint}/{object-name}?uploadId={uploadId}= # virtual host style

Optionale Header

Optionale Überschrift
Überschrift Typ Beschreibung
x-amz-checksum-crc32 Zeichenfolge Dieser Header ist die Base64 kodierte, 32-Bit CRC32 Prüfsumme des Objekts.
x-amz-checksum-crc32c Zeichenfolge Dieser Header ist die Base64 kodierte, 32-Bit CRC32C Prüfsumme des Objekts.
x-amz-checksum-crc64nvme Zeichenfolge Dieser Header ist die Base64 kodierte, 64-Bit CRC64NVME Prüfsumme des Objekts. Die Prüfsumme CRC64NVME ist immer eine vollständige Objektprüfsumme.
x-amz-checksum-sha1 Zeichenfolge Dieser Header ist der Base64 verschlüsselte 160-Bit-Digest des Objekts SHA1.
x-amz-checksum-sha256 Zeichenfolge Dieser Header ist der Base64 kodierte, 256-Bit SHA256 Digest des Objekts.
x-amz-checksum-type Zeichenfolge Gibt an, welcher Prüfsummentyp zur Erstellung der Prüfsumme für das gesamte mehrteilige Objekt verwendet werden soll.

Der Hauptteil der Anforderung muss einen XML-Block mit dem folgenden Schema enthalten:

Körper des Antragsschemas
Element Typ Untergeordnete Elemente Vorfahre Einschränkung
CompleteMultipartUpload Container Teil
Teil Container PartNumber, ETag Löschen
PartNumber Zeichenfolge
Object Gültige Teilenummer
ETag Zeichenfolge
Object Gültige ETag-Wertzeichenfolge
<CompleteMultipartUpload>
  <Part>
    <PartNumber>{sequential part number}</PartNumber>
    <ETag>{ETag value from part upload response header}</ETag>
  </Part>
</CompleteMultipartUpload>

Beispielanforderung

POST /some-bucket/multipart-object-123?uploadId=0000015a-df89-51d0-2790-dee1ac994053 HTTP/1.1
Authorization: Bearer {token}
Content-Type: text/plain; charset=utf-8
Host: s3.us.cloud-object-storage.appdomain.cloud
Content-Length: 257

Beispielanforderung

POST /some-bucket/multipart-object-123?uploadId=0000015a-df89-51d0-2790-dee1ac994053 HTTP/1.1
Authorization: 'AWS4-HMAC-SHA256 Credential={access-key}/{date}/{region}/s3/aws4_request,SignedHeaders=host;x-amz-date;,Signature={signature}'
x-amz-date: {timestamp}
Content-Type: text/plain; charset=utf-8
Host: s3.us.cloud-object-storage.appdomain.cloud
Content-Length: 257
<CompleteMultipartUpload>
  <Part>
    <PartNumber>1</PartNumber>
    <ETag>"7417ca8d45a71b692168f0419c17fe2f"</ETag>
  </Part>
  <Part>
    <PartNumber>2</PartNumber>
    <ETag>"7417ca8d45a71b692168f0419c17fe2f"</ETag>
  </Part>
</CompleteMultipartUpload>

Beispielantwort

HTTP/1.1 200 OK
Date: Fri, 03 Mar 2017 19:18:44 GMT
X-Clv-Request-Id: c8be10e7-94c4-4c03-9960-6f242b42424d
Accept-Ranges: bytes
Server: Cleversafe/3.9.1.114
X-Clv-S3-Version: 2.5
ETag: "765ba3df36cf24e49f67fc6f689dfc6e-2"
Content-Type: application/xml
Content-Length: 364
<CompleteMultipartUploadResult xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
  <Location>http://s3.us.cloud-object-storage.appdomain.cloud/zopse/multipart-object-123</Location>
  <Bucket>some-bucket</Bucket>
  <Key>multipart-object-123</Key>
  <ETag>"765ba3df36cf24e49f67fc6f689dfc6e-2"</ETag>
</CompleteMultipartUploadResult>

Unvollständige mehrteilige Uploads abbrechen

Eine DELETE-Anforderung, die für ein Objekt mit dem Abfrageparameter uploadId abgesetzt wird, dient zur Löschung aller nicht abgeschlossenen Teile eines mehrteiligen Uploads.

Syntax

DELETE https://{endpoint}/{bucket-name}/{object-name}?uploadId={uploadId}= # path style
DELETE https://{bucket-name}.{endpoint}/{object-name}?uploadId={uploadId}= # virtual host style

Beispielanforderung

DELETE /some-bucket/multipart-object-123?uploadId=0000015a-df89-51d0-2790-dee1ac994053 HTTP/1.1
Authorization: Bearer {token}
Host: s3.us.cloud-object-storage.appdomain.cloud

Beispielanforderung

DELETE /some-bucket/multipart-object-123?uploadId=0000015a-df89-51d0-2790-dee1ac994053 HTTP/1.1
Authorization: 'AWS4-HMAC-SHA256 Credential={access-key}/{date}/{region}/s3/aws4_request,SignedHeaders=host;x-amz-date;,Signature={signature}'
x-amz-date: {timestamp}
Host: s3.us.cloud-object-storage.appdomain.cloud

Beispielantwort

HTTP/1.1 204 No Content
Date: Thu, 16 Mar 2017 22:07:48 GMT
X-Clv-Request-Id: 06d67542-6a3f-4616-be25-fc4dbdf242ad
Accept-Ranges: bytes
Server: Cleversafe/3.9.1.114
X-Clv-S3-Version: 2.5

Archiviertes Objekt vorübergehend wiederherstellen

Eine POST-Anforderung, die für ein Objekt mit dem Abfrageparameter restore abgesetzt wird, dient zur Anforderung einer vorübergehenden Wiederherstellung eines archivierten Objekts. Ein Content-MD5-Header oder ein checksum-Header (einschließlich x-amz-checksum-crc32, x-amz-checksum-crc32c, x-amz-checksum-crc64nvme, x-amz-checksum-sha1 oder x-amz-checksum-sha256) ist als Integritätsprüfung für die Nutzdaten erforderlich.

Ein archiviertes Objekt muss wiederhergestellt werden, bevor es heruntergeladen oder geändert wird. Die Lebensdauer des Objekts muss angegeben werden. Nach Ablauf dieser Lebensdauer wird die temporäre Kopie des Objekts gelöscht.

Für Buckets mit der Speicherklasse GLACIER für Lebenszyklusrichtlinienübergänge kann eine Verzögerung von bis zu 12 Stunden auftreten, bevor die wiederhergestellte Kopie für den Zugriff verfügbar ist. Wenn die Übergangsspeicherklasse auf ACCELERATED gesetzt wurde, kann es bis zu zwei (2) Stunden dauern, bis das zurückgeschriebene Objekt verfügbar ist. Eine HEAD-Anforderung kann verwendet werden, um zu prüfen, ob die wiederhergestellte Kopie verfügbar ist.

Um das Objekt dauerhaft wiederherzustellen, muss es in ein Bucket kopiert werden, das keine aktive Lebenszykluskonfiguration hat.

Syntax

POST https://{endpoint}/{bucket-name}/{object-name}?restore # path style
POST https://{bucket-name}.{endpoint}/{object-name}?restore # virtual host style

Nutzdatenelemente

Der Hauptteil der Anforderung muss einen XML-Block mit dem folgenden Schema enthalten:

Element Typ Untergeordnete Elemente Vorfahre Einschränkung
RestoreRequest Container Days, GlacierJobParameters Keine Keine
Tage Integer Keine RestoreRequest Gibt die Lebensdauer des vorübergehend wiederhergestellten Objekts an. Die Mindestanzahl Tage, die eine zurückgeschriebene Kopie des Objekts vorhanden sein kann, ist 1. Nach Ablauf des Zurückschreibungszeitraums wird die temporäre Kopie des Objekts entfernt.
GlacierJobParameters Zeichenfolge Tier RestoreRequest Keine
Tier Zeichenfolge Keine GlacierJobParameters Optional; bleibt das Feld leer, wird standardmäßig der Wert verwendet, der der Speicherschicht der Richtlinie zugeordnet ist, die beim Schreiben des Objekts vorhanden war. Wenn dieser Wert nicht leer bleibt, muss er auf Bulk gesetzt werden, wenn die Übergangsspeicherklasse für die Lebenszyklusrichtlinie des Buckets auf GLACIER und muss auf Accelerated gesetzt werden, wenn die Übergangsspeicherklasse auf ACCELERATED gesetzt wurde.
Optionale Header
Überschrift Typ Beschreibung
Content-MD5 Zeichenfolge Der 128-Bit- MD5-Hash der Nutzlast, der mit dem Standard „ base64 “ verschlüsselt wurde, dient als Integritätsprüfung, um sicherzustellen, dass die Nutzlast während der Übertragung nicht verändert wurde.
x-amz-checksum-crc32 Zeichenfolge Dieser Header ist die Base64 kodierte, 32-Bit CRC32 Prüfsumme des Objekts.
x-amz-checksum-crc32c Zeichenfolge Dieser Header ist die Base64 kodierte, 32-Bit CRC32C Prüfsumme des Objekts.
x-amz-checksum-crc64nvme Zeichenfolge Dieser Header ist die Base64 kodierte, 64-Bit CRC64NVME Prüfsumme des Objekts. Die Prüfsumme CRC64NVME ist immer eine vollständige Objektprüfsumme.
x-amz-checksum-sha1 Zeichenfolge Dieser Header ist der Base64 verschlüsselte 160-Bit-Digest des Objekts SHA1.
x-amz-checksum-sha256 Zeichenfolge Dieser Header ist der Base64 kodierte, 256-Bit SHA256 Digest des Objekts.
<RestoreRequest>
    <Days>{integer}</Days>
    <GlacierJobParameters>
        <Tier>Bulk</Tier>
    </GlacierJobParameters>
</RestoreRequest>

Beispielanforderung

POST /apiary/queenbee?restore HTTP/1.1
Authorization: {authorization-string}
Content-Type: text/plain
Content-MD5: rgRRGfd/OytcM7O5gIaQ==
Content-Length: 305
Host: s3.us.cloud-object-storage.appdomain.cloud

Beispielanforderung

POST /apiary/queenbee?restore HTTP/1.1
Authorization: 'AWS4-HMAC-SHA256 Credential={access-key}/{date}/{region}/s3/aws4_request,SignedHeaders=host;x-amz-date;,Signature={signature}'
x-amz-date: {timestamp}
Content-MD5: rgRRGfd/OytcM7O5gIaQ==
Content-Length: 305
Host: s3.us.cloud-object-storage.appdomain.cloud
<RestoreRequest>
    <Days>3</Days>
    <GlacierJobParameters>
        <Tier>Bulk</Tier>
    </GlacierJobParameters>
</RestoreRequest>

Beispielantwort

HTTP/1.1 202 Accepted
Date: Thu, 16 Mar 2017 22:07:48 GMT
X-Clv-Request-Id: 06d67542-6a3f-4616-be25-fc4dbdf242ad
Accept-Ranges: bytes
Server: Cleversafe/3.9.1.114
X-Clv-S3-Version: 2.5

Metadaten aktualisieren

Zum Aktualisieren der Metadaten für ein vorhandenes Objekt stehen zwei Methoden zur Verfügung:

  • Die Anforderung PUT mit den neuen Metadaten und dem Inhalt des ursprünglichen Objekts.
  • Die Ausführung der Anforderung COPY mit den neuen Metadaten, in der das ursprüngliche Objekt als Kopierquelle angegeben ist.

Alle Metadatenschlüssel müssen mit dem Präfix x-amz-meta- versehen werden.

PUT zum Aktualisieren der Metadaten verwenden

Die PUT Anfrage erfordert eine Kopie des vorhandenen Objekts, da der Inhalt überschrieben wird.

Syntax

PUT https://{endpoint}/{bucket-name}/{object-name} # path style
PUT https://{bucket-name}.{endpoint}/{object-name} # virtual host style

Beispielanforderung

PUT /apiary/queen-bee HTTP/1.1
Authorization: Bearer {token}
Content-Type: text/plain; charset=utf-8
Host: s3.us.cloud-object-storage.appdomain.cloud
x-amz-meta-key1: value1
x-amz-meta-key2: value2

Content-Length: 533

 The 'queen' bee is developed from larvae selected by worker bees and fed a
 substance referred to as 'royal jelly' to accelerate sexual maturity. After a
 short while the 'queen' is the mother of nearly every bee in the hive, and
 the colony will fight fiercely to protect her.

Beispielanforderung

PUT /apiary/queen-bee HTTP/1.1
Authorization: Bearer {token}
Content-Type: text/plain; charset=utf-8
Content-MD5: M625BaNwd/OytcM7O5gIaQ==
Host: s3.us.cloud-object-storage.appdomain.cloud
x-amz-meta-key1: value1
x-amz-meta-key2: value2

Content-Length: 533

 The 'queen' bee is developed from larvae selected by worker bees and fed a
 substance referred to as 'royal jelly' to accelerate sexual maturity. After a
 short while the 'queen' is the mother of nearly every bee in the hive, and
 the colony will fight fiercely to protect her.

Beispielantwort

HTTP/1.1 200 OK
Date: Thu, 25 Aug 2016 18:30:02 GMT
X-Clv-Request-Id: 9f0ca49a-ae13-4d2d-925b-117b157cf5c3
Accept-Ranges: bytes
Server: Cleversafe/3.9.0.121
X-Clv-S3-Version: 2.5
x-amz-request-id: 9f0ca49a-ae13-4d2d-925b-117b157cf5c3
ETag: "3ca744fa96cb95e92081708887f63de5"
Content-Length: 0

COPY zum Aktualisieren der Metadaten verwenden

Die vollständigen Details zur Anforderung COPY finden Sie hier.

Syntax

PUT https://{endpoint}/{bucket-name}/{object-name} # path style
PUT https://{bucket-name}.{endpoint}/{object-name} # virtual host style

Beispielanforderung

PUT /apiary/queen-bee HTTP/1.1
Authorization: Bearer {token}
Content-Type: text/plain; charset=utf-8
Host: s3.us.cloud-object-storage.appdomain.cloud
x-amz-copy-source: /apiary/queen-bee
x-amz-metadata-directive: REPLACE
x-amz-meta-key1: value1
x-amz-meta-key2: value2

Beispielanforderung

PUT /apiary/queen-bee HTTP/1.1
Authorization: 'AWS4-HMAC-SHA256 Credential={access-key}/{date}/{region}/s3/aws4_request,SignedHeaders=host;x-amz-date;,Signature={signature}'
x-amz-date: {timestamp}
Content-Type: text/plain
Host: s3.us.cloud-object-storage.appdomain.cloud
x-amz-copy-source: /apiary/queen-bee
x-amz-metadata-directive: REPLACE
x-amz-meta-key1: value1
x-amz-meta-key2: value2

Beispielantwort

HTTP/1.1 200 OK
Date: Thu, 25 Aug 2016 18:30:02 GMT
X-Clv-Request-Id: 9f0ca49a-ae13-4d2d-925b-117b157cf5c3
Accept-Ranges: bytes
Server: Cleversafe/3.9.0.121
X-Clv-S3-Version: 2.5
x-amz-request-id: 9f0ca49a-ae13-4d2d-925b-117b157cf5c3
ETag: "3ca744fa96cb95e92081708887f63de5"
Content-Length: 0

Nächste Schritte

Weitere Informationen zu Bucketoperationen finden Sie in der Dokumentation.