IBM Cloud Docs
Bucketoperationen

Bucketoperationen

Die moderne Funktionalität von IBM Cloud® Object Storage ist bequem über eine REST-konforme API verfügbar. Hier werden Operationen und Methoden dokumentiert, die für die Interaktion mit Buckets (in denen Objekte gespeichert werden) verwendet werden.

Weitere Informationen zu den Berechtigungen und zum Zugriff finden Sie unter Bucket permissions.

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 Informationen, die in Tabelle 1 dargestellt sind, wenn Sie eine HMAC-Signatur erstellen.

HMAC-Signaturkomponenten
Schlüssel Wert Beispiel
{access_key} Zugriffsschlüssel, der Ihrem Service Credential zugewiesen ist cf4965cebe074720a4929759f57e1214
{date} Das formatierte Datum Ihrer Anforderung (yyyymmdd). 20180613
{region} Der Positionscode für Ihren Endpunkt. us-standard
{signature} Der Hashwert, der unter Verwendung des geheimen Schlüssels, der Position und des Datums erstellt wird. ffe2b6e18f9dcc41f593f4dbb39882a6bb4d26a73a04326e62a8d344e07c1a3e
{timestamp} Das formatierte Datum und die formatierte Uhrzeit Ihrer Anfrage. 20180614T001804Z

Buckets auflisten

Eine an den Endpunktstamm gesendete GET-Anfrage gibt eine Liste der Buckets zurück, die mit der angegebenen Serviceinstanz verbunden sind. Weitere Informationen zu Endpunkten enthält Endpunkte und Speicherpositionen.

In Satellite-Umgebungen werden nicht alle Operationen unterstützt. Weitere Informationen finden Sie unter Unterstützte Satellite-APIs.

Header
Überschrift Typ Erforderlich? Beschreibung
ibm-service-instance-id Zeichenfolge Ja Listet Buckets auf, die in dieser Serviceinstanz erstellt wurden.
Abfrageparameter
Abfrageparameter Wert Erforderlich? Beschreibung
extended Keine Nein Bietet LocationConstraint und CreationTemplateId Metadaten in der Auflistung.

Syntax

GET https://{endpoint}/

Beispielanforderung

GET / HTTP/1.1
Authorization: Bearer {token}
Content-Type: text/plain
Host: s3.us.cloud-object-storage.appdomain.cloud
ibm-service-instance-id: {ibm-service-instance-id}

Beispielanforderung

GET / 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

Beispielantwort

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ListAllMyBucketsResult xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
    <Owner>
        <ID>{account-id}</ID>
        <DisplayName>{account-id}</DisplayName>
    </Owner>
    <Buckets>
        <Bucket>
            <Name>bucket-27200-lwx4cfvcue</Name>
            <CreationDate>2016-08-18T14:21:36.593Z</CreationDate>
        </Bucket>
        <Bucket>
            <Name>bucket-27590-drqmydpfdv</Name>
            <CreationDate>2016-08-18T14:22:32.366Z</CreationDate>
        </Bucket>
        <Bucket>
            <Name>bucket-27852-290jtb0n2y</Name>
            <CreationDate>2016-08-18T14:23:03.141Z</CreationDate>
        </Bucket>
        <Bucket>
            <Name>bucket-28731-k0o1gde2rm</Name>
            <CreationDate>2016-08-18T14:25:09.599Z</CreationDate>
        </Bucket>
    </Buckets>
</ListAllMyBucketsResult>

Erweiterte Liste abrufen

Syntax

GET https://{endpoint}/?extended

Beispielanforderung

GET /?extended HTTP/1.1
Authorization: Bearer {token}
Content-Type: text/plain
Host: s3.us.cloud-object-storage.appdomain.cloud
ibm-service-instance-id: {ibm-service-instance-id}

Beispielanforderung

GET /?extended 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

Beispielantwort

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ListAllMyBucketsResult xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
    <Owner>
        <ID>{account-id}</ID>
        <DisplayName>{account-id}</DisplayName>
    </Owner>
    <IsTruncated>false</IsTruncated>
    <MaxKeys>1000</MaxKeys>
    <Prefix/>
    <Marker/>
    <Buckets>
        <Bucket>
            <Name>bucket-27200-lwx4cfvcue</Name>
            <CreationDate>2016-08-18T14:21:36.593Z</CreationDate>
            <LocationConstraint>us-south-standard</LocationConstraint>
        </Bucket>
        <Bucket>
            <Name>bucket-27590-drqmydpfdv</Name>
            <CreationDate>2016-08-18T14:22:32.366Z</CreationDate>
            <LocationConstraint>us-standard</LocationConstraint>
        </Bucket>
        <Bucket>
            <Name>bucket-27852-290jtb0n2y</Name>
            <CreationDate>2016-08-18T14:23:03.141Z</CreationDate>
            <LocationConstraint>eu-standard</LocationConstraint>
        </Bucket>
        <Bucket>
            <Name>bucket-28731-k0o1gde2rm</Name>
            <CreationDate>2016-08-18T14:25:09.599Z</CreationDate>
            <LocationConstraint>us-cold</LocationConstraint>
        </Bucket>
    </Buckets>
</ListAllMyBucketsResult>

Bucket erstellen

Eine PUT-Anforderung, die an das Endpunktstammverzeichnis gesendet wird und auf die eine Zeichenfolge folgt, erstellt ein Bucket. Weitere Informationen zu Endpunkten enthält Endpunkte und Speicherpositionen. Bucket-Namen müssen global eindeutig und DNS-konform sein. Namen mit einer Länge zwischen 3 und 63 Zeichen müssen aus Kleinbuchstaben, Zahlen, Punkten und Bindestrichen bestehen. Bucketnamen müssen mit einem Kleinbuchstaben oder einer Ziffer anfangen und enden. Bucketnamen dürfen keine aufeinanderfolgenden Punkte oder Gedankenstriche enthalten. Bucket-Namen, die IP-Adressen ähneln, sind nicht zulässig. Diese Operation verwendet keine operationsspezifischen Abfrageparameter.

Bucketnamen müssen eindeutig sein, weil alle Buckets in der öffentlichen Cloud einen gemeinsamen Namensbereich verwenden. Diese Anforderung ermöglicht den Zugriff auf einen Bucket, ohne dass eine Service-Instanz oder Kontoinformationen angegeben werden müssen. Des Weiteren ist es nicht möglich, ein Bucket mit einem Namen zu erstellen, der mit der Zeichenfolge cosv1- oder account- beginnt, da diese Präfixe für das System reserviert sind.

In Satellite-Umgebungen werden nicht alle Operationen unterstützt. Weitere Informationen finden Sie unter Unterstützte Satellite-APIs.

Header
Überschrift Typ Erforderlich? Beschreibung
ibm-service-instance-id Zeichenfolge Ja Dieser Header verweist auf die Serviceinstanz, in der der Bucket erstellt werden soll und der die Datennutzung in Rechnung gestellt werden kann.
x-amz-bucket-object-lock-enabled Boolesch Nein Gibt an, ob Sie die Objektsperre für das neue Bucket aktivieren wollen. Dieser Header aktiviert automatisch die Versionssteuerung.

Stellen Sie beim Festlegen der Objektsperre für ein neues Bucket sicher, dass der Header x-amz-bucket-object-lock-enabled keine Schreibfehler enthält. Wenn entweder der Header oder der Wert falsch geschrieben ist, wird das Bucket erstellt, aber die Objektsperre und -versionierung ist nicht aktiviert.

Persönlich identifizierbare Informationen (PII): Verwenden Sie bei der Erstellung von Buckets oder beim Hinzufügen von Objekten keine Informationen, die einen Benutzer (eine natürliche Person) durch Namen, Standort oder andere Mittel im Namen des Buckets oder Objekts identifizieren können.

Syntax

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

Beispielanforderung

Im folgenden Beispiel wird ein Bucket namens 'images' erstellt.

PUT /images HTTP/1.1
Authorization: Bearer {token}
Content-Type: text/plain
Host: s3.us.cloud-object-storage.appdomain.cloud
ibm-service-instance-id: {ibm-service-instance-id}

Beispielanforderung

PUT /images 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

Beispielantwort

HTTP/1.1 200 OK
Date: Wed, 24 Aug 2016 17:45:25 GMT
X-Clv-Request-Id: dca204eb-72b5-4e2a-a142-808d2a5c2a87
Accept-Ranges: bytes
Server: Cleversafe/3.9.0.115
X-Clv-S3-Version: 2.5
x-amz-request-id: dca204eb-72b5-4e2a-a142-808d2a5c2a87
Content-Length: 0

Bucket mit anderer Speicherklasse erstellen

Um einen Bucket mit einer anderen Speicherklasse zu erstellen, senden Sie einen XML-Block, der eine Bucket-Konfiguration mit einem LocationConstraint von {provisioning code} angibt, im Body einer PUT-Anfrage an einen Bucket-Endpunkt. Weitere Informationen zu Endpunkten enthält Endpunkte und Speicherpositionen. Es gelten die Namensregeln für Standardbuckets. Diese Operation verwendet keine operationsspezifischen Abfrageparameter.

In Satellite-Umgebungen werden nicht alle Operationen unterstützt. Weitere Informationen finden Sie unter Unterstützte Satellite-APIs.

| | Überschrift | Typ | Beschreibung | |--------------------------|--------|--------------------------------------------------------------------------------------------------------------------- | ibm-service-instance-id | Zeichenfolge | Dieser Header verweist auf die Serviceinstanz, in der der Bucket erstellt werden soll und der die Datennutzung in Rechnung gestellt werden kann. |

Syntax

PUT https://{endpoint}/{bucket-name} # path style
PUT https://{bucket-name}.{endpoint} # 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
CreateBucketConfiguration Container LocationConstraint
LocationConstraint Zeichenfolge
CreateBucketConfiguration Gültiger Positionscode
<CreateBucketConfiguration>
  <LocationConstraint>us-vault</LocationConstraint>
