Operazioni per l'oggetto

Le moderne funzionalità di IBM Cloud® Object Storage sono comodamente disponibili tramite un'API RESTful. Le operazioni e i metodi per la lettura, la scrittura e la configurazione degli oggetti (memorizzati in un bucket) sono documentati qui.

Per ulteriori informazioni sugli endpoint, vedi Endpoint e ubicazioni di archiviazione.

Una nota relativa all'autenticazione HMAC (Access / Secret Key)

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

Componenti della firma HMAC
Chiave Valore Esempio
{access_key} Chiave di accesso assegnata alle 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

Carica un oggetto

Una richiesta PUT, dato un percorso a un oggetto, carica il corpo della richiesta come un oggetto. Tutti gli oggetti caricati in un singolo thread devono essere inferiori a 500 MB per ridurre il rischio di interruzioni di rete. (gli oggetti caricati in più parti possono avere una dimensione di 10 TB).

Informazioni di identificazione personale (PII): quando si assegnano nomi a bucket o oggetti, non utilizzare informazioni che possano identificare un utente (persona fisica) tramite nome, posizione o qualsiasi altro mezzo.

È possibile eseguire lo streaming di oggetti fino a 5 GB utilizzando una singola richiesta PUT. I caricamenti multiparte sono più affidabili e possono essere caricati in modo più efficiente utilizzando più thread per caricare parti in parallelo. Il caricamento di oggetti più grandi in una singola richiesta PUT determina le limitazioni delle prestazioni di un singolo thread e, in caso di errori, i caricamenti a thread singolo dovranno essere ritentati nella loro interezza (mentre con MPU solo le parti specifiche che non sono riuscite devono essere ritentate). Il throughput preciso che può essere raggiunto da un singolo thread varia a seconda della larghezza di banda della rete dal client all'endpoint IBM Cloud, del tasso di perdita di pacchetti (se presente) su quella connessione, dell'uso di HTTP rispetto a HTTPS, dei codici di cifratura specifici utilizzati nella connessione e dei parametri specifici della connessione TCP (come la dimensione della finestra), nonché di altri fattori. Sebbene questi fattori possano essere ottimizzati per un caricamento a thread singolo, le ottimizzazioni si applicheranno ugualmente a tutti i caricamenti a thread multipli (multiparte).

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

Sintassi

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

Intestazioni facoltative

Intestazioni facoltative
Intestazione Immettere Descrizione
x-amz-tagging stringa Una serie di tag da applicare all'oggetto, formattati come parametri di query ("SomeKey=SomeValue").
x-amz-object-lock-mode stringa Il valore valido è COMPLIANCE o GOVERNANCE- richiesto se x-amz-object-lock-retain-until-date è presente.
x-amz-object-lock-retain-until-date ISO8601 Data e ora Obbligatorio se x-amz-object-lock-mode è presente.
x-amz-object-lock-legal-hold stringa I valori validi sono ON o OFF.
Content-MD5 Stringa L' Base64, codificato con hash a 128 bit MD5 del payload, 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.
x-amz-trailer Stringa Indica quale intestazione del valore di checksum sarà presente nel trailer del payload per verificare l'integrità del caricamento dell'oggetto.

Richiesta di esempio

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

Content-Length: 533

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

Richiesta di esempio

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

Content-Length: 533

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

Risposta di esempio

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

Ottieni le intestazioni di un oggetto

Una richiesta HEAD, dato un percorso a un oggetto, richiama le intestazioni di tale oggetto.

Il Etag valore restituito per gli oggetti crittografati utilizzando SSE-KP è l'hash MD5 dell'oggetto originale decrittografato.

Sintassi

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

Intestazioni facoltative

Intestazioni facoltative
Intestazione Immettere Descrizione
x-amz-checksum-mode stringa Indica se includere o meno i metadati della somma di controllo nella risposta.

Richiesta di esempio

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

Richiesta di esempio

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

Risposta di esempio

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

Scarica un oggetto

Una richiesta GET, dato un percorso a un oggetto, scarica l'oggetto.

Il valore Etag restituito per gli oggetti crittografati utilizzando SSE-C/SSE-KP non sarà l'hash MD5 dell'oggetto decrittografato originale.

Sintassi

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

Intestazioni facoltative

Intestazione Immettere Descrizione
range Stringa Restituisce i byte di un oggetto all'interno dell'intervallo specificato.
x-amz-checksum-mode Stringa Indica se includere o meno i metadati della somma di controllo nella risposta.

Richiesta di esempio

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

Richiesta di esempio

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

Risposta di esempio

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

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

Elimina un oggetto

