Uploads de várias partes da API XML

Nesta página, você aprenderá sobre os uploads de várias partes da API XML no Cloud Storage. Esse método de upload faz upload de arquivos em partes e os agrupa em um único objeto usando uma solicitação final. Os uploads de várias partes da API XML são compatíveis com os uploads de várias partes do Amazon S3.

Visão geral

Um upload de várias partes da API XML permite fazer upload de dados em várias partes e agrupá-los em um objeto final. Esse comportamento tem várias vantagens, especialmente para arquivos grandes:

  • É possível fazer upload de partes simultaneamente, reduzindo o tempo necessário para fazer o upload dos dados completos.

  • Se uma das operações de upload falhar, você só precisará fazer um novo upload de uma parte do objeto geral, em vez de reiniciar desde o início.

  • Como o tamanho total do arquivo não é especificado antecipadamente, você pode usar uploads de várias partes da API XML para transferências de streaming ou para compactar dados rapidamente durante o upload.

Um upload de várias partes da API XML tem três etapas necessárias:

  1. Inicie o upload usando uma solicitação POST, que inclui a especificação de todos os metadados que o objeto concluído deve ter. A resposta retornará um UploadId que você usa em todas as solicitações subsequentes associadas ao upload.

  2. Faça upload dos dados usando uma ou mais solicitações PUT. Há limites para o número de partes e os tamanhos delas.

  3. Conclua o upload usando uma solicitação POST. Essa solicitação substitui qualquer objeto existente no bucket com o mesmo nome.

Não há limite para quanto tempo um upload de várias partes e as partes enviadas por upload podem permanecer inacabados ou inativos em um bucket, mas as partes enviadas são contabilizadas no uso mensal de armazenamento.

Considerações

As limitações a seguir se aplicam ao uso de uploads de várias partes da API XML:

  • Um objeto enviado usando esse método não pode ser copiado ou regravado, a menos que você escreva o objeto antes da cópia ou regravação.
  • Condições prévias não são compatíveis com as solicitações.
  • Hashes MD5 não existem para objetos enviados usando esse método.
  • Este método de upload não é compatível com o Console do Google Cloud, com a gsutil ou com as bibliotecas de cliente do Cloud Storage.

Ao trabalhar com uploads de várias partes da API XML, tenha em mente que:

  • Embora seja possível iniciar um upload e fazer upload de partes, a solicitação para concluir o upload falhará se ela substituir um objeto que tenha uma retenção nela ou um período de armazenamento não cumprido.

  • É possível listar uploads em andamento em um bucket, mas apenas um upload concluído aparecerá na lista normal de objetos no bucket.

  • As partes enviadas estão sujeitas a taxas de exclusão antecipada se usarem uma classe de armazenamento aplicável e uma das seguintes situações ocorrer antes de a parte atingir a duração mínima de armazenamento:

    • O upload foi concluído, mas a parte não é usada na solicitação de conclusão.
    • A parte é substituída por outra parte enviada.
    • O upload geral de várias partes foi cancelado.

    A duração do armazenamento de cada parte em um upload de várias partes começa no momento em que o upload da parte é concluído.

A seguir