</CreateBucketConfiguration>

Auf eine Liste gültiger Bereitstellungscodes für LocationConstraint kann im Handbuch für Speicherklassen verwiesen werden.

Beispielanforderung

Im folgenden Beispiel wird ein Bucket namens 'vault-images' erstellt.

PUT /vault-images HTTP/1.1
Authorization: Bearer {token}
Content-Type: text/plain
Host: s3.us.cloud-object-storage.appdomain.cloud
ibm-service-instance-id: {ibm-service-instance-id}
Content-Length: 110

Beispielanforderung

PUT /vault-images 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
<CreateBucketConfiguration>
  <LocationConstraint>us-vault</LocationConstraint>
</CreateBucketConfiguration>

Beispielantwort

HTTP/1.1 200 OK
Date: Fri, 17 Mar 2017 17:52:17 GMT
X-Clv-Request-Id: b6483b2c-24ae-488a-884c-db1a93b9a9a6
Accept-Ranges: bytes
Server: Cleversafe/3.9.0.115
X-Clv-S3-Version: 2.5
Content-Length: 0

Erstellen eines Buckets mit Key Protect oder Hyper Protect Crypto Services verwalteten Verschlüsselungsschlüsseln (SSE-KP)

Um ein Bucket zu erstellen, in dem die Verschlüsselungsschlüssel von Key Protect oder Hyper Protect Crypto Servicesverwaltet werden, ist es erforderlich, auf eine aktive Key Protect-oder Hyper Protect Crypto Services-Serviceinstanz zuzugreifen. Diese Operation verwendet keine operationsspezifischen Abfrageparameter.

Weitere Informationen zur Verwendung von Key Protect zur Verwaltung Ihrer Verschlüsselungsschlüssel finden Sie in der Dokumentation zu Key Protect.

Weitere Informationen zu Hyper Protect Crypto Servicesfinden Sie in der Dokumentation.

Die verwaltete Verschlüsselung für ein regionsübergreifendes Bucket muss einen Rootschlüssel von einer Key Protect-Instanz am nächsten Hochverfügbarkeitsstandort (us-south oder jp-tok) verwenden.

In Satellite-Umgebungen werden nicht alle Operationen unterstützt. Weitere Informationen finden Sie unter Unterstützte Satellite-APIs.

Header
Überschrift Typ Beschreibung
ibm-service-instance-id Zeichenfolge Dieser Header verweist auf die Serviceinstanz, in der der Bucket erstellt werden soll und der die Datennutzung in Rechnung gestellt werden kann.
ibm-sse-kp-encryption-algorithm Zeichenfolge Dieser Header wird verwendet, um den Algorithmus und die Größe des Schlüssels anzugeben, der mit dem unter Key Protect gespeicherten Verschlüsselungsschlüssel verwendet werden soll. Dieser Wert muss auf die Zeichenfolge AES256 gesetzt werden.
ibm-sse-kp-customer-root-key-crn Zeichenfolge Dieser Header wird verwendet, um auf den spezifischen Stammschlüssel zu verweisen, der von Key Protect oder Hyper Protect Crypto Services zur Verschlüsselung dieses Buckets verwendet wird. Dieser Wert muss den vollständigen CRN des Rootschlüssels enthalten.

Syntax

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

Beispielanforderung

Im folgenden Beispiel wird ein Bucket namens 'secure-files' erstellt.

PUT /secure-files HTTP/1.1
Authorization: Bearer {token}
Content-Type: text/plain
Host: s3.us-south.objectstorage.s3.us-south.cloud-object-storage.appdomain.cloud.net
ibm-service-instance-id: {ibm-service-instance-id}
ibm-sse-kp-encryption-algorithm: "AES256"
ibm-sse-kp-customer-root-key-crn: {customer-root-key-id}

Beispielanforderung

PUT /secure-files 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
ibm-sse-kp-encryption-algorithm: "AES256"
ibm-sse-kp-customer-root-key-crn: {customer-root-key-id}

Beispielantwort

HTTP/1.1 200 OK
Date: Wed, 24 Aug 2016 17:45:25 GMT
X-Clv-Request-Id: dca204eb-72b5-4e2a-a142-808d2a5c2a87
Accept-Ranges: bytes
Server: Cleversafe/3.9.0.115
X-Clv-S3-Version: 2.5
x-amz-request-id: dca204eb-72b5-4e2a-a142-808d2a5c2a87
Content-Length: 0

Header eines Buckets abrufen

Eine HEAD, die an einen Bereich ausgegeben wird, gibt die Kopfzeilen für diesen Bereich zurück.

HEAD-Anforderungen geben keinen Hauptteil zurück und können deshalb auch keine spezifischen Fehlernachrichten wie beispielsweise NoSuchBucket zurückgeben, sondern lediglich die Nachricht NotFound.

In Satellite-Umgebungen werden nicht alle Operationen unterstützt. Weitere Informationen finden Sie unter Unterstützte Satellite-APIs.

Syntax

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

Beispielanforderung

Im folgenden Beispiel werden die Header für das Bucket 'images' abgerufen.

HEAD /images HTTP/1.1
Content-Type: text/plain
Host: s3.us.cloud-object-storage.appdomain.cloud
Authorization:Bearer {token}

Beispielanforderung

HEAD /images 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

Beispielantwort

HTTP/1.1 200 OK
Date: Wed, 24 Aug 2016 17:46:35 GMT
X-Clv-Request-Id: 0c2832e3-3c51-4ea6-96a3-cd8482aca08a
Accept-Ranges: bytes
Server: Cleversafe/3.9.0.115
X-Clv-S3-Version: 2.5
x-amz-request-id: 0c2832e3-3c51-4ea6-96a3-cd8482aca08a
Content-Length: 0

Beispielanforderung

HEAD anfragen an Buckets mit Key Protect Verschlüsselung geben zusätzliche Kopfzeilen zurück.

HEAD /secure-files HTTP/1.1
Content-Type: text/plain
Host: s3.us.cloud-object-storage.appdomain.cloud
Authorization:Bearer {token}

Beispielanforderung

HEAD /secure-files 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

Beispielantwort

HTTP/1.1 200 OK
Date: Wed, 24 Aug 2016 17:46:35 GMT
X-Clv-Request-Id: 0c2832e3-3c51-4ea6-96a3-cd8482aca08a
Accept-Ranges: bytes
Server: Cleversafe/3.9.0.115
X-Clv-S3-Version: 2.5
x-amz-request-id: 0c2832e3-3c51-4ea6-96a3-cd8482aca08a
Content-Length: 0
ibm-sse-kp-enabled: True
ibm-sse-kp-crk-id: {customer-root-key-id}

Objekte in einem bestimmten Bereich auflisten (Version 2)

Eine an einen Bucket gerichtete GET-Anfrage liefert eine Liste von Objekten, die auf jeweils 1.000 begrenzt ist und in nicht-lexikografischer Reihenfolge zurückgegeben wird. Der Wert StorageClass, der in der Antwort zurückgegeben wird, ist ein Standardwert, da Speicherklassenoperationen nicht in Object Storage implementiert sind. Diese Operation verwendet keine operationsspezifischen Header oder Nutzdatenelemente.

In Satellite-Umgebungen werden nicht alle Operationen unterstützt. Weitere Informationen finden Sie unter Unterstützte Satellite-APIs.

Syntax

GET https://{endpoint}/{bucket-name}?list-type=2 # path style
GET https://{bucket-name}.{endpoint}?list-type=2 # virtual host style

Optionale Abfrageparameter

Optionale Abfrageparameter
Name Typ Beschreibung
list-type Zeichenfolge Gibt Version 2 der API an. Der Wert muss '2' lauten.
prefix Zeichenfolge Beschränkt die Antwort auf Objektnamen, die mit prefix beginnen.
delimiter Zeichenfolge Gruppiert Objekte zwischen prefix und delimiter.
encoding-type Zeichenfolge Wenn Unicode-Zeichen, die von XML nicht unterstützt werden, in einem Objektnamen verwendet werden, kann für diesen Parameter url angegeben werden, um die Antwort ordnungsgemäß zu codieren.
max-keys Zeichenfolge Beschränkt die Anzahl der Objekte, die in der Antwort angezeigt werden sollen. Der Standardwert und der Maximalwert sind 1.000.
fetch-owner Zeichenfolge Version 2 der API enthält standardmäßig keine Informationen zu Owner. Setzen Sie diesen Parameter auf true, wenn die Antwort Owner Informationen enthalten soll.
continuation-token Zeichenfolge Gibt die nächste Gruppe von Objekten an, die zurückgegeben wird, wenn Ihre Antwort abgeschnitten wird (IsTruncated Element gibt true zurück).
Ihre erste Antwort enthält das Element NextContinuationToken. Verwenden Sie dieses Token in der nächsten Anforderung als Wert für continuation-token.
start-after Zeichenfolge Gibt Schlüsselnamen nach einem bestimmten Schlüsselobjekt zurück.
Dieser Parameter ist nur in der ersten Anforderung gültig. Wenn Ihre Anforderung den Parameter continuation-token enthält, dann wird dieser Parameter ignoriert.

Beispielanforderung (einfach)

Diese Anforderung listet die Objekte im Bucket 'apiary' auf.

GET /apiary?list-type=2 HTTP/1.1
Content-Type: text/plain
Host: s3.us.cloud-object-storage.appdomain.cloud
Authorization: Bearer {token}

Beispielanforderung (einfach)

GET /apiary?list-type=2 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

Beispielantwort (einfach)

