Operazioni per il bucket

Le moderne funzionalità di IBM Cloud® Object Storage sono comodamente disponibili tramite un'API RESTful. Le operazioni e i metodi utilizzati per interagire con i bucket (dove vengono memorizzati gli oggetti) sono qui documentati.

Per ulteriori informazioni sulle autorizzazioni e sull'accesso, vedi Autorizzazioni bucket.

Una nota sull'autenticazione HMAC (Access / Secret Key)

Quando esegui l'autenticazione alla tua istanza di IBM Cloud® Object Storage utilizzando credenziali HMAC, hai bisogno delle informazioni rappresentate nella Tabella 1 quando costruisci una firma HMAC.

Componenti della firma HMAC
Chiave Valore Esempio
{access_key} Tasto di accesso assegnato alle tue credenziali di servizio cf4965cebe074720a4929759f57e1214
{date} La data formattata della tua richiesta (yyyymmdd) 20180613
{region} Il codice di ubicazione per l'endpoint us-standard
{signature} L'hash creato utilizzando la chiave segreta, l'ubicazione e la data ffe2b6e18f9dcc41f593f4dbb39882a6bb4d26a73a04326e62a8d344e07c1a3e
{timestamp} La data e l'ora formattate della richiesta 20180614T001804Z

Elenca i bucket

Una richiesta di tipo " GET " inviata all'endpoint "root" restituisce un elenco dei bucket associati all'istanza del servizio specificata. Per ulteriori informazioni sugli endpoint, vedi Endpoint e ubicazioni di archiviazione.

Intestazioni
Intestazione Immettere Obbligatorio? Descrizione
ibm-service-instance-id Stringa Elenca i bucket creati in questa istanza del servizio.
Parametri di query
Parametro di query Valore Obbligatorio? Descrizione
extended Nessuno No Fornisce i metadati " LocationConstraint " e " CreationTemplateId " nella scheda.

Sintassi

GET https://{endpoint}/

Esempio di richiesta

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}

Esempio di richiesta

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

Risposta di esempio

<?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>

Ottenimento di un elenco esteso

Sintassi

GET https://{endpoint}/?extended

Esempio di richiesta

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}

Esempio di richiesta

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

Risposta di esempio

<?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>

Crea un bucket

Una richiesta PUT che viene inviata alla root dell'endpoint e seguita da una stringa crea un bucket. Per ulteriori informazioni sugli endpoint, vedi Endpoint e ubicazioni di archiviazione. I nomi bucket devono essere globalmente univoci e conformi a DNS. I nomi di lunghezza compresa tra 3 e 63 caratteri devono essere composti da lettere minuscole, numeri, punti (punti) e trattini (trattini). I nomi bucket devono iniziare e terminare con una lettera minuscola o un numero. I nomi bucket non possono contenere punti o trattini consecutivi. Non sono ammessi nomi di bucket che assomiglino a indirizzi IP. Questa operazione non utilizza parametri di interrogazione specifici dell'operazione.

I nomi bucket devono essere univoci in quanto tutti i bucket nel cloud pubblico condividono uno spazio dei nomi globale. Questo requisito consente di accedere a un bucket senza dover fornire alcuna informazione relativa all'istanza del servizio o all'account. Non è inoltre possibile creare un bucket con un nome che inizia con cosv1- o account- poiché questi prefissi sono riservati dal sistema.

Intestazioni
Intestazione Immettere Obbligatorio? Descrizione
ibm-service-instance-id Stringa Questa intestazione fa riferimento all'istanza del servizio in cui verrà creato il bucket e alla quale potrà essere addebitato l'utilizzo dei dati.
x-amz-bucket-object-lock-enabled Booleano No Specifica se si desidera abilitare il blocco oggetto sul nuovo bucket. Questa intestazione abilita automaticamente il controllo delle versioni.

Quando si imposta il blocco oggetto su un nuovo bucket, assicurarsi che non vi siano errori tipografici nell'intestazione x-amz-bucket-object-lock-enabled. Se l'intestazione o il valore non sono scritti correttamente, il bucket viene creato, ma il blocco e la versione dell'oggetto non sono abilitati.

Informazioni di identificazione personale (PII): quando si creano bucket o si aggiungono oggetti, non utilizzare nel nome del bucket o dell'oggetto alcuna informazione che possa identificare un utente (persona fisica) tramite nome, ubicazione o qualsiasi altro mezzo.

Sintassi

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

Esempio di richiesta

Il seguente esempio crea un bucket denominato 'images'.

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}

Esempio di richiesta

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

Risposta di esempio

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

Crea un bucket con una classe di archiviazione differente

Per creare un bucket con una classe di archiviazione diversa, inviare un blocco XML che specifichi una configurazione del bucket con un’ LocationConstraint e pari a {provisioning code} nel corpo di una richiesta PUT indirizzata a un endpoint del bucket. Per ulteriori informazioni sugli endpoint, vedi Endpoint e ubicazioni di archiviazione. Si applica il bucket standard regole di denominazione. Questa operazione non utilizza parametri di interrogazione specifici dell'operazione.

| | Intestazione | Immettere | Descrizione | |--------------------------|--------|--------------------------------------------------------------------------------------------------------------------- | ibm-service-instance-id | Stringa | Questa intestazione fa riferimento all'istanza del servizio in cui verrà creato il bucket e alla quale potrà essere addebitato l'utilizzo dei dati. |

Sintassi

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

