Operações de objeto

Os recursos modernos do IBM Cloud® Object Storage estão convenientemente disponíveis por meio de uma API RESTful. Operações e métodos para ler, gravar e configurar objetos (armazenados em um depósito) são documentados aqui.

Para obter mais informações sobre terminais, consulte Terminais e locais de armazenamento.

Uma nota sobre a autenticação de Acesso / Chave Secreta (HMAC)

Ao autenticar em sua instância do IBM Cloud Object Storage usando credenciais HMAC, serão necessárias as informações representadas na Tabela 1 ao construir uma assinatura HMAC.

Componentes de assinatura HMAC
Chave Valor Exemplo
{access_key} Chave de acesso atribuída à sua credencial de serviço cf4965cebe074720a4929759f57e1214
{date} A data formatada de sua solicitação (yyyymmdd) 20180613
{region} O código do local para seu endpoint us-padrão
{signature} O hash criado usando a chave secreta, o local e a data. ffe2b6e18f9dcc41f593f4dbb39882a6bb4d26a73a04326e62a8d344e07c1a3e
{timestamp} A data e hora formatadas de sua solicitação 20180614T001804Z

Fazer upload de um objeto

Um PUT fornecido em um caminho para um objeto faz upload do corpo da solicitação como um objeto. Todos os objetos transferidos por upload em um único encadeamento devem ser menores do que 500 MB para minimizar o risco de interrupções de rede (objetos que são transferidos por upload em várias partes podem ser tão grandes quanto 10 TB).

Informações de identificação pessoal (PII): ao nomear buckets ou objetos, não use nenhuma informação que possa identificar qualquer usuário (pessoa física) pelo nome, localização ou qualquer outro meio.

É possível transmitir objetos de até 5 GB usando uma única solicitação PUT. Uploads de várias partes são mais confiáveis e podem fazer upload de forma mais eficiente usando vários encadeamentos para fazer upload de partes em paralelo. Fazer upload de objetos maiores em uma única solicitação PUT resulta nas limitações de desempenho de um único encadeamento e, no caso de qualquer falha, os uploads de encadeamento único precisarão ser tentados novamente em sua totalidade (enquanto que, com o MPU, apenas as partes específicas que falharam precisarão ser tentadas novamente). A taxa de transferência precisa que pode ser alcançada por um único thread varia dependendo da largura de banda da rede do cliente para o endpoint IBM Cloud, a taxa de perda de pacotes (se houver) nessa conexão, o uso de HTTP vs HTTPS, as cifras específicas usadas na conexão e os parâmetros específicos da conexão TCP (como tamanho da janela), bem como outros fatores. Embora esses fatores possam ser otimizados para um upload de encadeamento único, as otimizações também se aplicariam igualmente a qualquer upload multiencadeado (multipartes).

Informações de identificação pessoal (PII): Ao criar buckets ou adicionar objetos, certifique-se de não usar nenhuma informação que possa identificar qualquer usuário (pessoa física) por nome, localização ou qualquer outro meio.

Sintaxe

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

Cabeçalhos opcionais

Cabeçalhos opcionais
Cabeçalho Tipo Descrição
x-amz-tagging string Um conjunto de tags para aplicar ao objeto, formatado como parâmetros de consulta ("SomeKey=SomeValue").
x-amz-object-lock-mode string O valor válido é COMPLIANCE ou GOVERNANCE- necessário se x-amz-object-lock-retain-until-date estiver presente.
x-amz-object-lock-retain-until-date ISO8601 Data e hora Necessário se x-amz-object-lock-mode estiver presente..
x-amz-object-lock-legal-hold string Os valores válidos são ON ou OFF.
Content-MD5 Sequência O hash 128-bit MD5 codificado pelo algoritmo de hash de código avançado ( Base64 ) da carga útil, que é usado como uma verificação de integridade para garantir que a carga útil não foi alterada durante o transporte.
x-amz-checksum-crc32 Sequência Esse cabeçalho é a soma de verificação Base64 codificada e de 32 bits CRC32 do objeto.
x-amz-checksum-crc32c Sequência Esse cabeçalho é a soma de verificação Base64 codificada e de 32 bits CRC32C do objeto.
x-amz-checksum-crc64nvme Sequência Esse cabeçalho é a soma de verificação Base64 codificada e de 64 bits CRC64NVME do objeto. A soma de verificação CRC64NVME é sempre uma soma de verificação completa do objeto.
x-amz-checksum-sha1 Sequência Esse cabeçalho é o Base64 codificado, 160 bits SHA1 digest do objeto.
x-amz-checksum-sha256 Sequência Esse cabeçalho é o Base64 codificado, 256 bits SHA256 digest do objeto.
x-amz-sdk-checksum-algorithm Sequência Indica o algoritmo usado para criar a soma de verificação do objeto ao usar o SDK.
x-amz-trailer Sequência Indica qual cabeçalho de valor de soma de verificação será encontrado no trailer da carga útil para verificar a integridade do upload do objeto.