HTTP/1.1 200 OK
Date: Wed, 24 Aug 2016 17:36:24 GMT
X-Clv-Request-Id: 9f39ff2e-55d1-461b-a6f1-2d0b75138861
Accept-Ranges: bytes
Server: Cleversafe/3.13.3.57
X-Clv-S3-Version: 2.5
x-amz-request-id: 9f39ff2e-55d1-461b-a6f1-2d0b75138861
Content-Type: application/xml
Content-Length: 814
<ListBucketResult xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
  <Name>apiary</Name>
  <Prefix/>
  <KeyCount>3</KeyCount>
  <MaxKeys>1000</MaxKeys>
  <Delimiter/>
  <IsTruncated>false</IsTruncated>
  <Contents>
    <Key>drone-bee</Key>
    <LastModified>2016-08-25T17:38:38.549Z</LastModified>
    <ETag>"0cbc6611f5540bd0809a388dc95a615b"</ETag>
    <Size>4</Size>
    <StorageClass>STANDARD</StorageClass>
  </Contents>
  <Contents>
    <Key>soldier-bee</Key>
    <LastModified>2016-08-25T17:49:06.006Z</LastModified>
    <ETag>"37d4c94839ee181a2224d6242176c4b5"</ETag>
    <Size>11</Size>
    <StorageClass>STANDARD</StorageClass>
  </Contents>
  <Contents>
    <Key>worker-bee</Key>
    <LastModified>2016-08-25T17:46:53.288Z</LastModified>
    <ETag>"d34d8aada2996fc42e6948b926513907"</ETag>
    <Size>467</Size>
    <StorageClass>STANDARD</StorageClass>
  </Contents>
</ListBucketResult>

Beispielanforderung (Parameter 'max-keys')

Diese Anforderung listet die Objekte im Bucket 'apiary' auf, wobei die maximale Anzahl zurückgegebener Schlüssel auf '1' gesetzt ist.

GET /apiary?list-type=2&max-keys=1 HTTP/1.1
Content-Type: text/plain
Host: s3.us.cloud-object-storage.appdomain.cloud
Authorization: Bearer {token}

Beispielanforderung (Parameter max-keys)

GET /apiary?list-type=2&max-keys=1 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

Beispielantwort (abgeschnittene Antwort)

HTTP/1.1 200 OK
Date: Wed, 24 Aug 2016 17:36:24 GMT
X-Clv-Request-Id: 9f39ff2e-55d1-461b-a6f1-2d0b75138861
Accept-Ranges: bytes
Server: Cleversafe/3.13.3.57
X-Clv-S3-Version: 2.5
x-amz-request-id: 9f39ff2e-55d1-461b-a6f1-2d0b75138861
Content-Type: application/xml
Content-Length: 598
<ListBucketResult xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
  <Name>apiary</Name>
  <Prefix/>
  <NextContinuationToken>1dPe45g5uuxjyASPegLq80sQsZKL5OB2by4Iz_7YGR5NjiOENBPZXqvKJN6_PgKGVzZYTlws7qqdWaMklzb8HX2iDxxl72ane3rUFQrvNMeIih49MZ4APUjrAuYI83KxSMmfKHGZyKallFkD5N6PwKg</NextContinuationToken>
  <KeyCount>1</KeyCount>
  <MaxKeys>1</MaxKeys>
  <Delimiter/>
  <IsTruncated>true</IsTruncated>
  <Contents>
    <Key>drone-bee</Key>
    <LastModified>2016-08-25T17:38:38.549Z</LastModified>
    <ETag>"0cbc6611f5540bd0809a388dc95a615b"</ETag>
    <Size>4</Size>
    <StorageClass>STANDARD</StorageClass>
  </Contents>
</ListBucketResult>

Beispielanforderung (Parameter 'continuation-token')

Diese Anforderung listet die Objekte im Bucket 'apiary' auf, wobei ein Fortsetzungstoken angegeben ist.

GET /apiary?list-type=2&max-keys=1&continuation-token=1dPe45g5uuxjyASPegLq80sQsZKL5OB2by4Iz_7YGR5NjiOENBPZXqvKJN6_PgKGVzZYTlws7qqdWaMklzb8HX2iDxxl72ane3rUFQrvNMeIih49MZ4APUjrAuYI83KxSMmfKHGZyKallFkD5N6PwKg HTTP/1.1
Content-Type: text/plain
Host: s3.us.cloud-object-storage.appdomain.cloud
Authorization: Bearer {token}

Beispielanforderung (Parameter Fortsetzungs-Token)

GET /apiary?list-type=2&max-keys=1&continuation-token=1dPe45g5uuxjyASPegLq80sQsZKL5OB2by4Iz_7YGR5NjiOENBPZXqvKJN6_PgKGVzZYTlws7qqdWaMklzb8HX2iDxxl72ane3rUFQrvNMeIih49MZ4APUjrAuYI83KxSMmfKHGZyKallFkD5N6PwKg  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

Beispielantwort (abgeschnittene Antwort, Parameter 'continuation-token')

HTTP/1.1 200 OK
Date: Wed, 24 Aug 2016 17:36:24 GMT
X-Clv-Request-Id: 9f39ff2e-55d1-461b-a6f1-2d0b75138861
Accept-Ranges: bytes
Server: Cleversafe/3.13.3.57
X-Clv-S3-Version: 2.5
x-amz-request-id: 9f39ff2e-55d1-461b-a6f1-2d0b75138861
Content-Type: application/xml
Content-Length: 604
<ListBucketResult xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
  <Name>apiary</Name>
  <Prefix/>
  <ContinuationToken>1dPe45g5uuxjyASPegLq80sQsZKL5OB2by4Iz_7YGR5NjiOENBPZXqvKJN6_PgKGVzZYTlws7qqdWaMklzb8HX2iDxxl72ane3rUFQrvNMeIih49MZ4APUjrAuYI83KxSMmfKHGZyKallFkD5N6PwKg</ContinuationToken>
  <NextContinuationToken>1a8j20CqowRrM4epIQ7fTBuyPZWZUeA8Epog16wYu9KhAPNoYkWQYhGURsIQbll1lP7c-OO-V5Vyzu6mogiakC4NSwlK4LyRDdHQgY-yPH4wMB76MfQR61VyxI4TJLxIWTPSZA0nmQQWcuV2mE4jiDA</NextContinuationToken>
  <KeyCount>1</KeyCount>
  <MaxKeys>1</MaxKeys>
  <Delimiter/>
  <IsTruncated>true</IsTruncated>
  <Contents>
    <Key>soldier-bee</Key>
    <LastModified>2016-08-25T17:49:06.006Z</LastModified>
    <ETag>"37d4c94839ee181a2224d6242176c4b5"</ETag>
    <Size>11</Size>
    <StorageClass>STANDARD</StorageClass>
  </Contents>
</ListBucketResult>

Objekte in einem bestimmten Bucket auflisten (veraltet)

Diese API ist aus Gründen der Kompatibilität mit einer früheren Version enthalten. Informationen zur empfohlenen Methode beim Abrufen von Objekten in einem Bucket finden Sie unter Version 2.

In Satellite-Umgebungen werden nicht alle Operationen unterstützt. Weitere Informationen finden Sie unter Unterstützte Satellite-APIs.

Eine an einen Bucket gerichtete GET-Anfrage liefert eine Liste von Objekten, die auf jeweils 1.000 begrenzt ist und in nicht-lexikografischer Reihenfolge zurückgegeben wird. Der Wert StorageClass, der in der Antwort zurückgegeben wird, ist ein Standardwert, da Speicherklassenoperationen nicht in Object Storage implementiert sind. Diese Operation verwendet keine operationsspezifischen Header oder Nutzdatenelemente.

Syntax

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

Optionale Abfrageparameter für Listenobjektmethode

Optionale Abfrageparameter
Name Typ Beschreibung
prefix Zeichenfolge Beschränkt die Antwort auf Objektnamen, die mit prefix beginnen.
delimiter Zeichenfolge Gruppiert Objekte zwischen prefix und delimiter.
encoding-type Zeichenfolge Wenn Unicode-Zeichen, die von XML nicht unterstützt werden, in einem Objektnamen verwendet werden, kann für diesen Parameter url angegeben werden, um die Antwort ordnungsgemäß zu codieren.
max-keys Zeichenfolge Beschränkt die Anzahl der Objekte, die in der Antwort angezeigt werden sollen. Der Standardwert und der Maximalwert sind 1.000.
marker Zeichenfolge Gibt das Objekt an, bei dem die Auflistung beginnen soll, in binärer Reihenfolge UTF-8.

Beispielanforderung

Diese Anforderung listet die Objekte im Bucket 'apiary' auf.

GET /apiary HTTP/1.1
Content-Type: text/plain
Host: s3.us.cloud-object-storage.appdomain.cloud
Authorization: Bearer {token}

Beispielanforderung

GET /apiary 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

Beispielantwort

HTTP/1.1 200 OK
Date: Wed, 24 Aug 2016 17:36:24 GMT
X-Clv-Request-Id: 9f39ff2e-55d1-461b-a6f1-2d0b75138861
Accept-Ranges: bytes
Server: Cleversafe/3.9.0.115
X-Clv-S3-Version: 2.5
x-amz-request-id: 9f39ff2e-55d1-461b-a6f1-2d0b75138861
Content-Type: application/xml
Content-Length: 909
<ListBucketResult xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
  <Name>apiary</Name>
  <Prefix/>
  <Marker/>
  <MaxKeys>1000</MaxKeys>
  <Delimiter/>
  <IsTruncated>false</IsTruncated>
  <Contents>
    <Key>drone-bee</Key>
    <LastModified>2016-08-25T17:38:38.549Z</LastModified>
    <ETag>"0cbc6611f5540bd0809a388dc95a615b"</ETag>
    <Size>4</Size>
    <Owner>
      <ID>{account-id}</ID>
      <DisplayName>{account-id}</DisplayName>
    </Owner>
    <StorageClass>STANDARD</StorageClass>
  </Contents>
  <Contents>
    <Key>soldier-bee</Key>
    <LastModified>2016-08-25T17:49:06.006Z</LastModified>
    <ETag>"37d4c94839ee181a2224d6242176c4b5"</ETag>
    <Size>11</Size>
    <Owner>
      <ID>{account-id}</ID>
      <DisplayName>{account-id}</DisplayName>
    </Owner>
    <StorageClass>STANDARD</StorageClass>
  </Contents>
  <Contents>
    <Key>worker-bee</Key>
    <LastModified>2016-08-25T17:46:53.288Z</LastModified>
    <ETag>"d34d8aada2996fc42e6948b926513907"</ETag>
    <Size>467</Size>
    <Owner>
      <ID>{account-id}</ID>
      <DisplayName>{account-id}</DisplayName>
    </Owner>
    <StorageClass>STANDARD</StorageClass>
  </Contents>