Una richiesta DELETE, dato un percorso a un oggetto, elimina un oggetto.

Sintassi

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

Richiesta di esempio

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

Richiesta di esempio

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

Risposta di esempio

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

Elimina più oggetti

Una richiesta POST, dati un percorso a un bucket e parametri appropriati, elimina un insieme specificato di oggetti. 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.

Intestazioni facoltative

Intestazioni facoltative
Intestazione Immettere Descrizione
Content-MD5 Stringa L' base64, codificato con hash a 128 bit MD5 del payload, 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.

Quando un oggetto specificato nella richiesta non viene trovato, il risultato viene restituito come eliminato.

Le eliminazioni di più oggetti coinvolgono un POST operation addebitato come Classe A. Il costo della richiesta POST per più eliminazioni varia a seconda della classe di memoria degli oggetti e della quantità di dati eliminati. Per ulteriori informazioni sui prezzi, consulta la pagina dei prezzi di IBM Cloud Object Storage.

Elementi facoltativi

Intestazione
Intestazione Immettere Descrizione
Quiet Booleano Abilita la modalità quiet per la richiesta.

La richiesta può contenere massimo 1000 chiavi che vuoi eliminare. Se da una parte questo è utile per ridurre il numero di richieste, fai attenzione quando elimini molte chiavi. Inoltre, prendi in considerazione anche le dimensioni degli oggetti per garantire delle prestazioni adeguate.

Il seguente codice mostra un esempio di come creare la rappresentazione necessaria del contenuto dell'intestazione:

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

Sintassi

POST https://{endpoint}/{bucket-name}?delete= # path style
POST https://{bucket-name}.{endpoint}?delete= # 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
Elimina Container Oggetto
Oggetto Container Chiave Elimina
Chiave Stringa
Oggetto Stringa chiave valida

Richiesta di esempio

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

Richiesta di esempio

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

Risposta di esempio

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

Aggiungere o aggiornare la conservazione su un oggetto

Un PUT emesso a un oggetto con i parametri corretti aggiunge o estende il periodo di conservazione. In COMPLIANCE modalità, il periodo di conservazione può solo essere esteso e non può essere abbreviato o rimosso. In GOVERNANCE modalità, gli utenti autorizzati possono estendere, abbreviare o rimuovere il periodo di conservazione includendo x-amz-bypass-governance-retention l'intestazione.

Sintassi

PUT https://{endpoint}/{bucket-name}/{object-name}?retention # path style
PUT https://{bucket-name}.{endpoint}/{object-name}?retention # 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
Conservazione Container Modalità, RetainUntilDate
Obbligatorio
Modalità Stringa
Conservazione Obbligatorio - il valore valido è COMPLIANCE o GOVERNANCE
RetainUntilDate Data/ora
Conservazione Obbligatorio

Intestazioni facoltative

Intestazione Immettere Descrizione
x-amz-bypass-governance-retention Stringa Questa intestazione consente agli utenti autorizzati di ignorare le impostazioni di conservazione in modalità GOVERNANCE per eliminare o modificare un oggetto prima della sua data di conservazione.

Il seguente codice mostra un esempio di come creare la rappresentazione necessaria del contenuto dell'intestazione:

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

Richiesta di esempio

Questo è un esempio di aggiunta o estensione della conservazione su un oggetto.

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

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


Aggiungere tag a un oggetto

Un PUT emesso per un oggetto con i parametri appropriati crea o sostituisce una serie di tag chiave - valore associate all'oggetto.

Sintassi

PUT https://{endpoint}/{bucket-name}/{object-name}?tagging # path style
PUT https://{bucket-name}.{endpoint}/{object-name}?tagging # 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
Applicazione tag Container TagSet
Obbligatorio
TagSet Container Tag Applicazione tag Obbligatorio
Tag Stringa Chiave, Valore TagSet Obbligatorio
Chiave Container
Tag Obbligatorio
Valore Stringa
Tag Obbligatorio

Le tag devono rispettare le seguenti restrizioni:

  • Un oggetto può avere un massimo di 10 tag
  • Per ogni oggetto, ogni chiave tag deve essere univoca e ogni chiave tag può avere un solo valore.
  • Lunghezza minima della chiave - 1 carattere Unicode in UTF-8
  • Lunghezza massima della chiave - 128 caratteri Unicode in UTF-8
  • Dimensione massima byte chiave - 256 byte
  • Lunghezza minima del valore - 0 caratteri Unicode in UTF-8 (il valore tag può essere vuoto)
  • Lunghezza massima del valore - 256 caratteri Unicode in UTF-8
  • Dimensione massima byte valore - 512 byte
  • La chiave e il valore di un tag possono essere costituiti da caratteri alfanumerici statunitensi (a-z,A-Z,0-9), e da spazi rappresentabili in UTF-8, e dai seguenti simboli: +, -, =, ., _, :, /, @
  • Le chiavi di tag e i valori sono sensibili al maiuscolo / minuscolo
  • ibm: non può essere utilizzato come prefisso chiave per i tag