Il corpo della richiesta deve contenere un blocco XML con il seguente schema:

Corpo dello schema della richiesta
Elemento Immettere Elemento secondario Predecessore Vincolo
CreateBucketConfiguration Container LocationConstraint
LocationConstraint Stringa
CreateBucketConfiguration Codice di posizione valido
<CreateBucketConfiguration>
  <LocationConstraint>us-vault</LocationConstraint>
</CreateBucketConfiguration>

È possibile che si faccia riferimento a un elenco di codici di provisioning validi per LocationConstraint nella guida alle classi di archiviazione.

Esempio di richiesta

Il seguente esempio crea un bucket denominato 'vault-images'.

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

Esempio di richiesta

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>

Risposta di esempio

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

Crea un bucket con chiavi di crittografia gestite (SSE-KP) di Key Protect o Hyper Protect Crypto Services

Per creare un bucket in cui le chiavi di crittografia sono gestite da Key Protect o Hyper Protect Crypto Services, è necessario avere accesso a un'istanza del servizio Key Protect o Hyper Protect Crypto Services attiva. Questa operazione non utilizza parametri di interrogazione specifici dell'operazione.

Per ulteriori informazioni sull'utilizzo di Key Protect per la gestione delle chiavi di crittografia, consultare la documentazione disponibile all'indirizzo Key Protect.

Per ulteriori informazioni su Hyper Protect Crypto Services, vedi la documentazione.

La crittografia gestita per un bucket Cross Region deve utilizzare una chiave root proveniente da un'istanza Key Protect nella posizione ad alta disponibilità più vicina (us-south o jp-tok).

Intestazioni
Intestazione Immettere Descrizione
ibm-service-instance-id Stringa Questa intestazione fa riferimento all'istanza del servizio in cui verrà creato il bucket e alla quale potrà essere addebitato l'utilizzo dei dati.
ibm-sse-kp-encryption-algorithm Stringa Questa intestazione viene utilizzata per specificare l'algoritmo e la dimensione della chiave da utilizzare con la chiave di crittografia memorizzata tramite Key Protect. Questo valore deve essere impostato sulla stringa AES256.
ibm-sse-kp-customer-root-key-crn Stringa Questa intestazione serve a indicare la chiave radice specifica utilizzata da Key Protect o Hyper Protect Crypto Services per crittografare questo bucket. Questo valore deve essere il CRN completo della chiave root.

Sintassi

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

Esempio di richiesta

Il seguito esempio crea un bucket denominato 'secure-files'.

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}

Esempio di richiesta

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}

Risposta di esempio

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

Richiama le intestazioni di un bucket

Un'operazione " HEAD " eseguita su un bucket restituisce le intestazioni relative a quel bucket.

Le richieste HEAD non restituiscono un corpo e quindi non possono restituire messaggi di errore specifici come NoSuchBucket, solo NotFound.

Sintassi

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

Esempio di richiesta

Il seguente esempio recupera le intestazioni per il bucket 'images'.

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

Esempio di richiesta

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

Risposta di esempio

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

Esempio di richiesta

HEAD Le richieste relative ai bucket con crittografia “ Key Protect ” restituiscono intestazioni aggiuntive.

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

Esempio di richiesta

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

Risposta di esempio

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}

Elenca gli oggetti in un bucket specifico (Versione 2)

Una richiesta di tipo " GET " indirizzata a un bucket restituisce un elenco di oggetti, limitato a 1.000 alla volta e restituito in ordine non lessicografico. Il valore " StorageClass " restituito nella risposta è un valore predefinito, poiché le operazioni relative alla classe di archiviazione non sono implementate in Object Storage. Questa operazione non utilizza intestazioni o elementi payload specifici dell'operazione.

Sintassi

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

Parametri di query facoltativi

Parametri di query facoltativi
Nome Immettere Descrizione
list-type Stringa Indica la versione 2 dell'API e il valore deve essere 2.
prefix Stringa Limita la risposta ai nomi degli oggetti che iniziano con prefix.
delimiter Stringa Raggruppa gli oggetti tra prefix e delimiter.
encoding-type Stringa Se in un nome oggetto vengono utilizzati caratteri unicode non supportati da XML, questo parametro può essere impostato su url per codificare correttamente la risposta.
max-keys Stringa Limita il numero di oggetti da visualizzare nella risposta. Il valore predefinito e massimo è 1.000.
fetch-owner Stringa La versione 2 dell'API non include le informazioni Owner per impostazione predefinita. Impostare questo parametro su “ true ” se si desidera che nella risposta siano incluse le informazioni relative a “ Owner ”.
continuation-token Stringa Specifica l'insieme di oggetti successivo che deve essere restituito quando viene troncata la risposta (l'elemento IsTruncated restituisce true).
La tua risposta iniziale include l'elemento NextContinuationToken . Utilizza questo token nella risposta successiva come il valore per continuation-token.
start-after Stringa Restituisce i nomi chiave dopo un oggetto chiave specifico.
Questo parametro è valido solo nella richiesta iniziale. Se nella tua richiesta viene incluso un parametro continuation-token, questo parametro viene ignorato.

Richiesta di esempio (semplice)

Questa richiesta elenca gli oggetti all'interno del bucket "apiary".

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

Richiesta di esempio (semplice)

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