</ListBucketResult>

Bucket löschen

Eine DELETE Anfrage, die an einen leeren Bereich gerichtet ist, löscht diesen Bereich. Der Name des Buckets wird vom System für 10 Minuten nach dem Löschen reserviert. Nach 10 Minuten wird der Name zur Wiederverwendung freigegeben. Nur leere Buckets können gelöscht werden.

Wenn die Object Storage-Serviceinstanz gelöscht wird, werden alle Bucketnamen in dieser Instanz für 7 Tage vom System reserviert. Nach 7 Tagen werden die Namen zur Wiederverwendung freigegeben.

In Satellite-Umgebungen werden nicht alle Operationen unterstützt. Weitere Informationen finden Sie unter Unterstützte Satellite-APIs.

Syntax

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

Optionale Header

Optionale Header
Name Typ Beschreibung
aspera-ak-max-tries Zeichenfolge Gibt an, wie oft versucht wird, die Löschoperation auszuführen. Der Standardwert lautet 2.

Beispielanforderung

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

Beispielanforderung

DELETE /apiary 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.

Wenn für ein Bucket, das nicht leer ist, eine Löschung angefordert wird, dann antwortet der Server mit 409 Conflict.

Beispielantwort

<Error>
  <Code>BucketNotEmpty</Code>
  <Message>The bucket you tried to delete is not empty.</Message>
  <Resource>/apiary/</Resource>
  <RequestId>9d2bbc00-2827-4210-b40a-8107863f4386</RequestId>
  <httpStatusCode>409</httpStatusCode>
</Error>

Objektsperre für vorhandenes Bucket konfigurieren

In Satellite-Umgebungen werden nicht alle Operationen unterstützt. Weitere Informationen finden Sie unter Unterstützte Satellite-APIs.

Eine PUT-Anforderung, die an ein leeres Bucket mit dem Abfrageparameter ?object-lock adressiert wird, legt eine neue Objektsperrkonfiguration für ein Bucket fest.

Syntax

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

Die Konfiguration der Objektsperre wird als XML im Hauptteil der Anforderung bereitgestellt. Neue Anforderungen überschreiben alle vorhandenen Replikationsregeln, die im Bucket vorhanden sind.

Eine Objektsperrkonfiguration muss eine Regel enthalten.

Header
Überschrift Typ Beschreibung
Content-MD5 Zeichenfolge Erforderlich: Der Base64-codierte 128-Bit-MD5-Hashwert der Nutzdaten, der für die Integritätsprüfung verwendet wird, um sicherzustellen, dass die Nutzdaten während der Übertragung nicht geändert wurden.

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

Körper des Antragsschemas
Element Typ Untergeordnete Elemente Vorfahre Einschränkung
ObjectLockConfiguration Container ObjectLockEnabled, Rule Keine Grenzwert 1.
ObjectLockEnabled Zeichenfolge Keine ObjectLockConfiguration Der einzige gültige Wert ist ENABLED.
Rule Container DefaultRetention ObjectLockConfiguration Grenzwert 1
DefaultRetention Container Days, Mode, Years Rule Grenzwert 1.
Days Integer Keine DefaultRetention Die Anzahl Tage, die Sie für den Standardaufbewahrungszeitraum angeben wollen Sie kann nicht mit Years kombiniert werden.
Mode Zeichenfolge Keine DefaultRetention Derzeit wird nur COMPLIANCE unterstützt.
Years Integer Keine DefaultRetention Die Anzahl Jahre, die Sie für den Standardaufbewahrungszeitraum angeben wollen Sie kann nicht mit Days kombiniert werden.

Beispielanforderung

Diese Anforderung listet die Objekte im Bucket 'apiary' auf.

GET /apiary HTTP/1.1
Content-Type: text/plain
Host: s3.us.cloud-object-storage.appdomain.cloud
Authorization: Bearer {token}

Beispielantwort

HTTP/1.1 200 OK
Date: Wed, 24 Aug 2016 17:36:24 GMT
X-Clv-Request-Id: 9f39ff2e-55d1-461b-a6f1-2d0b75138861
Accept-Ranges: bytes
Server: Cleversafe/3.9.0.115
X-Clv-S3-Version: 2.5
x-amz-request-id: 9f39ff2e-55d1-461b-a6f1-2d0b75138861
Content-Type: application/xml
Content-Length: 909
<ObjectLockConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
  <ObjectLockEnabled>ENABLED</ObjectLockEnabled>
  <Rule>
      <DefaultRetention>
        <Days>30</Days>
        <Mode>COMPLIANCE</Mode>
      </DefaultRetention>
  </Rule>
</ObjectLockConfiguration>

Abgebrochene oder unvollständige mehrteilige Uploads für ein Bucket auflisten

Eine GET-Anforderung, die für ein Bucket mit den korrekten Parametern abgesetzt wird, ruft Informationen zu allen abgebrochenen oder unvollständigen mehrteiligen Uploads für ein Bucket ab.

In Satellite-Umgebungen werden nicht alle Operationen unterstützt. Weitere Informationen finden Sie unter Unterstützte Satellite-APIs.

Syntax

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

Parameter

Parameter
Name Typ Beschreibung
prefix Zeichenfolge Beschränkt die Antwort auf Objektnamen, die mit {prefix} beginnen.
delimiter Zeichenfolge Gruppiert Objekte zwischen prefix und delimiter.
encoding-type Zeichenfolge Wenn Unicode-Zeichen, die von XML nicht unterstützt werden, in einem Objektnamen verwendet werden, kann für diesen Parameter url angegeben werden, um die Antwort ordnungsgemäß zu codieren.
max-uploads Integer Beschränkt die Anzahl der Objekte, die in der Antwort angezeigt werden sollen. Der Standardwert und der Maximalwert sind 1.000.
key-marker Zeichenfolge Gibt an, von wo aus die Auflistung beginnen soll.
upload-id-marker Zeichenfolge Wird ignoriert, wenn key-marker nicht angegeben ist, andernfalls wird ein Punkt gesetzt, an dem die Auflistung der Teile oberhalb von upload-id-marker beginnen soll.

Beispielanforderung

Im folgenden Beispiel werden alle aktuellen abgebrochenen und unvollständigen mehrteiligen Uploads abgerufen.

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

Beispielanforderung

GET /apiary?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}
Content-Type: text/plain
Host: s3.us.cloud-object-storage.appdomain.cloud

Beispielantwort (keine mehrteiligen Uploads in Bearbeitung)

HTTP/1.1 200 OK
Date: Wed, 5 Oct 2016 15:22:27 GMT
X-Clv-Request-Id: 9fa96daa-9f37-42ee-ab79-0bcda049c671
Accept-Ranges: bytes
Server: Cleversafe/3.9.0.129
X-Clv-S3-Version: 2.5
x-amz-request-id: 9fa96daa-9f37-42ee-ab79-0bcda049c671
Content-Type: application/xml
Content-Length: 374
<ListMultipartUploadsResult xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
  <Bucket>apiary</Bucket>
  <KeyMarker/>
  <UploadIdMarker/>
  <NextKeyMarker>multipart-object-123</NextKeyMarker>
  <NextUploadIdMarker>0000015a-df89-51d0-2790-dee1ac994053</NextUploadIdMarker>
  <MaxUploads>1000</MaxUploads>
  <IsTruncated>false</IsTruncated>
  <Upload>
    <Key>file</Key>
    <UploadId>0000015a-d92a-bc4a-c312-8c1c2a0e89db</UploadId>
    <Initiator>
      <ID>d4d11b981e6e489486a945d640d41c4d</ID>
      <DisplayName>d4d11b981e6e489486a945d640d41c4d</DisplayName>
    </Initiator>
    <Owner>
      <ID>d4d11b981e6e489486a945d640d41c4d</ID>
      <DisplayName>d4d11b981e6e489486a945d640d41c4d</DisplayName>
    </Owner>
    <StorageClass>STANDARD</StorageClass>
    <Initiated>2017-03-16T22:09:01.002Z</Initiated>
  </Upload>
  <Upload>
    <Key>multipart-object-123</Key>
    <UploadId>0000015a-df89-51d0-2790-dee1ac994053</UploadId>
    <Initiator>
      <ID>d4d11b981e6e489486a945d640d41c4d</ID>
      <DisplayName>d4d11b981e6e489486a945d640d41c4d</DisplayName>
    </Initiator>
    <Owner>
      <ID>d4d11b981e6e489486a945d640d41c4d</ID>
      <DisplayName>d4d11b981e6e489486a945d640d41c4d</DisplayName>
    </Owner>
    <StorageClass>STANDARD</StorageClass>
    <Initiated>2017-03-18T03:50:02.960Z</Initiated>
  </Upload>
</ListMultipartUploadsResult>

CORS-Konfiguration für Bucket auflisten

Eine GET-Anforderung, die für ein Bucket mit den korrekten Parametern abgesetzt wird, ruft Informationen zur CORS-Konfiguration (CORS = Cross-Origin Resource Sharing) für ein Bucket ab.