Intestazioni facoltative
Intestazione Immettere Descrizione
Content-MD5 Stringa L' Base64, codificato con hash a 128 bit MD5 del payload, 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.

Richiesta di esempio

Questo è un esempio di aggiunta di una serie di tag a un oggetto.

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

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

Leggere i tag di un oggetto

Un GET emesso per un oggetto con i parametri appropriati restituisce la serie di tag chiave - valore associati all'oggetto.

Sintassi

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

Richiesta di esempio

Questo è un esempio di lettura di una serie di tag oggetto.

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

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: 128
<Tagging>
   <TagSet>
      <Tag>
         <Key>string</Key>
         <Value>string</Value>
      </Tag>
   </TagSet>
</Tagging>

Elimina tag di un oggetto

Un DELETE emesso per un bucket con i parametri corretti rimuove le tag di un oggetto.

Sintassi

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

Richiesta di esempio

Questo è un esempio di eliminazione di tag di un oggetto.

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

Richiesta di esempio

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

Il server risponde con 204 No Content.


Copia un oggetto

Una richiesta PUT, dato un percorso a un nuovo oggetto, crea una nuova copia di un altro oggetto specificato dall'intestazione x-amz-copy-source. A meno che non vengano modificati, i metadati rimangono gli stessi.

Informazioni di identificazione personale (PII): quando si assegnano nomi a bucket o oggetti, non utilizzare informazioni che possano identificare un utente (persona fisica) tramite nome, posizione o qualsiasi altro mezzo.

La copia degli oggetti (anche tra le ubicazioni) non comporta i costi della larghezza di banda in uscita pubblica. Tutti i dati rimangono all'interno della rete interna COS.

Sintassi

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

Intestazioni facoltative

Intestazione Immettere Descrizione
x-amz-metadata-directive stringa (COPY o REPLACE) Un AREPLACE sovrascrive i metadati originali con i nuovi metadati forniti.
x-amz-tagging stringa Una serie di tag da applicare all'oggetto, formattati come parametri di query ("SomeKey=SomeValue").
x-amz-tagging-directive stringa (COPY o REPLACE) A REPLACE sovrascrive i tag originali con i nuovi tag forniti.
x-amz-copy-source-if-match Stringa (ETag) Crea una copia se l'ETag specificato corrisponde all'oggetto di origine.
x-amz-copy-source-if-none-match Stringa (ETag) Crea una copia se l'ETag specificato è diverso dall'oggetto di origine.
x-amz-copy-source-if-unmodified-since Stringa (time stamp) Crea una copia se l'oggetto di origine non è stato modificato dopo la data specificata. La data deve essere una data HTTP valida (ad esempio, Wed, 30 Nov 2016 20:21:38 GMT).
x-amz-copy-source-if-modified-since Stringa (time stamp) Crea una copia se l'oggetto di origine è stato modificato dopo la data specificata. La data deve essere una data HTTP valida (ad esempio, Wed, 30 Nov 2016 20:21:38 GMT).
x-amz-checksum-algorithm Stringa Indica quale algoritmo di checksum verrà utilizzato per creare il checksum dell'oggetto di destinazione.

Richiesta di esempio

Questo esempio di base prende l'oggetto bee dal bucket garden e crea una copia nel bucket apiary con la nuova chiave wild-bee.

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

Richiesta di esempio

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

Risposta di esempio

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

Controlla la configurazione CORS di un oggetto

Una richiesta OPTIONS, dato un percorso a un oggetto insieme a un'origine e a un tipo di richiesta, esegue un controllo per vedere se tale oggetto è accessibile da tale origine utilizzando tale tipo di richiesta. Diversamente da tutte le altre richieste, una richiesta OPTIONS non richiede le intestazioni authorization o x-amx-date.

Sintassi

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

Richiesta di esempio

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

Richiesta di esempio

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

Risposta di esempio

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


Caricamento degli oggetti in più parti