Risposta di esempio (semplice)

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>
    <ChecksumAlgorithm>CRC64NVME</ChecksumAlgorithm>
    <ChecksumType>FULL_OBJECT</ChecksumType>
    <Size>4</Size>
    <StorageClass>STANDARD</StorageClass>
  </Contents>
  <Contents>
    <Key>soldier-bee</Key>
    <LastModified>2016-08-25T17:49:06.006Z</LastModified>
    <ETag>"37d4c94839ee181a2224d6242176c4b5"</ETag>
    <ChecksumAlgorithm>CRC64NVME</ChecksumAlgorithm>
    <ChecksumType>FULL_OBJECT</ChecksumType>
    <Size>11</Size>
    <StorageClass>STANDARD</StorageClass>
  </Contents>
  <Contents>
    <Key>worker-bee</Key>
    <LastModified>2016-08-25T17:46:53.288Z</LastModified>
    <ETag>"d34d8aada2996fc42e6948b926513907"</ETag>
    <ChecksumAlgorithm>CRC64NVME</ChecksumAlgorithm>
    <ChecksumType>FULL_OBJECT</ChecksumType>
    <Size>467</Size>
    <StorageClass>STANDARD</StorageClass>
  </Contents>
</ListBucketResult>

Richiesta di esempio (parametro max-keys)

Questa richiesta elenca gli oggetti all'interno del bucket "apiary" con un numero massimo di chiavi restituito impostato su 1.

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}

Richiesta di esempio (parametro 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

Risposta di esempio (Risposta troncata)

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>
    <ChecksumAlgorithm>CRC64NVME</ChecksumAlgorithm>
    <ChecksumType>FULL_OBJECT</ChecksumType>
    <Size>4</Size>
    <StorageClass>STANDARD</StorageClass>
  </Contents>
</ListBucketResult>

Richiesta di esempio (parametro continuation-token)

Questa richiesta elenca gli oggetti all'interno del bucket "apiary" con un continuation-token specificato.

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}