Exemplo de solicitação

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.

Exemplo de solicitação

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.

Exemplo de resposta

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

Obter cabeçalhos de um objeto

Um HEAD fornecido em um caminho para um objeto recupera os cabeçalhos desse objeto.

O Etag valor retornado para objetos criptografados usando SSE-KP é o hash MD5 e do objeto original descriptografado.

Sintaxe

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

Cabeçalhos opcionais

Cabeçalhos opcionais
Cabeçalho Tipo Descrição
x-amz-checksum-mode string Indica se deve ou não incluir metadados de soma de verificação na resposta.

Exemplo de solicitação

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

Exemplo de solicitação

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

Exemplo de resposta

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

Fazer download de um objeto

Um GET fornecido em um caminho para um objeto faz download do objeto.

O valor Etag retornado para objetos criptografados usando SSE-C/SSE-KP não será o hash MD5 do objeto decriptografado original.

Sintaxe

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

Cabeçalhos opcionais

Cabeçalho Tipo Descrição
range Sequência Retorna os bytes de um objeto dentro do intervalo especificado.
x-amz-checksum-mode Sequência Indica se deve ou não incluir metadados de soma de verificação na resposta.

Exemplo de solicitação

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

Exemplo de solicitação

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

Exemplo de resposta

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.

Excluir um objeto

Um DELETE fornecido em um caminho para um objeto exclui um objeto.

Sintaxe

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

Exemplo de solicitação

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

Exemplo de solicitação

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

Exemplo de resposta

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

Excluir múltiplos objetos

Um POST, dado um caminho para um depósito e parâmetros adequados, exclui um conjunto especificado de objetos. Um cabeçalho Content-MD5 ou um cabeçalho checksum (incluindo x-amz-checksum-crc32, x-amz-checksum-crc32c, x-amz-checksum-crc64nvme, x-amz-checksum-sha1 ou x-amz-checksum-sha256) é necessário como uma verificação de integridade para a carga útil.

Cabeçalhos opcionais

Cabeçalhos opcionais
Cabeçalho Tipo Descrição
Content-MD5 Sequência O hash 128-bit MD5 codificado pelo algoritmo de hash de função de hash ( base64 ) da carga útil, que é usado como uma verificação de integridade para garantir que a carga útil não foi alterada durante o transporte.
x-amz-checksum-crc32 Sequência Esse cabeçalho é a soma de verificação Base64 codificada e de 32 bits CRC32 do objeto.
x-amz-checksum-crc32c Sequência Esse cabeçalho é a soma de verificação Base64 codificada e de 32 bits CRC32C do objeto.
x-amz-checksum-crc64nvme Sequência Esse cabeçalho é a soma de verificação Base64 codificada e de 64 bits CRC64NVME do objeto. A soma de verificação CRC64NVME é sempre uma soma de verificação completa do objeto.
x-amz-checksum-sha1 Sequência Esse cabeçalho é o Base64 codificado, 160 bits SHA1 digest do objeto.
x-amz-checksum-sha256 Sequência Esse cabeçalho é o Base64 codificado, 256 bits SHA256 digest do objeto.

Quando um objeto especificado na solicitação não é encontrado, o resultado é retornado como excluído.

Várias exclusões de objetos envolvem um POST operation que é cobrado como Classe A O custo da solicitação de POST para diversas exclusões varia dependendo da classe de armazenamento dos objetos e da quantia de dados que são excluídos Para obter mais informações sobre preços, consulte a página de preços do IBM Cloud Object Storage.