Quando utilizzi oggetti più grandi, ti consigliamo di utilizzare le operazioni di caricamento in più parti per scrivere gli oggetti in IBM Cloud® Object Storage. Un caricamento di un singolo oggetto può essere eseguito come una serie di parti e tali parti possono essere caricate indipendentemente in qualsiasi ordine e in parallelo. Una volta completato il caricamento, Object Storage presenta quindi tutte le parti come un singolo oggetto. Questo offre molti vantaggi: le interruzioni di rete non causano la mancata riuscita di grandi caricamenti, i caricamenti possono essere messi in pausa e riavviati nel corso del tempo e gli oggetti possono essere caricati man mano che vengono creati.

I caricamenti in più parti sono disponibili solo per gli oggetti più grandi di 5 MB. Per gli oggetti più piccoli di 50 GB, ti consigliamo una dimensione della parte che vada da 20 MB a 100 MB per prestazioni ottimali. Per gli oggetti più grandi, la dimensione della parte può essere aumentata senza un significativo impatto sulle prestazioni.

A causa della complessità aggiuntiva coinvolta, ti consigliamo di far utilizzare agli sviluppatori una libreria che fornisca il supporto per il caricamento in più parti.

I caricamenti in più parti incompleti persistono fino a quando l'oggetto non viene eliminato oppure il caricamento in più parti non viene interrotto con AbortIncompleteMultipartUpload. Se un caricamento in più parti incompleto non viene interrotto, il caricamento parziale continua a utilizzare le risorse. Le interfacce devono essere progettate tenendo presente questo comportamento ed eliminare i caricamenti in più parti incompleti.

Ci sono tre fasi per caricare un oggetto in più parti:

  1. Il caricamento viene avviato e viene creato un UploadId.
  2. Vengono caricate singole parti specificando i loro numeri sequenziali e l'UploadId per l'oggetto.
  3. Una volta terminato il caricamento di tutte le parti, il caricamento viene completato inviando una richiesta con l'UploadId e un blocco XML che elenca ogni numero parte e il rispettivo valore Etag.

Avvia un caricamento in più parti

Una richiesta POST emessa per un oggetto con il parametro di query upload crea un nuovo valore UploadId a cui fa poi riferimento ogni parte dell'oggetto che viene caricato.

Informazioni di identificazione personale (PII): quando si assegnano nomi a bucket o oggetti, non utilizzare informazioni che possano identificare un utente (persona fisica) tramite nome, posizione o qualsiasi altro mezzo.

Sintassi

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

Intestazioni facoltative

Intestazioni facoltative
Intestazione Immettere Descrizione
x-amz-checksum-algorithm Stringa Indica quale algoritmo di checksum verrà utilizzato per creare il checksum dell'intero oggetto multiplart.
x-amz-checksum-type Stringa Indica il tipo di checksum da utilizzare per creare il checksum dell'intero oggetto multiplart.

Richiesta di esempio

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

Richiesta di esempio

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

Risposta di esempio

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

Caricare una parte

Una richiesta PUT emessa per un oggetto con i parametri di query partNumber e uploadId caricherà una parte di un oggetto. Le parti possono essere caricate in modo seriale o in parallelo, ma devono essere numerate in ordine.

Informazioni di identificazione personale (PII): quando si assegnano nomi a bucket o oggetti, non utilizzare informazioni che possano identificare un utente (persona fisica) tramite nome, posizione o qualsiasi altro mezzo.

Sintassi

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

Intestazioni facoltative

Intestazioni facoltative
Intestazione Immettere Descrizione
Content-MD5 Stringa L' Base64, codificato con hash a 128 bit MD5 del payload, 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.
x-amz-trailer Stringa Indica quale intestazione del valore di checksum sarà presente nel trailer del payload per verificare l'integrità del caricamento dell'oggetto.

Richiesta di esempio

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

Richiesta di esempio

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

Risposta di esempio

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

Elenca le parti

Una richiesta GET, dato un percorso a un oggetto in più parti con un UploadID attivo specificato come parametro di query, restituisce un elenco di tutte le parti dell'oggetto.

Sintassi

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

Parametri di query

Parametri
Parametro Obbligatorio? Tipo Descrizione
uploadId Obbligatorio string ID di caricamento restituito durante l'inizializzazione di un caricamento in più parti.
max-parts Facoltativo stringa Il valore predefinito è 1.000.
part-number​-marker Facoltativo stringa Definisce dove inizia l'elenco delle parti.

Richiesta di esempio

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

Richiesta di esempio

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

Risposta di esempio

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

Completa un caricamento in più parti

Una richiesta POST emessa per un oggetto con il parametro di query uploadId e il blocco XML appropriato nel corpo, completerà un caricamento in più parti.

Sintassi

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

Intestazioni facoltative

