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 uploads 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:
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á umUploadId
que você usa em todas as solicitações subsequentes associadas ao upload.Faça upload dos dados usando uma ou mais solicitações
PUT
.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 o tempo que um upload de várias partes, e as partes enviadas podem permanecer inacabadas ou inativas em um bucket.
- As peças enviadas são contabilizadas no seu uso de armazenamento mensal.
- É possível evitar o acúmulo de uploads de várias partes abandonados usando o Gerenciamento do ciclo de vida de objetos para remover automaticamente os uploads de várias partes quando eles atingirem uma idade específica.
Considerações
As limitações a seguir se aplicam ao uso de uploads de várias partes da API XML:
- Existem limites para o tamanho mínimo e máximo de uma peça e o número de partes usadas para montar o upload concluído.
- 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.
- Esse método de upload não é compatível com o console do Google Cloud ou a CLI do Google Cloud.
Ao trabalhar com uploads de várias partes da API XML, tenha em mente que:
Os uploads de várias partes da API XML têm permissões do IAM específicas. Se você usa papéis de IAM personalizados, eles precisam ter as permissões necessárias.
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.
Uma parte enviada poderá estar sujeita a cobranças de exclusão antecipada se nunca for usada.
Como as bibliotecas de cliente usam uploads de várias partes da API XML
Esta seção fornece informações sobre como fazer uploads de várias partes da API XML com bibliotecas de cliente compatíveis.
Bibliotecas de cliente
Java
Para mais informações, consulte a documentação de referência da API Cloud Storage Java.
Para autenticar no Cloud Storage, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
A biblioteca de cliente do Java não é compatível com uploads de várias partes da API XML. Em vez disso, use uploads compostos paralelos.
Node.js
Para mais informações, consulte a documentação de referência da API Cloud Storage Node.js.
Para autenticar no Cloud Storage, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
É possível fazer uploads de várias partes da API XML usando o
método
uploadFileInChunks
. Por exemplo:
Python
Para mais informações, consulte a documentação de referência da API Cloud Storage Python.
Para autenticar no Cloud Storage, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
É possível fazer uploads de várias partes da API XML usando o
método
upload_chunks_concurrently
. Por exemplo:
A seguir
- Conheça outros métodos de upload do Cloud Storage.
- Saiba mais sobre a espera exponencial truncada e quando repetir solicitações.