Elementos opcionais

Cabeçalho
Cabeçalho Tipo Descrição
Quiet Booleano Ative o modo silencioso para a solicitação.

A solicitação pode conter um máximo de 1000 chaves que você deseja excluir. Embora isso seja útil para reduzir o número de solicitações, fique atento ao excluir muitas chaves. Além disso, leve em conta os tamanhos dos objetos para assegurar o desempenho adequado.

O código a seguir mostra um exemplo de como criar a representação necessária do conteúdo do cabeçalho:

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

Sintaxe

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

O corpo da solicitação deve conter um bloco XML com o esquema a seguir:

Corpo do esquema de solicitação
Elemento Tipo Filhos Antecessor Restrição
Excluir Contêiner Object
Object Contêiner Chave Excluir
Chave Sequência
Object Sequência chave válida

Exemplo de solicitação

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

Exemplo de solicitação

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

Exemplo de resposta

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>

Adicionar ou atualizar a retenção em um objeto

Uma PUT emitida para um objeto com os parâmetros adequados adiciona ou estende o período de retenção. No COMPLIANCE modo, o período de retenção só pode ser prolongado e não pode ser encurtado ou removido. No GOVERNANCE modo, os usuários autorizados podem estender, encurtar ou remover o período de retenção incluindo o x-amz-bypass-governance-retention cabeçalho.

Sintaxe

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

Elementos de carga útil

O corpo da solicitação deve conter um bloco XML com o esquema a seguir:

Corpo do esquema de solicitação
Elemento Tipo Filhos Antecessor Notas
Retenção Contêiner Modo, RetainUntilDate
Obrigatório
Modo Sequência
Retenção Obrigatório - o valor válido é COMPLIANCE ou GOVERNANCE
RetainUntilDate Registro de data e hora
Retenção Obrigatório

Cabeçalhos opcionais

Cabeçalho Tipo Descrição
x-amz-bypass-governance-retention Sequência Este cabeçalho permite que usuários autorizados substituam as configurações de retenção do modo GOVERNANCE para excluir ou modificar um objeto antes de sua data de retenção.

O código a seguir mostra um exemplo de como criar a representação necessária do conteúdo do cabeçalho:

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

Exemplo de solicitação

Este é um exemplo de como incluir ou estender a retenção em um objeto

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>

Exemplo de resposta

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


Incluir tags em um objeto

Um PUT emitido para um objeto com os parâmetros apropriados cria ou substitui um conjunto de tags key-value associadas ao objeto.

Sintaxe

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

Elementos de carga útil

O corpo da solicitação deve conter um bloco XML com o esquema a seguir:

Corpo do esquema de solicitação
Elemento Tipo Filhos Antecessor Notas
Identificação Contêiner TagSet
Obrigatório
TagSet Contêiner Marcar Identificação Obrigatório
Marcar Sequência Chave, Valor TagSet Obrigatório
Chave Contêiner
Marcar Obrigatório
Valor Sequência
Marcar Obrigatório

As tags devem estar em conformidade com as seguintes restrições:

  • Um objeto pode ter no máximo 10 tags
  • Para cada objeto, cada chave de tag deve ser exclusiva, e cada chave de tag pode ter apenas um valor.
  • Comprimento mínimo da chave-1 caractere Unicode em UTF-8
  • Comprimento máximo da chave-128 caracteres Unicode em UTF-8
  • Tamanho máximo do byte de chave-256 bytes..
  • Comprimento mínimo do valor-0 caracteres Unicode em UTF-8 (o valor de tag pode estar vazio)
  • Comprimento máximo do valor-256 caracteres Unicode em UTF-8
  • Tamanho máximo do byte de valor-512 bytes
  • Uma chave e um valor de tag podem consistir em caracteres alfa numéricos dos EUA (a-z,A-Z,0-9) e espaços representáveis em UTF-8, e os seguintes símbolos: +, -, =, ., _, :, /, @
  • Chaves e valores de tag fazem distinção entre maiúsculas e minúsculas
  • ibm: não pode ser usado como um prefixo de chave para tags