In Satellite-Umgebungen werden nicht alle Operationen unterstützt. Weitere Informationen finden Sie unter Unterstützte Satellite-APIs.

Syntax

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

Beispielanforderung

Im folgenden Beispiel wird eine CORS-Konfiguration für das Bucket "apiary" aufgelistet.

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

Beispielanforderung

GET /apiary?cors= 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

Beispielantwort Keine CORS-Konfiguration festgelegt

HTTP/1.1 200 OK
Date: Wed, 5 Oct 2016 15:20:30 GMT
X-Clv-Request-Id: 0b69bce1-8420-4f93-a04a-35d7542799e6
Accept-Ranges: bytes
Server: Cleversafe/3.9.0.129
X-Clv-S3-Version: 2.5
x-amz-request-id: 0b69bce1-8420-4f93-a04a-35d7542799e6
Content-Type: application/xml
Content-Length: 123
<CORSConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
  <CORSRule>
    <AllowedMethod>GET</AllowedMethod>
    <AllowedMethod>PUT</AllowedMethod>
    <AllowedMethod>POST</AllowedMethod>
    <AllowedOrigin>http://www.ibm.com</AllowedOrigin>
  </CORSRule>
</CORSConfiguration>

CORS-Konfiguration für Bucket erstellen

Eine PUT-Anforderung, die für ein Bucket mit den korrekten Parametern abgesetzt wird, erstellt oder ersetzt eine CORS-Konfiguration (CORS = Cross-Origin Resource Sharing) für ein Bucket.

In Satellite-Umgebungen werden nicht alle Operationen unterstützt. Weitere Informationen finden Sie unter Unterstützte Satellite-APIs.

Syntax

PUT https://{endpoint}/{bucket-name}?cors= # path style
PUT https://{bucket-name}.{endpoint}?cors= # 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 Einschränkung
CORSConfiguration Container CORSRule
CORSRule Container AllowedOrigin, AllowedMethod Löschen
AllowedOrigin Zeichenfolge
CORSRule Gültige Ursprungszeichenfolge
AllowedMethod Zeichenfolge
CORSRule Gültige Methodenzeichenfolge

Der erforderliche Header Content-MD5 muss die binäre Darstellung eines Base64-codierten MD5-Hashwerts sein. Das folgende Snippet zeigt eine Möglichkeit, den Inhalt für diesen bestimmten Header zu erhalten.

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

Beispielanforderung

Das folgende Beispiel fügt eine CORS-Konfiguration hinzu, die es Anfragen von www.ibm.com erlaubt, GET, PUT und POST Anfragen an den Bucket zu senden.

PUT /apiary?cors= HTTP/1.1
Authorization: Bearer {token}
Content-Type: text/plain
Host: s3.us.cloud-object-storage.appdomain.cloud
Content-MD5: M625BaNwd/OytcM7O5gIaQ==
Content-Length: 237

Beispielanforderung

PUT /apiary?cors= 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-MD5: M625BaNwd/OytcM7O5gIaQ==
Content-Length: 237
<CORSConfiguration>
  <CORSRule>
    <AllowedOrigin>http://www.ibm.com</AllowedOrigin>
    <AllowedMethod>GET</AllowedMethod>
    <AllowedMethod>PUT</AllowedMethod>
    <AllowedMethod>POST</AllowedMethod>
  </CORSRule>
</CORSConfiguration>

Beispielantwort

HTTP/1.1 200 OK
Date: Wed, 5 Oct 2016 15:39:38 GMT
X-Clv-Request-Id: 7afca6d8-e209-4519-8f2c-1af3f1540b42
Accept-Ranges: bytes
Server: Cleversafe/3.9.0.129
X-Clv-S3-Version: 2.5
x-amz-request-id: 7afca6d8-e209-4519-8f2c-1af3f1540b42
Content-Length: 0

CORS-Konfiguration für Bucket löschen

Eine DELETE-Anforderung, die für ein Bucket mit den korrekten Parametern abgesetzt wird, erstellt oder ersetzt eine CORS-Konfiguration (CORS = Cross-Origin Resource Sharing) für ein Bucket.

In Satellite-Umgebungen werden nicht alle Operationen unterstützt. Weitere Informationen finden Sie unter Unterstützte Satellite-APIs.

Syntax

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

Beispielanforderung

Im folgenden Beispiel wird eine CORS-Konfiguration für ein Bucket gelöscht.

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

Beispielanforderung

DELETE /apiary?cors= 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.


Standortbedingung für ein Bucket auflisten

Eine GET-Anforderung, die für ein Bucket mit dem korrekten Parameter abgesetzt wird, ruft Informationen zum Standort für ein Bucket ab.

In Satellite-Umgebungen werden nicht alle Operationen unterstützt. Weitere Informationen finden Sie unter Unterstützte Satellite-APIs.

Syntax

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

Beispielanforderung

Im folgenden Beispiel wird die Position des Buckets "apiary" abgerufen.

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

Beispielanforderung

GET /apiary?location= 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

Beispielantwort

HTTP/1.1 200 OK
Date: Tue, 12 Jun 2018 21:10:57 GMT
X-Clv-Request-Id: 0e469546-3e43-4c6b-b814-5ad0db5b638f
Accept-Ranges: bytes
Server: Cleversafe/3.13.3.57
X-Clv-S3-Version: 2.5
x-amz-request-id: 0e469546-3e43-4c6b-b814-5ad0db5b638f
Content-Type: application/xml
Content-Length: 161
<LocationConstraint xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
  us-south-standard
</LocationConstraint>

Konfiguration für Bucketlebenszyklus erstellen

Bei einer PUT-Operation wird der Parameter für die Lebenszyklusabfrage verwendet, um Lebenszykluseinstellungen für das Bucket festzulegen. Zur Integritätsprüfung für die Nutzdaten ist ein Header Content-MD5 erforderlich.

In Satellite-Umgebungen werden nicht alle Operationen unterstützt. Weitere Informationen finden Sie unter Unterstützte Satellite-APIs.

Syntax

PUT https://{endpoint}/{bucket-name}?lifecycle # path style
PUT https://{bucket-name}.{endpoint}?lifecycle # 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 Einschränkung
LifecycleConfiguration Container Rule Keine Grenzwert 1
Rule Container ID, Status, Filter, Transition LifecycleConfiguration Grenzwert 1
ID Zeichenfolge Keine Rule Muss aus (a-z,A-Z,0-9) und den folgenden Symbolen bestehen:! _ . * ' ( ) -
Filter Zeichenfolge Prefix Rule Muss ein Element Prefix enthalten.
Expiration Container Days, Date, ExpiredObjectDeleteMarker Rule Grenzwert 1
Prefix Zeichenfolge Keine Filter Bei Verwendung einer Übergangsregel (Archiv) muss auf <Prefix/> gesetzt werden. Diese Einschränkung gilt nicht für Ablaufregeln.
Transition Container Days, StorageClass Rule Begrenzung 1 Übergangsregel und insgesamt 1000 Regeln.
Days Nicht negative Ganzzahl Keine Transition Muss ein Wert größer-gleich 0 sein.
Date Datum Keine Transition Muss im ISO 8601 Format sein und das Datum muss in der Zukunft liegen.
StorageClass Zeichenfolge Keine Transition Muss auf GLACIER oder ACCELERATED gesetzt sein.
ExpiredObjectDeleteMarker Boolesch Keine Expiration Sie müssen true oder false sein.
NoncurrentVersionExpiration Container NoncurrentDays NoncurrentVersionExpiration Grenzwert 1
NoncurrentDays Positive ganze Zahl Keine Transition Muss ein Wert größer als '0' sein.
AbortIncompleteMultipartUpload Container DaysAfterInitiation Rule Grenzwert 1
DaysAfterInitiation Nicht negative Ganzzahl Keine AbortIncompleteMultipartUpload Muss ein Wert größer als '0' sein.

IBM Cloud® Object Storage IaaS-Konten (nicht IAM) können die Übergangsspeicherklasse nicht auf ACCELERATED setzen.

<LifecycleConfiguration>
    <Rule>
        <ID>{string}</ID>
        <Status>Enabled</Status>
        <Filter>
            <Prefix/>
        </Filter>
        <Transition>
            <Days>{integer}</Days>
            <StorageClass>GLACIER</StorageClass>
        </Transition>
    </Rule>
</LifecycleConfiguration>

Der erforderliche Header Content-MD5 muss die binäre Darstellung eines Base64-codierten MD5-Hashwerts sein. Das folgende Snippet zeigt eine Möglichkeit, den Inhalt für diesen bestimmten Header zu erhalten.

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

Beispielanforderung

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

Beispielanforderung

PUT /apiary?lifecycle 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
Content-MD5: M625BaNwd/OytcM7O5gIaQ==
Content-Length: 305
Host: s3.us.cloud-object-storage.appdomain.cloud
<LifecycleConfiguration>
    <Rule>
        <ID>my-archive-policy</ID>
        <Filter>
            <Prefix/>
        </Filter>
        <Status>Enabled</Status>
        <Transition>
            <Days>20</Days>
            <StorageClass>GLACIER</StorageClass>
        </Transition>
    </Rule>
</LifecycleConfiguration>

Der Server antwortet mit 200 OK.


<LifecycleConfiguration>
    <Rule>
        <ID>{string}</ID>
        <Status>Enabled</Status>
        <Filter>
            <Prefix/>
        </Filter>
        <Expiration>
            <Days>{integer}</Days>
        </Expiration>
    </Rule>
</LifecycleConfiguration>

Der erforderliche Header Content-MD5 muss die binäre Darstellung eines Base64-codierten MD5-Hashwerts sein. Das folgende Snippet zeigt eine Möglichkeit, den Inhalt für diesen bestimmten Header zu erhalten.

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