Intestazione opzionale
Intestazione Immettere Descrizione
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-checksum-type Stringa Indica il tipo di checksum da utilizzare per creare il checksum dell'intero oggetto multiplart.

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

Corpo dello schema della richiesta
Elemento Immettere Elemento secondario Predecessore Vincolo
CompleteMultipartUpload Container Parte
Parte Container PartNumber, ETag Elimina
PartNumber Stringa
Oggetto Numero parte valido
ETag Stringa
Oggetto Stringa valore ETag valido
<CompleteMultipartUpload>
  <Part>
    <PartNumber>{sequential part number}</PartNumber>
    <ETag>{ETag value from part upload response header}</ETag>
  </Part>
</CompleteMultipartUpload>

Richiesta di esempio

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

Richiesta di esempio

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

Risposta di esempio

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

Interrompi i caricamenti in più parti incompleti

Una richiesta DELETE emessa per un oggetto con il parametro di query uploadId elimina tutte le parti incomplete di un caricamento in più parti.

Sintassi

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

Richiesta di esempio

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

Richiesta di esempio

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

Risposta di esempio

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

Ripristina temporaneamente un oggetto archiviato

Una richiesta POST emessa per un oggetto con il parametro di query restore per richiedere il ripristino temporaneo di un oggetto archiviato. 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.

Un oggetto archiviato deve essere ripristinato prima di scaricare o di modificare l'oggetto. Devi specificare il ciclo di vita dell'oggetto trascorso il quale la copia temporanea dell'oggetto verrà eliminata.

Per i bucket con una classe di archiviazione di transizione della politica del ciclo di vita di GLACIER, può esserci un ritardo fino a 12 ore prima che la copia ripristinata sia disponibile per l'accesso. Se la classe di memoria di transizione è stata impostata su ACCELERATED, può esserci un ritardo fino a due (2) ore prima che l'oggetto ripristinato sia disponibile. Una richiesta HEAD può controllare se la copia ripristinata è disponibile.

Per ripristinare in modo permanente l'oggetto, deve essere copiato in un bucket che non ha una configurazione attiva del ciclo di vita.

Sintassi

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

Elementi del payload

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

Elemento Immettere Elemento secondario Predecessore Vincolo
RestoreRequest Container Days, GlacierJobParameters Nessuno Nessuno
Giorni Numero intero Nessuno RestoreRequest Specificato il ciclo di vita dell'oggetto ripristinato temporaneamente. Il numero minimo di giorni in cui può esistere una copia ripristinata dell'oggetto è 1. Una volta trascorso il periodo di ripristino, la copia temporanea dell'oggetto verrà rimossa.
GlacierJobParameters Stringa Livello RestoreRequest Nessuno
Livello Stringa Nessuno GlacierJobParameters Facoltativo e, se lasciato vuoto, verrà utilizzato il valore predefinito associato al livello di archiviazione della politica che era in vigore quando è stato scritto l'oggetto. Se questo valore non viene lasciato vuoto, deve essere impostato su Bulk se la classe di archiviazione della transizione per la politica del ciclo di vita del bucket è stata impostata su GLACIER, e deve essere impostato su Accelerated se la classe di archiviazione della transizione è stata impostata su ACCELERATED.
Intestazioni facoltative
Intestazione Immettere Descrizione
Content-MD5 Stringa L' base64, codificato con hash a 128 bit MD5 del payload, 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.
<RestoreRequest>
    <Days>{integer}</Days>
    <GlacierJobParameters>
        <Tier>Bulk</Tier>
    </GlacierJobParameters>
</RestoreRequest>

Richiesta di esempio

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

Richiesta di esempio

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

Risposta di esempio

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

Aggiornamento dei metadati

Esistono due modi per aggiornare i metadati in un oggetto esistente:

  • Una richiesta PUT con i nuovi metadati e il contenuto dell'oggetto originale
  • L'esecuzione di una richiesta COPY con i nuovi metadati che specifica l'oggetto originale come origine della copia

Tutti i metadati devono avere x-amz-meta- come prefisso

Utilizzo di PUT per aggiornare i metadati

La PUT richiesta richiede una copia dell'oggetto esistente poiché i contenuti vengono sovrascritti.

Sintassi

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

Richiesta di esempio

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

Content-Length: 533

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

Richiesta di esempio

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

Content-Length: 533

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

Risposta di esempio

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

Utilizzo di COPY per aggiornare i metadati

I dettagli completi sulla richiesta COPY sono qui.

Sintassi

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

Richiesta di esempio

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

Richiesta di esempio

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

Risposta di esempio

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

Passi successivi

Ulteriori informazioni sulle operazioni del bucket sono disponibili nella documentazione.