Richiesta di esempio (parametro "continuation-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

Risposta di esempio (Risposta troncata, parametro 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>
    <ChecksumAlgorithm>CRC64NVME</ChecksumAlgorithm>
    <ChecksumType>FULL_OBJECT</ChecksumType>
    <Size>11</Size>
    <StorageClass>STANDARD</StorageClass>
  </Contents>
</ListBucketResult>

Elenca gli oggetti in un bucket specifico (funzionalità obsoleta)

Questa API è inclusa per compatibilità con una versione precedente. Vedi Versione 2 per il metodo di richiamo degli oggetti consigliato in un bucket.

Una richiesta di tipo " GET " indirizzata a un bucket restituisce un elenco di oggetti, limitato a 1.000 alla volta e restituito in ordine non lessicografico. Il valore " StorageClass " restituito nella risposta è un valore predefinito, poiché le operazioni relative alla classe di archiviazione non sono implementate in Object Storage. Questa operazione non utilizza intestazioni o elementi payload specifici dell'operazione.

Sintassi

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

Parametri di query facoltativi per il metodo dell'oggetto elenco

Parametri di query facoltativi
Nome Immettere Descrizione
prefix Stringa Limita la risposta ai nomi degli oggetti che iniziano con prefix.
delimiter Stringa Raggruppa gli oggetti tra prefix e delimiter.
encoding-type Stringa Se in un nome oggetto vengono utilizzati caratteri unicode non supportati da XML, questo parametro può essere impostato su url per codificare correttamente la risposta.
max-keys Stringa Limita il numero di oggetti da visualizzare nella risposta. Il valore predefinito e massimo è 1.000.
marker Stringa Specifica l'oggetto da cui deve iniziare l'elenco, secondo l'ordine binario di UTF-8.

Esempio di richiesta

Questa richiesta elenca gli oggetti all'interno del bucket "apiary".

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

Esempio di richiesta

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

Risposta di esempio

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>
    <ChecksumAlgorithm>CRC64NVME</ChecksumAlgorithm>
    <ChecksumType>FULL_OBJECT</ChecksumType>
    <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>
    <ChecksumAlgorithm>CRC64NVME</ChecksumAlgorithm>
    <ChecksumType>FULL_OBJECT</ChecksumType>
    <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>
    <ChecksumAlgorithm>CRC64NVME</ChecksumAlgorithm>
    <ChecksumType>FULL_OBJECT</ChecksumType>
    <Size>467</Size>
    <Owner>
      <ID>{account-id}</ID>
      <DisplayName>{account-id}</DisplayName>
    </Owner>
    <StorageClass>STANDARD</StorageClass>
  </Contents>
</ListBucketResult>

Elimina un bucket

Una richiesta di tipo " DELETE " inviata a un bucket vuoto comporta l'eliminazione del bucket stesso. Il nome del bucket viene mantenuto in riserva dal sistema per 5 minuti dopo la cancellazione. Dopo 5 minuti, il nome viene rilasciato per essere riutilizzato. Puoi eliminare solo i bucket vuoti.

Se l'istanza del servizio Object Storage viene eliminata, tutti i nomi bucket in tale istanza vengono tenuti riservati dal sistema per 7 giorni. Dopo 7 giorni, i nomi vengono rilasciati per il riutilizzo.

Sintassi

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

Intestazioni facoltative

Intestazioni facoltative
Nome Immettere Descrizione
aspera-ak-max-tries Stringa Specifica per quante volte puoi tentare l'operazione di eliminazione. Il valore predefinito è 2.

Esempio di richiesta

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

Esempio di richiesta

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

Il server risponde con 204 No Content.

Se per l'eliminazione viene richiesto un bucket non vuoto, il server risponde con 409 Conflict.

Risposta di esempio

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

Configura blocco oggetto su bucket esistente

Una richiesta PUT indirizzata a un bucket vuoto con il parametro di query ?object-lock imposta una nuova configurazione di blocco oggetto su un bucket.

Sintassi

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

La configurazione blocco oggetto viene fornita come XML nel corpo della richiesta. Le nuove richieste sovrascrivono tutte le regole di replica esistenti presenti nel bucket.

Una configurazione di blocco oggetto deve includere una regola.

Intestazioni facoltative
Intestazione Immettere Descrizione
Content-MD5 Stringa L'hash del payload, generato con l'algoritmo " Base64 " a 128 bit ( MD5 ), viene utilizzato come controllo di integrità per garantire che il payload non sia stato alterato durante il trasferimento.
x-amz-checksum-crc32 Stringa Questa intestazione è il checksum Base64 codificato a 32 bit CRC32 dell'oggetto.
x-amz-checksum-crc32c Stringa Questa intestazione è il checksum Base64 codificato a 32 bit CRC32C dell'oggetto.
x-amz-checksum-crc64nvme Stringa Questa intestazione è il checksum Base64 codificato a 64 bit CRC64NVME dell'oggetto. Il checksum di CRC64NVME è sempre un checksum completo dell'oggetto.
x-amz-checksum-sha1 Stringa Questa intestazione è il digest Base64 codificato a 160 bit SHA1 dell'oggetto.
x-amz-checksum-sha256 Stringa Questa intestazione è il digest Base64 codificato a 256 bit SHA256 dell'oggetto.
x-amz-sdk-checksum-algorithm Stringa Indica l'algoritmo usato per creare il checksum dell'oggetto quando si usa l'SDK.

Un'intestazione Content-MD5 o un'intestazione checksum (comprese x-amz-checksum-crc32, x-amz-checksum-crc32c, x-amz-checksum-crc64nvme, x-amz-checksum-sha1, o x-amz-checksum-sha256) è richiesta come controllo di integrità per il payload.

Il corpo della richiesta deve contenere un blocco XML con il seguente schema:

Corpo dello schema della richiesta
Elemento Immettere Elemento secondario Predecessore Vincolo
ObjectLockConfiguration Container ObjectLockEnabled, Rule Nessuno Limite 1.
ObjectLockEnabled Stringa Nessuno ObjectLockConfiguration L'unico valore valido è ENABLED.
Rule Container DefaultRetention ObjectLockConfiguration Limite 1
DefaultRetention Container Days, Mode, Years Rule Limite 1.
Days Numero intero Nessuno DefaultRetention Il numero di giorni che si desidera specificare per il periodo di conservazione predefinito. Non può essere combinato con Years.
Mode Stringa Nessuno DefaultRetention COMPLIANCE o GOVERNANCE.
Years Numero intero Nessuno DefaultRetention Il numero di anni che si desidera specificare per il periodo di conservazione predefinito. Non può essere combinato con Days.

Richiesta di esempio

Questa richiesta elenca gli oggetti all'interno del bucket "apiary".

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

Risposta di esempio

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>

Elencare i caricamenti in più parti annullati o incompleti per un bucket

Una richiesta GET emessa per un bucket con i parametri appropriati richiama le informazioni sui caricamenti in più parti annullati o incompleti per un bucket.

Sintassi

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

Parametri

Parametri
Nome Immettere Descrizione
prefix Stringa Limita la risposta ai nomi degli oggetti che iniziano con {prefix}.
delimiter Stringa Raggruppa gli oggetti tra prefix e delimiter.
encoding-type Stringa Se in un nome oggetto vengono utilizzati caratteri unicode non supportati da XML, questo parametro può essere impostato su url per codificare correttamente la risposta.
max-uploads Numero intero Limita il numero di oggetti da visualizzare nella risposta. Il valore predefinito e massimo è 1.000.
key-marker Stringa Specifica da dove deve iniziare l'elenco.
upload-id-marker Stringa Viene ignorato se non viene specificato key-marker ; in caso contrario, imposta un punto a partire dal quale iniziare a elencare le parti sopra upload-id-marker``.

Esempio di richiesta

Il seguente esempio richiama tutti i caricamenti in più parti annullati e incompleti correnti.

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

Esempio di richiesta

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

Risposta di esempio (nessun caricamento in più parti in corso)

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>

Elenca qualsiasi configurazione CORS (Cross-Origin Resource Sharing) per un bucket

Una richiesta GET emessa per un bucket con i parametri appropriati richiama le informazioni sulla configurazione CORS (Cross-Origin Resource Sharing) per un bucket.

Sintassi

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

Esempio di richiesta

L'esempio seguente illustra una configurazione di CORS sul bucket "apiary".

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

Esempio di richiesta

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

Risposta di esempio n. CORS set di configurazione

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>

Crea una configurazione CORS (Cross-Origin Resource Sharing) per un bucket

Una richiesta PUT emessa per un bucket con i parametri appropriati crea o sostituisce una configurazione CORS (Cross-Origin Resource Sharing) per un bucket.

Sintassi

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

Elementi del payload

Il corpo della richiesta deve contenere un blocco XML con il seguente schema:

Corpo dello schema della richiesta
Elemento Immettere Elemento secondario Predecessore Vincolo
CORSConfiguration Container CORSRule
CORSRule Container AllowedOrigin, AllowedMethod Elimina
AllowedOrigin Stringa
CORSRule Stringa di origine valida
AllowedMethod Stringa
CORSRule Stringa metodo valida
Intestazioni facoltative
Intestazione Immettere Descrizione
Content-MD5 Stringa L'hash del payload, generato con l'algoritmo " MD5 " a 128 bit e codificato con l' base64, viene utilizzato come controllo di integrità per garantire che il payload non sia stato alterato durante il trasferimento.
x-amz-checksum-crc32 Stringa Questa intestazione è il checksum Base64 codificato a 32 bit CRC32 dell'oggetto.
x-amz-checksum-crc32c Stringa Questa intestazione è il checksum Base64 codificato a 32 bit CRC32C dell'oggetto.
x-amz-checksum-crc64nvme Stringa Questa intestazione è il checksum Base64 codificato a 64 bit CRC64NVME dell'oggetto. Il checksum di CRC64NVME è sempre un checksum completo dell'oggetto.
x-amz-checksum-sha1 Stringa Questa intestazione è il digest Base64 codificato a 160 bit SHA1 dell'oggetto.
x-amz-checksum-sha256 Stringa Questa intestazione è il digest Base64 codificato a 256 bit SHA256 dell'oggetto.
x-amz-sdk-checksum-algorithm Stringa Indica l'algoritmo usato per creare il checksum dell'oggetto quando si usa l'SDK.

Un'intestazione Content-MD5 o un'intestazione checksum (comprese x-amz-checksum-crc32, x-amz-checksum-crc32c, x-amz-checksum-crc64nvme, x-amz-checksum-sha1, o x-amz-checksum-sha256) è richiesta come controllo di integrità per il payload. Il seguente snippet mostra un modo per ottenere il contenuto dell'intestazione Content-MD5, che è la rappresentazione binaria di un hash base64-encoded MD5.

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

Esempio di richiesta

L'esempio seguente aggiunge una configurazione di tipo " CORS " che consente alle richieste provenienti da www.ibm.com di inviare richieste GET, PUT e POST al bucket.

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

Esempio di richiesta

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>

Risposta di esempio

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

Elimina qualsiasi configurazione CORS (Cross-Origin Resource Sharing) per un bucket

Una richiesta DELETE emessa per un bucket con i parametri appropriati crea o sostituisce una configurazione CORS (Cross-Origin Resource Sharing) per un bucket.

Sintassi

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

Esempio di richiesta

L'esempio seguente elimina una configurazione " CORS " relativa a un bucket.

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

Esempio di richiesta

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

Il server risponde con 204 No Content.


Elenca il vincolo di ubicazione per un bucket

Una richiesta GET emessa per un bucket con il parametro appropriato richiama le informazioni sull'ubicazione di un bucket.

Sintassi

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

Esempio di richiesta

Il seguente esempio richiama l'ubicazione del bucket "apiary".

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

Esempio di richiesta

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

Risposta di esempio

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>

Crea la configurazione del ciclo di vita di un bucket

Un'operazione PUT utilizza il parametro di query lifecycle per configurare le impostazioni del ciclo di vita per il bucket. Un'intestazione Content-MD5 o un'intestazione checksum (comprese x-amz-checksum-crc32, x-amz-checksum-crc32c, x-amz-checksum-crc64nvme, x-amz-checksum-sha1, o x-amz-checksum-sha256) è richiesta come controllo di integrità per il payload.

Il seguente snippet mostra un modo per ottenere il contenuto dell'intestazione Content-MD5, che è la rappresentazione binaria di un hash base64-encoded MD5.

Sintassi

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

Elementi del payload

Il corpo della richiesta deve contenere un blocco XML con il seguente schema:

Corpo dello schema della richiesta
Elemento Immettere Elemento secondario Predecessore Vincolo
LifecycleConfiguration Container Rule Nessuno Limite 1
Rule Container ID, Status, Filter, Transition LifecycleConfiguration Limite 1
ID Stringa Nessuno Rule Deve essere composto da (a-z,A-Z,0-9) e dai seguenti simboli:! _ . * ' ( ) -
Filter Stringa Prefix Rule Deve contenere un elemento Prefix.
Expiration Container Days, Date, ExpiredObjectDeleteMarker Rule Limite 1
Prefix Stringa Nessuno Filter Se si utilizza una regola di transizione (archivio), il valore deve essere impostato su <Prefix/>. Questa limitazione non si applica alle regole di scadenza.
Transition Container Days, StorageClass Rule Limitare 1 regola di transizione e 1000 regole in totale.
Days Numero interno non negativo Nessuno Transition Deve essere un valore uguale o maggiore di 0.
Date Data Nessuno Transition Deve essere nel formato ISO 8601 e la data deve essere futura.
StorageClass Stringa Nessuno Transition Deve essere impostato su GLACIER o ACCELERATED.
ExpiredObjectDeleteMarker Booleano Nessuno Expiration Deve essere true o false.
NoncurrentVersionExpiration Container NoncurrentDays NoncurrentVersionExpiration Limite 1
NoncurrentDays numero intero positivo Nessuno Transition Deve essere un valore maggiore di 0.
AbortIncompleteMultipartUpload Container DaysAfterInitiation Rule Limite 1
DaysAfterInitiation Numero interno non negativo Nessuno AbortIncompleteMultipartUpload Deve essere un valore maggiore di 0.
Intestazione opzionale
Intestazione Immettere Descrizione
Content-MD5 Stringa L'hash del payload, generato con l'algoritmo " MD5 " a 128 bit e codificato con l' base64, viene utilizzato come controllo di integrità per garantire che il payload non sia stato alterato durante il trasferimento.
x-amz-checksum-crc32 Stringa Questa intestazione è il checksum Base64 codificato a 32 bit CRC32 dell'oggetto.
x-amz-checksum-crc32c Stringa Questa intestazione è il checksum Base64 codificato a 32 bit CRC32C dell'oggetto.
x-amz-checksum-crc64nvme Stringa Questa intestazione è il checksum Base64 codificato a 64 bit CRC64NVME dell'oggetto. Il checksum di CRC64NVME è sempre un checksum completo dell'oggetto.
x-amz-checksum-sha1 Stringa Questa intestazione è il digest Base64 codificato a 160 bit SHA1 dell'oggetto.
x-amz-checksum-sha256 Stringa Questa intestazione è il digest Base64 codificato a 256 bit SHA256 dell'oggetto.
x-amz-sdk-checksum-algorithm Stringa Indica l'algoritmo usato per creare il checksum dell'oggetto quando si usa l'SDK.

IBM Cloud® Object Storage IaaS Gli account (non IAM) non sono in grado di impostare la classe di archiviazione di transizione su ACCELERATED.

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

Il seguente frammento mostra un modo per ottenere il contenuto per quella particolare intestazione.

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

Esempio di richiesta

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

Esempio di richiesta

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>

Il server risponde con 200 OK.


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

Il seguente frammento mostra un modo per ottenere il contenuto per quella particolare intestazione.

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

Esempio di richiesta

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>

Esempio di risposta Il server risponde con 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

Esempio di richiesta

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

Esempio di richiesta

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

Richiama la configurazione del ciclo di vita di un bucket

Un'operazione GET utilizza il parametro di query lifecycle per richiamare le impostazioni del ciclo di vita per il bucket.

Sintassi

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

Esempio di richiesta

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

Esempio di richiesta

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

Risposta di esempio

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

Esempio di richiesta

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==

Risposta di esempio

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>

Elimina i dati obsoleti con le regole di scadenza

Qualsiasi azione di scadenza per gli oggetti soggetti alla politica di conservazione Immutable Object Storage di un bucket viene posticipata fino a quando la politica di conservazione non viene più applicata.

Per ulteriori informazioni sull'utilizzo della configurazione del ciclo di vita per eliminare gli oggetti, consulta la documentazione.

Questa implementazione dell'operazione PUT utilizza il parametro di query lifecycle per configurare le impostazioni di ciclo di vita per il bucket. Questa operazione consente una singola definizione della politica del ciclo di vita per un bucket. La politica è definita come un insieme di regole costituito dai seguenti parametri: ID, Status, Filter e Expiration.

Intestazioni facoltative
Intestazione Immettere Descrizione
Content-MD5 Stringa L'hash del payload, generato con l'algoritmo " Base64 " a 128 bit ( MD5 ), viene utilizzato come controllo di integrità per garantire che il payload non sia stato alterato durante il trasferimento.
x-amz-checksum-crc32 Stringa Questa intestazione è il checksum Base64 codificato a 32 bit CRC32 dell'oggetto.
x-amz-checksum-crc32c Stringa Questa intestazione è il checksum Base64 codificato a 32 bit CRC32C dell'oggetto.
x-amz-checksum-crc64nvme Stringa Questa intestazione è il checksum Base64 codificato a 64 bit CRC64NVME dell'oggetto. Il checksum di CRC64NVME è sempre un checksum completo dell'oggetto.
x-amz-checksum-sha1 Stringa Questa intestazione è il digest Base64 codificato a 160 bit SHA1 dell'oggetto.
x-amz-checksum-sha256 Stringa Questa intestazione è il digest Base64 codificato a 256 bit SHA256 dell'oggetto.
x-amz-sdk-checksum-algorithm Stringa Indica l'algoritmo usato per creare il checksum dell'oggetto quando si usa l'SDK.

Un'intestazione Content-MD5 o un'intestazione checksum (comprese x-amz-checksum-crc32, x-amz-checksum-crc32c, x-amz-checksum-crc64nvme, x-amz-checksum-sha1, o x-amz-checksum-sha256) è richiesta come controllo di integrità per il payload.

Il seguente snippet mostra un modo per ottenere il contenuto dell'intestazione Content-MD5, che è la rappresentazione binaria di un hash base64-encoded MD5.

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

Il corpo della richiesta deve contenere un blocco XML con il seguente schema:

Corpo dello schema della richiesta
Elemento Immettere Elemento secondario Predecessore Vincolo
LifecycleConfiguration Container Rule Nessuno Limite 1.
Rule Container ID, Status, Filter, Expiration LifecycleConfiguration Limite 1000.
ID Stringa Nessuno Rule Deve essere composto da (a-z,A-Z,0-9) e dai simboli seguenti: ! _ . * ' ( ) -
Filter Stringa Prefix Rule Deve contenere un elemento Prefix
Prefix Stringa Nessuno Filter La regola si applica a tutti gli oggetti con le chiavi che corrispondono a questo prefisso.
Expiration Container Days oppure Date Rule Limite 1.
Days Numero interno non negativo Nessuno Expiration Deve essere un valore maggiore di 0.
Date Data Nessuno Expiration Deve essere nel formato ISO 8601.

Sintassi

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

Esempio di richiesta

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>

Elimina la configurazione del ciclo di vita per un bucket

Una richiesta DELETE emessa per un bucket con i parametri appropriati rimuove le configurazioni del ciclo di vita per un bucket.

Sintassi

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

Esempio di richiesta

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

Esempio di richiesta

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

Il server risponde con 204 No Content.

Esempio di richiesta

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==

Risposta di esempio

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

Il server risponde con 204 No Content.

Aggiungi una politica di conservazione a un bucket esistente

Immutable Object Storage è disponibile solo in specifiche regioni; per i dettagli, vedi Servizi integrati. Il servizio richiede inoltre un piano tariffario Standard. Per i dettagli, vedi i prezzi.

Ulteriori informazioni su Immutable Object Storage sono disponibili nella documentazione.

I valori minimi e massimi supportati per le impostazioni del periodo di conservazione MinimumRetention, DefaultRetention e MaximumRetention vanno da un minimo di 0 giorni a un massimo di 365.243 giorni (1.000 anni).

Questa operazione non utilizza parametri di query supplementari. L'intestazione Content-MD5 o l'intestazione checksum (comprese x-amz-checksum-crc32, x-amz-checksum-crc32c, x-amz-checksum-crc64nvme, x-amz-checksum-sha1, o x-amz-checksum-sha256) è richiesta come controllo di integrità per il payload. Il seguente snippet mostra un modo per ottenere il contenuto dell'intestazione Content-MD5, che è la rappresentazione binaria di un hash base64-encoded MD5.

Le politiche vengono applicate fino alla fine di un periodo di conservazione e non possono essere modificate fino alla scadenza del periodo di conservazione. Sebbene IBM Cloud® Object Storage utilizzi l'API S3 per la maggior parte delle operazioni, le API utilizzate per configurare i criteri di conservazione non sono le stesse dell'API S3, anche se alcuni termini potrebbero essere comuni. Leggi attentamente questa documentazione per impedire agli utenti della tua organizzazione di creare oggetti che non possono essere eliminati, nemmeno dagli amministratori dell' IBM Cloud.

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

Sintassi

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

Il corpo della richiesta deve contenere un blocco XML con il seguente schema:

Corpo dello schema della richiesta
Elemento Immettere Elemento secondario Predecessore Vincolo
ProtectionConfiguration Container Status, MinimumRetention, MaximumRetention, DefaultRetention
Status Stringa
ProtectionConfiguration Stringa di stato valido
MinimumRetention Container Days ProtectionConfiguration
MaximumRetention Container Days ProtectionConfiguration
DefaultRetention Container Days ProtectionConfiguration
Days Numero intero
MinimumRetention, MaximumRetention, DefaultRetention Numero intero di conservazione valido
Intestazioni facoltative
Intestazione Immettere Descrizione
Content-MD5 Stringa L'hash del payload, generato con l'algoritmo " MD5 " a 128 bit e codificato con l' base64, viene utilizzato come controllo di integrità per garantire che il payload non sia stato alterato durante il trasferimento.
x-amz-checksum-crc32 Stringa Questa intestazione è il checksum Base64 codificato a 32 bit CRC32 dell'oggetto.
x-amz-checksum-crc32c Stringa Questa intestazione è il checksum Base64 codificato a 32 bit CRC32C dell'oggetto.
x-amz-checksum-crc64nvme Stringa Questa intestazione è il checksum Base64 codificato a 64 bit CRC64NVME dell'oggetto. Il checksum di CRC64NVME è sempre un checksum completo dell'oggetto.
x-amz-checksum-sha1 Stringa Questa intestazione è il digest Base64 codificato a 160 bit SHA1 dell'oggetto.
x-amz-checksum-sha256 Stringa Questa intestazione è il digest Base64 codificato a 256 bit SHA256 dell'oggetto.
x-amz-sdk-checksum-algorithm Stringa Indica l'algoritmo usato per creare il checksum dell'oggetto quando si usa l'SDK.

Esempio di richiesta

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>

Risposta di esempio

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

Configurare un bucket per l'hosting del sito Web statico

Un'istruzione PUT eseguita su un bucket con i parametri corretti crea o sostituisce una configurazione del sito web statico per quel bucket.

Sintassi

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

Elementi del payload

Il corpo della richiesta deve contenere un blocco XML con il seguente schema:

Corpo dello schema della richiesta
Elemento Immettere Elemento secondario Predecessore Note
WebsiteConfiguration Container ErrorDocument, IndexDocument, RedirectAllRequestsTo, RoutingRule
Obbligatorio
ErrorDocument Container Key WebsiteConfiguration
Key Stringa
ErrorDocument
IndexDocument Container Suffix WebsiteConfiguration
Suffix Stringa
IndexDocument
RedirectAllRequestsTo Container HostName, Protocol WebsiteConfiguration Se fornito, deve essere l'unico elemento specificato
HostName Stringa
RedirectAllRequestsTo
Protocol Stringa
RedirectAllRequestsTo
RoutingRules Container RoutingRule WebsiteConfiguration
RoutingRule Container Condition, Redirect RoutingRules
Condition Container HttpErrorCodeReturnedEquals, KeyPrefixEquals RoutingRule
HttpErrorCodeReturnedEquals Stringa
Condition
KeyPrefixEquals Stringa
Condition
Redirect Container HostName, HttpRedirectCode, Protocol, ReplaceKeyPrefixWith, ReplaceKeyWith RoutingRule
HostName Stringa
Redirect
HttpRedirectCode Stringa
Redirect
Protocol Stringa
Redirect
ReplaceKeyPrefixWith Stringa
Redirect
ReplaceKeyWith Stringa
Redirect

Richiesta di esempio

Il seguente esempio aggiunge una configurazione del sito Web che serve un sito Web di base che cerca un file index.html in ogni prefisso. Ad esempio, una richiesta effettuata a /apiary/images/ serve il contenuto in /apiary/images/index.html senza la necessità di specificare il file effettivo.

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>

Risposta di esempio

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

Elimina qualsiasi configurazione del sito Web per un bucket

Una richiesta DELETE inviata a un bucket con i parametri appropriati rimuove la configurazione del sito web per un bucket.

Sintassi

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

Esempio di richiesta

Il seguente esempio elimina una configurazione del sito Web per un bucket.

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

Esempio di richiesta

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

Il server risponde con 204 No Content.


Blocca gli ACL pubblici su un bucket

Una richiesta PUT inoltrata ad un bucket con i parametri appropriati impedisce l'aggiunta di ACL di accesso pubblici su un bucket. Può essere impostato per non eseguire le nuove richieste ACL o per ignorarle. BlockPublicAcls non influenza gli ACL esistenti, ma IgnorePublicAcls ignora gli ACL esistenti. Questa operazione non influisce sulle politiche di accesso pubblico IAM.

Sintassi

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

Elementi del payload

Il corpo della richiesta deve contenere un blocco XML con il seguente schema:

Corpo dello schema della richiesta
Elemento Immettere Elemento secondario Predecessore Note
PublicAccessBlockConfiguration Container BlockPublicAcls, IgnorePublicAcls
Obbligatorio
BlockPublicAcls Booleano
PublicAccessBlockConfiguration
IgnorePublicAcls Booleano
PublicAccessBlockConfiguration

Richiesta di esempio

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>

Risposta di esempio

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

Controlla un blocco ACL pubblico per un bucket

Un GET emesso per un bucket con i parametri appropriati restituisce la configurazione del blocco ACL per un bucket.

Sintassi

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

Esempio di richiesta

Il seguente esempio legge un blocco di accesso pubblico per un bucket.

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

Esempio di richiesta

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>

Elimina un blocco ACL pubblico da un bucket

Un DELETE emesso per un bucket con i corretti parametri rimuove il blocco ACL pubblico da un bucket.

Sintassi

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

Esempio di richiesta

Il seguente esempio elimina un blocco ACL per un bucket.

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

Esempio di richiesta

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

Il server risponde con 204 No Content.


Operazioni dei criteri di backup

L'API Backup Policy di IBM Cloud® Object Storage fornisce operazioni per la creazione, la gestione e l'interazione con le politiche di backup. I criteri di backup definiscono le modalità di backup dei dati nei bucket nei vault di backup.

Per ulteriori informazioni sulle autorizzazioni e sull'accesso, vedere Autorizzazioni dei criteri di backup.

Crea una politica di backup

Una richiesta POST all'endpoint /buckets/{bucket}/backup_policies crea un nuovo criterio di backup per un bucket.

Intestazioni
Intestazione Immettere Obbligatorio? Descrizione
MD5 Stringa No MD5 hash del contenuto. Se fornito, l'hash della richiesta deve corrispondere.
Parametri del percorso
Parametro del percorso Immettere Obbligatorio? Descrizione
bucket_name Stringa Il nome del bucket a cui viene applicato il criterio di backup.

Sintassi

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

Corpo della richiesta

{
  "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"
}

Richiesta di esempio

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"
}

Risposta di esempio

{
  "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"
}

Elenco dei criteri di backup

Una richiesta GET all'endpoint /buckets/{bucket}/backup_policies recupera tutti i criteri di backup per un bucket.

Parametri del percorso
Parametro del percorso Immettere Obbligatorio? Descrizione
bucket_name Stringa Il nome del bucket per il quale elencare i criteri di backup.

Sintassi

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

Richiesta di esempio

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

Risposta di esempio

[
  {
    "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"
  }
]

Ottenere i dettagli della politica di backup

Una richiesta GET all'endpoint /buckets/{bucket}/backup_policies/{policy_id} recupera i dettagli di uno specifico criterio di backup.

Parametri del percorso
Parametro del percorso Immettere Obbligatorio? Descrizione
bucket_name Stringa Il nome del bucket.
policy_id Stringa L'ID della politica di backup.

Sintassi

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

Richiesta di esempio

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

Risposta di esempio

{
  "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
  }
}

Eliminare un criterio di backup

Una richiesta DELETE all'endpoint /buckets/{bucket}/backup_policies/{policy_id} elimina uno specifico criterio di backup.

Parametri del percorso
Parametro del percorso Immettere Obbligatorio? Descrizione
bucket_name Stringa Il nome del bucket.
policy_id Stringa L'ID della politica di backup.

Sintassi

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

Richiesta di esempio

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

Risposta di esempio

HTTP/1.1 204 No Content

Per ulteriori informazioni sulle operazioni dei criteri di backup, vedere Gestione del vault di backup.

Passi successivi

Per ulteriori informazioni, consultare Operazioni oggetto.