Cabeçalhos opcionais
Cabeçalho Tipo Descrição
Content-MD5 Sequência O hash 128-bit MD5 codificado pelo algoritmo de hash de código avançado ( Base64 ) da carga útil, que é usado como uma verificação de integridade para garantir que a carga útil não foi alterada durante o transporte.
x-amz-checksum-crc32 Sequência Esse cabeçalho é a soma de verificação Base64 codificada e de 32 bits CRC32 do objeto.
x-amz-checksum-crc32c Sequência Esse cabeçalho é a soma de verificação Base64 codificada e de 32 bits CRC32C do objeto.
x-amz-checksum-crc64nvme Sequência Esse cabeçalho é a soma de verificação Base64 codificada e de 64 bits CRC64NVME do objeto. A soma de verificação CRC64NVME é sempre uma soma de verificação completa do objeto.
x-amz-checksum-sha1 Sequência Esse cabeçalho é o Base64 codificado, 160 bits SHA1 digest do objeto.
x-amz-checksum-sha256 Sequência Esse cabeçalho é o Base64 codificado, 256 bits SHA256 digest do objeto.
x-amz-sdk-checksum-algorithm Sequência Indica o algoritmo usado para criar a soma de verificação do objeto ao usar o SDK.

Exemplo de solicitação

Este é um exemplo de inclusão de um conjunto de tags em um objeto

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>

Exemplo de resposta

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

Ler as tags de um objeto

Um GET emitido para um objeto com os parâmetros apropriados retorna o conjunto de tags chave-valor associadas ao objeto.

Sintaxe

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

Exemplo de solicitação

Este é um exemplo de leitura de um conjunto de tags de objeto

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

Exemplo de resposta

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>

Excluir tags de um objeto

Um DELETE emitido para um depósito com os parâmetros apropriados remove as tags de um objeto.

Sintaxe

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

Exemplo de solicitação

Este é um exemplo de como excluir as tags de um objeto.

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

Exemplo de solicitação

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

O servidor responde com 204 No Content.


Copiar um objeto

Um PUT, dado um caminho para um novo objeto, cria uma nova cópia de outro objeto especificado pelo cabeçalho x-amz-copy-source. A menos que alterados de outra forma, os metadados permanecem os mesmos.

Informações de identificação pessoal (PII): ao nomear buckets ou objetos, não use nenhuma informação que possa identificar qualquer usuário (pessoa física) pelo nome, localização ou qualquer outro meio.

Copiar objetos (mesmo entre locais) não incorre em encargos de largura da banda de saída pública. Todos os dados permanecem na rede interna do COS.

Sintaxe

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

Cabeçalhos opcionais

Cabeçalho Tipo Descrição
x-amz-metadata-directive sequência (COPY ou REPLACE) Um REPLACE sobrescreve metadados originais por novos metadados fornecidos.
x-amz-tagging string Um conjunto de tags para aplicar ao objeto, formatado como parâmetros de consulta ("SomeKey=SomeValue").
x-amz-tagging-directive sequência (COPY ou REPLACE) A REPLACE substitui as tags originais pelas novas tags fornecidas.
x-amz-copy-source-if-match Sequência (ETag) Cria uma cópia caso o ETag especificado corresponda ao objeto de origem.
x-amz-copy-source-if-none-match Sequência (ETag) Cria uma cópia caso o ETag especificado seja diferente do objeto de origem.
x-amz-copy-source-if-unmodified-since Sequência (registro de data e hora) Cria uma cópia caso o objeto de origem não tenha sido modificado desde a data especificada. A data deve ser uma data de HTTP válida (por exemplo, Wed, 30 Nov 2016 20:21:38 GMT).
x-amz-copy-source-if-modified-since Sequência (registro de data e hora) Cria uma cópia caso o objeto de origem tenha sido modificado desde a data especificada. A data deve ser uma data de HTTP válida (por exemplo, Wed, 30 Nov 2016 20:21:38 GMT).
x-amz-checksum-algorithm Sequência Indica qual algoritmo de soma de verificação será usado para criar a soma de verificação do objeto de destino.

Exemplo de solicitação

Este exemplo básico usa o objeto bee do depósito garden e cria uma cópia no depósito apiary com a nova chave 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

Exemplo de solicitação

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

Exemplo de resposta

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>

Verificar a configuração de CORS de um objeto