Beispielanforderung

PUT /cit-test?lifecycle HTTP/1.1
Host: 192.168.35.22
Date: Fri, 28 Feb 2020 14:12:06 +0000
Authorization: AWS MOfXYiHQ9QTyD2ALoiOh:WrlFRE2KMmhutBf3CxIZoNLl/ko=
Content-MD5: To3JYtaVNR3+aGYtl1dlmw==
Content-Length: 321

<LifecycleConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
  <Rule>
    <ID>ID1</ID>
    <Status>Enabled</Status>
    <Filter>
      <Prefix/>
    </Filter>
    <Expiration>
      <Days>100</Days>
    </Expiration>
  </Rule>
</LifecycleConfiguration>

Beispielantwort Der Server antwortet mit 200 OK.

We are completely uploaded and fine
HTTP/1.1 200 OK
Date: Fri, 28 Feb 2020 14:12:06 GMT
X-Clv-Request-Id: 587d909f-4939-41ef-8c16-80aea16a0587
Server: Cleversafe/3.14.9.53
X-Clv-S3-Version: 2.5
x-amz-request-id: 587d909f-4939-41ef-8c16-80aea16a0587
Content-Length: 0

Beispielanforderung

PUT /{bucket-name}?lifecycle HTTP/1.1
Authorization: Bearer {token}
Content-Type: text/plain
Host: s3.us.cloud-object-storage.appdomain.cloud
ibm-service-instance-id: {ibm-service-instance-id}
Content-Length: 123

Beispielanforderung

PUT /{bucket-name}?lifecycle 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: 123

Konfiguration für Bucketlebenszyklus abrufen

Bei einer GET-Operation wird der Abfrageparameter für den Lebenszyklus verwendet, um Lebenszykluseinstellungen für das Bucket abzurufen.

Syntax

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

Beispielanforderung

GET /apiary?lifecycle HTTP/1.1
Content-Type: text/plain
Host: s3.us.cloud-object-storage.appdomain.cloud
Authorization: {authorization-string}

Beispielanforderung

GET /apiary?lifecycle 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

Beispielantwort

<LifecycleConfiguration>
    <Rule>
        <ID>my-archive-policy</ID>
        <Filter>
            <Prefix/>
        </Filter>
        <Status>Enabled</Status>
        <Transition>
            <Days>20</Days>
            <StorageClass>GLACIER</StorageClass>
        </Transition>
    </Rule>
</LifecycleConfiguration>

Beispielanforderung

GET /cit_dump-log?lifecycle HTTP/1.1
Host: 192.168.35.22
User-Agent: curl/7.64.1
Accept: */*
Date: Fri, 28 Feb 2020 14:00:43 +0000
Authorization: AWS MOfXYiHQ9QTyD2ALoiOh:iKm2QNetyW740kylP6ja2pze3DM=
Content-MD5: 1B2M2Y8AsgTpgAmY7PhCfg==

Beispielantwort

HTTP/1.1 200 OK
Date: Fri, 28 Feb 2020 14:00:43 GMT
X-Clv-Request-Id: ecbf9294-284d-4169-b2cd-5d52b2450808
Server: Cleversafe/3.14.9.53
X-Clv-S3-Version: 2.5
Accept-Ranges: bytes
x-amz-request-id: ecbf9294-284d-4169-b2cd-5d52b2450808
Content-Type: application/xml
Content-Length: 276
<LifecycleConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
   <Rule>
    <ID>ID1</ID>
    <Status>Enabled</Status>
    <Filter>
      <Prefix/>
    </Filter>
    <Expiration>
      <Days>270</Days>
    </Expiration>
   </Rule>
</LifecycleConfiguration>

Veraltete Daten mit Ablaufregeln löschen

Alle Ablaufaktionen für Objekte, die der unveränderlichen Aufbewahrungsrichtlinie Object Storage eines Buckets unterliegen, werden verzögert, bis die Aufbewahrungsrichtlinie nicht mehr durchgesetzt wird.

Weitere Informationen zur Verwendung der Lebenszykluskonfiguration zum Löschen von Objekten finden Sie in der Dokumentation.

Bei dieser Implementierung der PUT-Operation wird der Abfrageparameter lifecycle verwendet, um die Lebenszykluseinstellungen für das Bucket festzulegen. Diese Operation ermöglicht die Verwendung einer einzigen Lebenszyklusrichtliniendefinition für ein Bucket. Die Richtlinie ist als ein Regelwerk definiert, das aus den folgenden Parametern besteht: ID, Status, Filter, und Expiration.

In Satellite-Umgebungen werden nicht alle Operationen unterstützt. Weitere Informationen finden Sie unter Unterstützte Satellite-APIs.

Körper des Antragsschemas
Überschrift Typ Beschreibung
Content-MD5 Zeichenfolge Erforderlich: Der Base64-codierte 128-Bit-MD5-Hashwert der Nutzdaten, der für die Integritätsprüfung verwendet wird, um sicherzustellen, dass die Nutzdaten während der Übertragung nicht geändert wurden.

Das folgende Snippet zeigt eine Möglichkeit, den Inhalt für diesen bestimmten Header zu erhalten.

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

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

Körper des Antragsschemas
Element Typ Untergeordnete Elemente Vorfahre Einschränkung
LifecycleConfiguration Container Rule Keine Grenzwert 1.
Rule Container ID, Status, Filter, Expiration LifecycleConfiguration Grenzwert 1000.
ID Zeichenfolge Keine Rule Muss aus (a-z,A-Z,0-9) und den folgenden Symbolen bestehen: ! _ . * ' ( ) -
Filter Zeichenfolge Prefix Rule Muss ein Element Prefix enthalten
Prefix Zeichenfolge Keine Filter Die Regel gilt für alle Objekte mit Schlüsseln, die mit diesem Präfix übereinstimmen.
Expiration Container Days oder Date Rule Grenzwert 1.
Days Nicht negative Ganzzahl Keine Expiration Muss ein Wert größer als '0' sein.
Date Datum Keine Expiration Muss im ISO 8601-Format angegeben werden.

Syntax

PUT https://{endpoint}/{bucket}?lifecycle # path style
PUT https://{bucket}.{endpoint}?lifecycle # virtual host style

Beispielanforderung

PUT /images?lifecycle HTTP/1.1
Host: s3.us.cloud-object-storage.appdomain.cloud
Date: Wed, 7 Feb 2018 17:50:00 GMT
Authorization: authorization string
Content-Type: text/plain
Content-MD5: M625BaNwd/OytcM7O5gIaQ==
Content-Length: 305

<LifecycleConfiguration>
	<Rule>
		<ID>id1</ID>
		<Filter />
		<Status>Enabled</Status>
		<Expiration>
			<Days>60</Days>
		</Expiration>
	</Rule>
</LifecycleConfiguration>

Lebenszykluskonfiguration für Bucket löschen

Eine DELETE-Anforderung, die für ein Bucket mit den korrekten Parametern abgesetzt wird, entfernt alle Lebenszykluskonfigurationen für ein Bucket.

Syntax

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

Beispielanforderung

DELETE /apiary?lifecycle HTTP/1.1
Authorization: {authorization-string}
Host: s3.us.cloud-object-storage.appdomain.cloud

Beispielanforderung

DELETE /apiary?lifecycle 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.

Beispielanforderung

DELETE /cit-test?lifecycle HTTP/1.1
Host: 192.168.35.22
User-Agent: curl/7.64.1
Accept: */*
Date: Fri, 28 Feb 2020 14:16:47 +0000
Authorization: AWS MOfXYiHQ9QTyD2ALoiOh:n25GU28DiBgkNVgET5hKmLmp938=
Content-MD5: 1B2M2Y8AsgTpgAmY7PhCfg==

Beispielantwort

HTTP/1.1 204 No Content
Date: Fri, 28 Feb 2020 14:16:47 GMT
X-Clv-Request-Id: 3e8bdf1e-b611-4b83-a404-e7d3e58e60b0
Server: Cleversafe/3.14.9.53
X-Clv-S3-Version: 2.5
x-amz-request-id: 3e8bdf1e-b611-4b83-a404-e7d3e58e60b0

Der Server antwortet mit 204 No Content.

Aufbewahrungsrichtlinie für vorhandenes Bucket hinzufügen

Immutable Object Storage steht nur in bestimmten Regionen zur Verfügung. Detaillierte Informationen hierzu finden Sie im Abschnitt Integrierte Services. Für den Dienst ist außerdem ein Standard-Preisplan erforderlich. Detaillierte Informationen hierzu finden Sie im Abschnitt zur Preisstruktur.

Weitere Informationen zu Immutable Object Storage finden Sie in der Dokumentation.

Die unterstützten Mindest- und Höchstwerte für die Einstellungen der Aufbewahrungsfrist MinimumRetention, DefaultRetention und MaximumRetention betragen mindestens 0 Tage und höchstens 365243 Tage (1000 Jahre).

Diese Operation verwendet keine zusätzlichen Abfrageparameter. Der erforderliche Header Content-MD5 muss die binäre Darstellung eines Base64-codierten MD5-Hashwerts sein. Das folgende Snippet zeigt eine Möglichkeit, den Inhalt für diesen bestimmten Header zu erhalten.

Richtlinien werden bis zum Ende eines Aufbewahrungszeitraums durchgesetzt und können erst nach Ablauf des Aufbewahrungszeitraums geändert werden. Während IBM Cloud® Object Storage die S3-API für die meisten Operationen verwendet, stimmen die APIs, die zum Konfigurieren von Aufbewahrungsrichtlinien verwendet werden, nicht mit der S3-API überein, obwohl einige Terminologie möglicherweise gemeinsam genutzt wird. Lesen Sie diese Dokumentation sorgfältig, um zu verhindern, dass Benutzer in Ihrem Unternehmen Objekte erstellen, die nicht gelöscht werden können, auch von IBM Cloud-Administratoren.

