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.
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.
Überschrift | Typ | Erforderlich? | Beschreibung |
---|---|---|---|
ibm-service-instance-id |
Zeichenfolge | Ja | Listet Buckets auf, die in dieser Serviceinstanz erstellt wurden. |
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.
Ü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:
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.
Ü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
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
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
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.
Ü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:
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
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:
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:
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.
Ü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:
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:
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:
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:
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.
Überschrift | Typ | Erforderlich? | Beschreibung |
---|---|---|---|
MD5 |
Zeichenfolge | Nein | MD5 hash des Inhalts. Falls angegeben, muss der Hash der Anfrage übereinstimmen. |
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.
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.
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.
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.