Uma OPTIONS, dado um caminho para um objeto junto com uma origem e um tipo de solicitação, verifica se esse objeto está acessível nessa origem usando esse tipo de solicitação. Ao contrário de todas as outras solicitações, uma solicitação de OPTIONS não requer os cabeçalhos authorization ou x-amx-date.

Sintaxe

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

Exemplo de solicitação

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

Exemplo de solicitação

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

Exemplo de resposta

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


Fazendo upload de objetos em múltiplas partes

Ao trabalhar com objetos maiores, as operações de upload de múltiplas partes são recomendadas para gravar objetos no IBM Cloud® Object Storage. Um upload de um único objeto pode ser executado como um conjunto de partes e essas partes podem ser transferidas por upload independentemente em qualquer ordem e em paralelo. Após a conclusão do upload, o Object Storage então apresenta todas as partes como um único objeto. Isso fornece muitos benefícios: as interrupções de rede não fazem com que grandes uploads falhem, os uploads podem ser pausados e reiniciados ao longo do tempo e os objetos podem ser transferidos por upload conforme eles estão sendo criados.

Os uploads de múltiplas partes estão disponíveis somente para objetos maiores que 5 MB. Para objetos menores que 50 GB, um tamanho de parte de 20 MB a 100 MB é recomendado para desempenho ideal. Para objetos maiores, o tamanho da parte pode ser aumentado sem impacto significativo no desempenho.

Devido à complexidade adicional envolvida, recomenda-se que os desenvolvedores usem uma biblioteca que forneça suporte de upload de múltiplas partes.

Os uploads de múltiplas partes incompletos persistem até que o objeto seja excluído ou o upload de múltiplas partes seja interrompido com AbortIncompleteMultipartUpload. Se um upload de múltiplas partes incompleto não for interrompido, o upload parcial continuará a usar recursos. As interfaces devem ser projetadas tendo esse ponto em mente e limpar os uploads de múltiplas partes incompletos.

Há três fases para fazer upload de um objeto em múltiplas partes:

  1. O upload é iniciado e um UploadId é criado.
  2. As partes individuais são transferidas por upload especificando seus números de partes sequenciais e o UploadId para o objeto.
  3. Quando todas as partes terminarem o upload, ele será concluído enviando uma solicitação com o UploadId e um bloco XML listando cada número de parte e seu respectivo valor Etag.

Iniciar um upload de múltiplas partes

Um POST emitido para um objeto com o parâmetro de consulta upload cria um novo valor UploadId, que é, então, referenciado por cada parte do objeto que está sendo transferido por upload.

Informações de identificação pessoal (PII): ao nomear buckets ou objetos, não use nenhuma informação que possa identificar qualquer usuário (pessoa física) pelo nome, localização ou qualquer outro meio.

Sintaxe

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

Cabeçalhos opcionais

Cabeçalhos opcionais
Cabeçalho Tipo Descrição
x-amz-checksum-algorithm Sequência Indica qual algoritmo de soma de verificação será usado para criar a soma de verificação para todo o objeto multiplart.
x-amz-checksum-type Sequência Indica qual tipo de soma de verificação será usado para criar a soma de verificação para todo o objeto multiplart.

Exemplo de solicitação

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

Exemplo de solicitação

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

Exemplo de resposta

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>

Fazer upload de uma parte

Uma solicitação PUT que é emitida para um objeto com parâmetros de consulta partNumber e uploadId fará upload de uma parte de um objeto. As partes podem ser transferidas por upload em série ou em paralelo, mas devem ser numeradas em ordem.

Informações de identificação pessoal (PII): ao nomear buckets ou objetos, não use nenhuma informação que possa identificar qualquer usuário (pessoa física) pelo nome, localização ou qualquer outro meio.

Sintaxe

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

Cabeçalhos opcionais