In Satellite-Umgebungen werden nicht alle Operationen unterstützt. Weitere Informationen finden Sie unter Unterstützte Satellite-APIs.

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

Syntax

PUT https://{endpoint}/{bucket-name}?protection= # path style
PUT https://{bucket-name}.{endpoint}?protection= # 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
ProtectionConfiguration Container Status, MinimumRetention, MaximumRetention, DefaultRetention
Status Zeichenfolge
ProtectionConfiguration Gültige Statuszeichenfolge
MinimumRetention Container Days ProtectionConfiguration
MaximumRetention Container Days ProtectionConfiguration
DefaultRetention Container Days ProtectionConfiguration
Days Integer
MinimumRetention, MaximumRetention, DefaultRetention Gültige ganze Zahl für Aufbewahrungsdauer

Beispielanforderung

PUT /example-bucket?protection= HTTP/1.1
Authorization: {authorization-string}
x-amz-date: 20181011T190354Z
x-amz-content-sha256: 2938f51643d63c864fdbea618fe71b13579570a86f39da2837c922bae68d72df
Content-MD5: GQmpTNpruOyK6YrxHnpj7g==
Content-Type: text/plain
Host: 67.228.254.193
Content-Length: 299

<ProtectionConfiguration>
  <Status>Retention</Status>
  <MinimumRetention>
    <Days>100</Days>
  </MinimumRetention>
  <MaximumRetention>
    <Days>10000</Days>
  </MaximumRetention>
  <DefaultRetention>
    <Days>2555</Days>
  </DefaultRetention>
</ProtectionConfiguration>

Beispielantwort

HTTP/1.1 200 OK
Date: Wed, 5 Oct 2018 15:39:38 GMT
X-Clv-Request-Id: 7afca6d8-e209-4519-8f2c-1af3f1540b42
Accept-Ranges: bytes
Server: Cleversafe/3.14.1
X-Clv-S3-Version: 2.5
x-amz-request-id: 7afca6d8-e209-4519-8f2c-1af3f1540b42
Content-Length: 0

Konfigurieren Sie einen Bucket für das Hosting statischer Websites

Eine PUT, die an einen Bucket mit den richtigen Parametern ausgegeben wird, erstellt oder ersetzt eine statische Website-Konfiguration für einen Bucket.

In Satellite-Umgebungen werden nicht alle Operationen unterstützt. Weitere Informationen finden Sie unter Unterstützte Satellite-APIs.

Syntax

PUT https://{endpoint}/{bucket-name}?website # path style
PUT https://{bucket-name}.{endpoint}?website # 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
WebsiteConfiguration Container ErrorDocument, IndexDocument, RedirectAllRequestsTo, RoutingRule
Erforderlich
ErrorDocument Container Key WebsiteConfiguration
Key Zeichenfolge
ErrorDocument
IndexDocument Container Suffix WebsiteConfiguration
Suffix Zeichenfolge
IndexDocument
RedirectAllRequestsTo Container HostName, Protocol WebsiteConfiguration Wenn angegeben, muss es sich um das einzige Element handeln, das angegeben wird.
HostName Zeichenfolge
RedirectAllRequestsTo
Protocol Zeichenfolge
RedirectAllRequestsTo
RoutingRules Container RoutingRule WebsiteConfiguration
RoutingRule Container Condition, Redirect RoutingRules
Condition Container HttpErrorCodeReturnedEquals, KeyPrefixEquals RoutingRule
HttpErrorCodeReturnedEquals Zeichenfolge
Condition
KeyPrefixEquals Zeichenfolge
Condition
Redirect Container HostName, HttpRedirectCode, Protocol, ReplaceKeyPrefixWith, ReplaceKeyWith RoutingRule
HostName Zeichenfolge
Redirect
HttpRedirectCode Zeichenfolge
Redirect
Protocol Zeichenfolge
Redirect
ReplaceKeyPrefixWith Zeichenfolge
Redirect
ReplaceKeyWith Zeichenfolge
Redirect

Beispielanforderung

Im folgenden Beispiel wird eine Websitekonfiguration hinzugefügt, die eine Basiswebsite bereitstellt, die in jedem Präfix nach einer index.html-Datei sucht. Beispiel: Eine Anforderung an /apiary/images/ stellt den Inhalt in /apiary/images/index.html bereit, ohne dass die eigentliche Datei angegeben werden muss.

PUT /apiary?website HTTP/1.1
Authorization: Bearer {token}
Content-Type: text/plain
Host: s3.us.cloud-object-storage.appdomain.cloud
Content-Length: 119
PUT /apiary?website 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: 119
<WebsiteConfiguration>
   <IndexDocument>
      <Suffix>index.html</Suffix>
   </IndexDocument>
</WebsiteConfiguration>

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

Beliebige Websitekonfiguration für ein Bucket löschen

Eine DELETE-Anforderung, die an ein Bucket mit den richtigen Parametern ausgegeben wird, entfernt die Websitekonfiguration für ein Bucket.

In Satellite-Umgebungen werden nicht alle Operationen unterstützt. Weitere Informationen finden Sie unter Unterstützte Satellite-APIs.

Syntax

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

Beispielanforderung

Im folgenden Beispiel wird eine Websitekonfiguration für ein Bucket gelöscht.

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

Beispielanforderung

DELETE /apiary?website 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.


Öffentliche ACLs in einem Bucket blockieren

Eine PUT-Anforderung, die für ein Bucket mit den richtigen Parametern ausgegeben wird, verhindert das Hinzufügen von Zugriffssteuerungslisten für öffentlichen Zugriff für ein Bucket. Es kann festgelegt werden, dass neue ACL-Anforderungen fehlschlagen oder ignoriert werden. BlockPublicAcls wirkt sich nicht auf vorhandene ACLs aus, aber IgnorePublicAcls ignoriert vorhandene ACLs. Diese Operation wirkt sich nicht auf IAM-Richtlinien für öffentlichen Zugriff aus.

In Satellite-Umgebungen werden nicht alle Operationen unterstützt. Weitere Informationen finden Sie unter Unterstützte Satellite-APIs.

Syntax

PUT https://{endpoint}/{bucket-name}?publicAccessBlock # path style
PUT https://{bucket-name}.{endpoint}?publicAccessBlock # 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
PublicAccessBlockConfiguration Container BlockPublicAcls, IgnorePublicAcls
Erforderlich
BlockPublicAcls Boolesch
PublicAccessBlockConfiguration
IgnorePublicAcls Boolesch
PublicAccessBlockConfiguration

Beispielanforderung

PUT /apiary?publicAccessBlock HTTP/1.1
Authorization: Bearer {token}
Host: s3.us.cloud-object-storage.appdomain.cloud
Content-Length: 155
PUT /apiary?publicAccessBlock 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
Content-Length: 155
<PublicAccessBlockConfiguration>
   <BlockPublicAcls>True</BlockPublicAcls>
   <IgnorePublicAcls>True</IgnorePublicAcls>
</PublicAccessBlockConfiguration>

Beispielantwort

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

Öffentlichen ACL-Block für Bucket überprüfen

Ein an ein Bucket mit den richtigen Parametern ausgegebener GET gibt die ACL-Blockkonfiguration für ein Bucket zurück.

Syntax

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

Beispielanforderung

Im folgenden Beispiel wird ein öffentlicher Zugriffsblock für ein Bucket gelesen.

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

Beispielanforderung

GET /apiary?publicAccessBlock 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
HTTP/1.1 200 OK
Date: Mon, 02 Nov 2020 19:52:56 GMT
X-Clv-Request-Id: 7c9079b1-2833-4abc-ba10-466ef06725b2
Server: Cleversafe/3.15.2.31
X-Clv-S3-Version: 2.5
Accept-Ranges: bytes
Content-Type: application/xml
Content-Length: 248
<PublicAccessBlockConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
   <BlockPublicAcls>true</BlockPublicAcls>
   <IgnorePublicAcls>true</IgnorePublicAcls>
</PublicAccessBlockConfiguration>

Öffentlichen ACL-Block aus Bucket löschen

Ein DELETE, der mit den richtigen Parametern an ein Bucket ausgegeben wird, entfernt den Block der öffentlichen ACL aus einem Bucket.

In Satellite-Umgebungen werden nicht alle Operationen unterstützt. Weitere Informationen finden Sie unter Unterstützte Satellite-APIs.

Syntax

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

Beispielanforderung

Im folgenden Beispiel wird ein ACL-Block für ein Bucket gelöscht.

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

Beispielanforderung

DELETE /apiary?publicAccessBlock 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.


PUT-Bucketbestand konfigurieren

Ein PutBucketInventoryConfiguration, der für ein Bucket mit den richtigen Parametern ausgegeben wird

Syntax

PUT {bucket}?inventory&id={id}

Beispielanforderung

Das folgende Beispiel zeigt eine PutBucketInventoryConfiguration-Anforderung für ein Bucket.


Beispielanforderung

PUT /mybucket?inventory&id=myid HTTP/1.1
<?xml version="1.0" encoding="UTF-8"?>
<InventoryConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
        <Id>myid</Id>
    <IsEnabled>true</IsEnabled>
    <Filter>
      <Prefix>my-filter-prefix</Prefix>
    </Filter>
        <IncludedObjectVersions>Current</IncludedObjectVersions>
    <Schedule>
      <Frequency>Daily</Frequency>
    </Schedule>
    <OptionalFields>
              <Field>Size</Field>
            <Field>LastModifiedDate</Field>
      <Field>ETag</Field>
          <Field>IsMultipartUploaded</Field>
          <Field>EncryptionStatus</Field>
          <Field>ObjectOwner</Field>
    </OptionalFields>
        <Destination>
            <S3BucketDestination>
                <Bucket>mybucket</Bucket>
                <Format>CSV</Format>
                <Prefix>my-destination-prefix</Prefix>
              </S3BucketDestination>
        </Destination>