Cabeçalhos opcionais
Cabeçalho Tipo Descrição
Content-MD5 Sequência O hash 128-bit MD5 codificado pelo algoritmo de hash de código avançado ( Base64 ) da carga útil, que é usado como uma verificação de integridade para garantir que a carga útil não foi alterada durante o transporte.
x-amz-checksum-crc32 Sequência Esse cabeçalho é a soma de verificação Base64 codificada e de 32 bits CRC32 do objeto.
x-amz-checksum-crc32c Sequência Esse cabeçalho é a soma de verificação Base64 codificada e de 32 bits CRC32C do objeto.
x-amz-checksum-crc64nvme Sequência Esse cabeçalho é a soma de verificação Base64 codificada e de 64 bits CRC64NVME do objeto. A soma de verificação CRC64NVME é sempre uma soma de verificação completa do objeto.
x-amz-checksum-sha1 Sequência Esse cabeçalho é o Base64 codificado, 160 bits SHA1 digest do objeto.
x-amz-checksum-sha256 Sequência Esse cabeçalho é o Base64 codificado, 256 bits SHA256 digest do objeto.
x-amz-sdk-checksum-algorithm Sequência Indica o algoritmo usado para criar a soma de verificação do objeto ao usar o SDK.
x-amz-trailer Sequência Indica qual cabeçalho de valor de soma de verificação será encontrado no trailer da carga útil para verificar a integridade do upload do objeto.

Exemplo de solicitação

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

Exemplo de solicitação

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

Exemplo de resposta

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

Listar partes

Um GET, dado um caminho para um objeto de múltiplas partes com um UploadID ativo especificado como um parâmetro de consulta, retorna uma lista de todas as partes do objeto.

Sintaxe

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

Parâmetros de consulta

Parâmetros
Parâmetro Obrigatório? Tipo Descrição
uploadId Necessário sequência ID de upload retornado ao inicializar um upload de várias partes
max-parts Opcional sequência Padrões para 1.000.
part-number​-marker Opcional string Define onde a lista de partes começa.

Exemplo de solicitação

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

Exemplo de solicitação

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

Exemplo de resposta

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>

Concluir um upload de múltiplas partes

Uma solicitação POST que é emitida para um objeto com o parâmetro de consulta uploadId e o bloco XML apropriado no corpo concluirá um upload de múltiplas partes.

Sintaxe

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

Cabeçalhos opcionais

Cabeçalho opcional
Cabeçalho Tipo Descrição
x-amz-checksum-crc32 Sequência Esse cabeçalho é a soma de verificação Base64 codificada e de 32 bits CRC32 do objeto.
x-amz-checksum-crc32c Sequência Esse cabeçalho é a soma de verificação Base64 codificada e de 32 bits CRC32C do objeto.
x-amz-checksum-crc64nvme Sequência Esse cabeçalho é a soma de verificação Base64 codificada e de 64 bits CRC64NVME do objeto. A soma de verificação CRC64NVME é sempre uma soma de verificação completa do objeto.
x-amz-checksum-sha1 Sequência Esse cabeçalho é o Base64 codificado, 160 bits SHA1 digest do objeto.
x-amz-checksum-sha256 Sequência Esse cabeçalho é o Base64 codificado, 256 bits SHA256 digest do objeto.
x-amz-checksum-type Sequência Indica qual tipo de soma de verificação será usado para criar a soma de verificação para todo o objeto multiplart.

O corpo da solicitação deve conter um bloco XML com o esquema a seguir:

Corpo do esquema de solicitação
Elemento Tipo Filhos Antecessor Restrição
CompleteMultipartUpload Contêiner Peça
Peça Contêiner PartNumber, ETag Excluir
PartNumber Sequência
Object Número de peça válido
ETag Sequência
Object Sequência de valor ETag válida
<CompleteMultipartUpload>
  <Part>
    <PartNumber>{sequential part number}</PartNumber>
    <ETag>{ETag value from part upload response header}</ETag>
  </Part>
</CompleteMultipartUpload>

Exemplo de solicitação

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

Exemplo de solicitação

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>

Exemplo de resposta

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>

Interromper uploads de múltiplas partes incompletos

Uma solicitação DELETE emitida para um objeto com o parâmetro de consulta uploadId exclui todas as partes não concluídas de um upload de múltiplas partes.

Sintaxe

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

Exemplo de solicitação

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

Exemplo de solicitação

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

Exemplo de resposta

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

Restaurar temporariamente um objeto arquivado

Uma solicitação POST que é emitida para um objeto com o parâmetro de consulta restore para solicitar a restauração temporária de um objeto arquivado. Um cabeçalho Content-MD5 ou um cabeçalho checksum (incluindo x-amz-checksum-crc32, x-amz-checksum-crc32c, x-amz-checksum-crc64nvme, x-amz-checksum-sha1 ou x-amz-checksum-sha256) é necessário como uma verificação de integridade para a carga útil.

Um objeto arquivado deve ser restaurado antes de fazer download ou modificar o objeto. O tempo de vida do objeto deve ser especificado, após o qual a cópia temporária do objeto será excluída.

Para depósitos com uma classe de armazenamento de transição de política de ciclo de vida GLACIER, pode haver um atraso de até 12 horas antes que a cópia restaurada esteja disponível para acesso. Se a classe de armazenamento de transição foi configurada como ACCELERATED, pode haver um atraso de até duas (2) horas antes que o objeto restaurado esteja disponível. Uma solicitação de HEAD pode verificar se a cópia restaurada está disponível.

Para restaurar permanentemente o objeto, ele deve ser copiado para um depósito que não tenha uma configuração de ciclo de vida ativa.

Sintaxe

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

Elementos de carga útil

O corpo da solicitação deve conter um bloco XML com o esquema a seguir:

Elemento Tipo Filhos Antecessor Restrição
RestoreRequest Contêiner Days, GlacierJobParameters Nenhum Nenhum
Dias Integer Nenhum RestoreRequest Especificado o tempo de vida do objeto temporariamente restaurado. O número mínimo de dias para que uma cópia restaurada do objeto possa existir é 1. Após o período de restauração, a cópia temporária do objeto será removida.
GlacierJobParameters Sequência Camada RestoreRequest Nenhum
Camada Sequência Nenhum GlacierJobParameters Opcional e, se for deixado em branco, o padrão será o valor associado à camada de armazenamento da política que estava em vigor quando o objeto foi gravado. Se esse valor não for deixado em branco, ele deverá ser configurado como Bulk se a classe de armazenamento de transição para a política de ciclo de vida do depósito foi configurada como GLACIER e deverá ser configurado como Accelerated se a classe de armazenamento de transição foi configurada como ACCELERATED.
Cabeçalhos opcionais
Cabeçalho Tipo Descrição
Content-MD5 Sequência O hash 128-bit MD5 codificado pelo algoritmo de hash de função de hash ( base64 ) da carga útil, que é usado como uma verificação de integridade para garantir que a carga útil não foi alterada durante o transporte.
x-amz-checksum-crc32 Sequência Esse cabeçalho é a soma de verificação Base64 codificada e de 32 bits CRC32 do objeto.
x-amz-checksum-crc32c Sequência Esse cabeçalho é a soma de verificação Base64 codificada e de 32 bits CRC32C do objeto.
x-amz-checksum-crc64nvme Sequência Esse cabeçalho é a soma de verificação Base64 codificada e de 64 bits CRC64NVME do objeto. A soma de verificação CRC64NVME é sempre uma soma de verificação completa do objeto.
x-amz-checksum-sha1 Sequência Esse cabeçalho é o Base64 codificado, 160 bits SHA1 digest do objeto.
x-amz-checksum-sha256 Sequência Esse cabeçalho é o Base64 codificado, 256 bits SHA256 digest do objeto.
<RestoreRequest>
    <Days>{integer}</Days>
    <GlacierJobParameters>
        <Tier>Bulk</Tier>
    </GlacierJobParameters>
</RestoreRequest>

Exemplo de solicitação

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

Exemplo de solicitação

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>

Exemplo de resposta

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

Atualizando metadados

Há duas maneiras de atualizar os metadados em um objeto existente:

  • Uma solicitação PUT com os novos metadados e o conteúdo do objeto original
  • Executando uma solicitação COPY com os novos metadados especificando o objeto original como a origem da cópia

Todas as chaves de metadados devem ser prefixadas com x-amz-meta-

Usando PUT para atualizar metadados

A PUT solicitação requer uma cópia do objeto existente, pois o conteúdo será substituído.

Sintaxe

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

Exemplo de solicitação

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.

Exemplo de solicitação

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.

Exemplo de resposta

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

Usando COPY para atualizar metadados

Os detalhes completos sobre a solicitação de COPY estão aqui

Sintaxe

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

Exemplo de solicitação

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

Exemplo de solicitação

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

Exemplo de resposta

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

Próximas etapas

Saiba mais sobre as operações do depósito na documentação