</InventoryConfiguration>

Der Server antwortet mit 204 No Content.


GET-Bucketbestand konfigurieren

Ein GetBucketInventoryConfiguration, der für ein Bucket mit den richtigen Parametern ausgegeben wird

Syntax

GET {bucket}?inventory&id={id}

Beispielanforderung

Das folgende Beispiel zeigt eine GetBucketInventoryConfiguration-Anforderung für ein Bucket.

GET mybucket?inventory&id=myid HTTP/1.1

Beispielantwort

<?xml version="1.0" encoding="UTF-8"?>
<InventoryConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
        <Id>myid</Id>
    <IsEnabled>true</IsEnabled>
    <Filter>
      <Prefix>my-filter-prefix</Prefix>
    </Filter>
        <IncludedObjectVersions>Current</IncludedObjectVersions>
    <Schedule>
      <Frequency>Daily</Frequency>
    </Schedule>
    <OptionalFields>
              <Field>Size</Field>
            <Field>LastModifiedDate</Field>
      <Field>ETag</Field>
          <Field>IsMultipartUploaded</Field>
          <Field>EncryptionStatus</Field>
          <Field>ObjectOwner</Field>
    </OptionalFields>
        <Destination>
            <S3BucketDestination>
                <Bucket>mybucket</Bucket>
                <Format>CSV</Format>
                <Prefix>my-destination-prefix</Prefix>
              </S3BucketDestination>
        </Destination>
</InventoryConfiguration>

LIST-Bucketbestand konfigurieren

Ein ListBucketInventoryConfigurations, der für ein Bucket mit den richtigen Parametern ausgegeben wird

Syntax

GET {bucket}?inventory&continuation-token={continuation-token}

Beispielanforderung

Das folgende Beispiel zeigt die ListBucketInventoryConfigurations-Anforderung für ein Bucket.

GET /mybucket?inventory HTTP/1.1

Beispielantwort

<?xml version="1.0" encoding="UTF-8"?>
<ListInventoryConfigurationsResult xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
      <InventoryConfiguration>
          <Id>goodinventoryid</Id>
          <IsEnabled>true</IsEnabled>
          <Filter>
              <Prefix>goodFilterPrefix</Prefix>
          </Filter>
          <Destination>
              <S3BucketDestination>
                  <Format>CSV</Format>
                  <Bucket>mybucketCRN</Bucket>
                  <Prefix>goodPrefix</Prefix>
              </S3BucketDestination>
          </Destination>
          <Schedule>
              <Frequency>Daily</Frequency>
          </Schedule>
          <IncludedObjectVersions>All</IncludedObjectVersions>
          <OptionalFields>
              <Field>Size</Field>
          </OptionalFields>
      </InventoryConfiguration>
      <InventoryConfiguration>
          <Id>goodinventoryid1</Id>
          ...
      </InventoryConfiguration>
      <IsTruncated>true</IsTruncated>
          <NextContinuationToken>{continuation-token}</NextContinuationToken>
</ListInventoryConfigurationsResult>

DELETE-Bucket-Bestand konfigurieren

Ein DeleteBucketInventoryConfiguration, der für ein Bucket mit den richtigen Parametern ausgegeben wird

Syntax

DELETE {bucket}?inventory&id={id}

Beispielanforderung

Das folgende Beispiel zeigt eine DeleteBucketInventoryConfiguration-Anforderung für ein Bucket.

DELETE mybucket?inventory&id=myid HTTP/1.1

Beispielantwort

204 No Content

Vorgänge der Sicherungsrichtlinie

Die IBM Cloud® Object Storage Backup Policy API bietet Operationen zum Erstellen, Verwalten und Interagieren mit Sicherungsrichtlinien. Die Sicherungsrichtlinien legen fest, wie die Daten in den Buckets in den Backup-Vaults gesichert werden.

Weitere Informationen zu Berechtigungen und Zugriff finden Sie unter Berechtigungen für Sicherungsrichtlinien.

Sicherungsrichtlinie erstellen

Eine POST Anfrage an den /buckets/{bucket}/backup_policies Endpunkt erstellt eine neue Sicherungsrichtlinie für einen Bucket.

Header
Überschrift Typ Erforderlich? Beschreibung
MD5 Zeichenfolge Nein MD5 hash des Inhalts. Falls angegeben, muss der Hash der Anfrage übereinstimmen.
Pfadparameter
Pfad Parameter Typ Erforderlich? Beschreibung
bucket_name Zeichenfolge Ja Der Name des Bereichs, auf den die Sicherungsrichtlinie angewendet wird.

Syntax

POST https://{endpoint}/buckets/{bucket}/backup_policies

Anforderungshauptteil

{
  "policy_name": "myBackupPolicy",
  "initial_retention": {
    "delete_after_days": 10
  },
  "backup_type": "continuous",
  "target_backup_vault_crn": "crn:v1:bluemix:public:cloud-object-storage:global:a1229395:1a0ec336-f391-4091-a6fb-5e084a4c56f4:backup-vault:backup-vault-name"
}

Beispielanforderung

POST /buckets/myBucket/backup_policies HTTP/1.1
Authorization: Bearer {token}
Content-Type: application/json
Host: config.cloud-object-storage.cloud.ibm.com

{
  "initial_retention": {
    "delete_after_days": 10
  },
  "policy_name": "myBackupPolicy",
  "target_backup_vault_crn": "crn:v1:bluemix:public:cloud-object-storage:global:2de9d5b5:12b951c9-d4e1-61a4-518c-3acc2034ba30:backup-vault:l4pi16n8rt--ufqb7.r-fw2ziy",
  "backup_type": "continuous"
}

Beispielantwort

{
  "policy_name": "myBackupPolicy",
  "initial_retention": {
    "delete_after_days": 10
  },
  "backup_type": "continuous",
  "policy_id": "44d3dd41-d616-4d25-911a-9ef7fbf28aef",
  "policy_status": "pending",
  "target_backup_vault_crn": "crn:v1:bluemix:public:cloud-object-storage:global:a1229395:1a0ec336-f391-4091-a6fb-5e084a4c56f4:backup-vault:backup-vault-name"
}

Liste der Sicherungsrichtlinien

Eine GET-Anfrage an den Endpunkt /buckets/{bucket}/backup_policies ruft alle Sicherungsrichtlinien für einen Bucket ab.

Pfadparameter
Pfad Parameter Typ Erforderlich? Beschreibung
bucket_name Zeichenfolge Ja Der Name des Bereichs, für den Sicherungsrichtlinien aufgelistet werden sollen.

Syntax

GET https://{endpoint}/buckets/{bucket}/backup_policies

Beispielanforderung

GET /buckets/myBucket/backup_policies HTTP/1.1
Authorization: Bearer {token}
Content-Type: application/json
Host: config.cloud-object-storage.cloud.ibm.com

Beispielantwort

[
  {
    "policy_name": "myBackupPolicy",
    "initial_retention": {
      "delete_after_days": 10
    },
    "backup_type": "continuous",
    "policy_id": "44d3dd41-d616-4d25-911a-9ef7fbf28aef",
    "policy_status": "active",
    "target_backup_vault_crn": "crn:v1:bluemix:public:cloud-object-storage:global:a1229395:8dfbcba4e6a740e3866020847e525436:backup-vault:backup-vault-name"
  }
]

Details zur Sicherungsrichtlinie abrufen

Eine GET Anfrage an den /buckets/{bucket}/backup_policies/{policy_id} Endpunkt ruft Details zu einer bestimmten Sicherungsrichtlinie ab.

Pfadparameter
Pfad Parameter Typ Erforderlich? Beschreibung
bucket_name Zeichenfolge Ja Der Name des Buckets.
policy_id Zeichenfolge Ja Die ID der Sicherungsrichtlinie.

Syntax

GET https://{endpoint}/buckets/{bucket}/backup_policies/{policy_id}

Beispielanforderung

GET /buckets/myBucket/backup_policies/44d3dd41-d616-4d25-911a-9ef7fbf28aef HTTP/1.1
Authorization: Bearer {token}
Content-Type: application/json
Host: config.cloud-object-storage.cloud.ibm.com

Beispielantwort

{
  "policy_name": "myBackupPolicy",
  "backup_type": "continuous",
  "policy_id": "44d3dd41-d616-4d25-911a-9ef7fbf28aef",
  "policy_status": "active",
  "target_backup_vault_crn": "crn:v1:bluemix:public:cloud-object-storage:global:a1229395:1a0ec336-f391-4091-a6fb-5e084a4c56f4:backup-vault:backup-vault-name",
  "initial_retention": {
    "delete_after_days": 10
  }
}

Löschen einer Sicherungsrichtlinie

Eine DELETE Anfrage an den /buckets/{bucket}/backup_policies/{policy_id} Endpunkt löscht eine bestimmte Sicherungsrichtlinie.

Pfadparameter
Pfad Parameter Typ Erforderlich? Beschreibung
bucket_name Zeichenfolge Ja Der Name des Buckets.
policy_id Zeichenfolge Ja Die ID der Sicherungsrichtlinie.

Syntax

DELETE https://{endpoint}/buckets/{bucket}/backup_policies/{policy_id}

Beispielanforderung

DELETE /buckets/myBucket/backup_policies/44d3dd41-d616-4d25-911a-9ef7fbf28aef HTTP/1.1
Authorization: Bearer {token}
Content-Type: application/json
Host: config.cloud-object-storage.cloud.ibm.com

Beispielantwort

HTTP/1.1 204 No Content

Weitere Informationen zu Sicherungsrichtlinien finden Sie unter Verwaltung von Backup-Tresoren.

Nächste Schritte

Weitere Informationen finden Sie unter Objektoperationen.