Nesta página, abordaremos conceitos relacionados ao upload e download de objetos. É possível fazer upload e armazenar qualquer tipo MIME de dados de até 5 TiB.
Uploads
Envie solicitações de upload para o Cloud Storage das seguintes maneiras:
Upload de solicitação única. Um método de upload em que um objeto é enviado como uma única solicitação. Use se o arquivo for pequeno o suficiente para fazer upload na íntegra se a conexão falhar. Consulte Fazer upload de objeto do arquivo ou Fazer upload de objeto da memória para conferir guias sobre uploads de solicitação única.
Upload retomável. Um método de upload que oferece uma transferência mais confiável, especialmente importante para arquivos grandes. Os uploads retomáveis são uma boa opção para a maioria dos aplicativos, já que também funcionam para arquivos pequenos ao custo de uma solicitação HTTP adicional por upload. Também é possível usar uploads retomáveis para executar transferências por streaming, o que permite fazer upload de um objeto de tamanho desconhecido.
Upload de várias partes da API XML. Um método de upload compatível com uploads de várias partes do Amazon S3. Os arquivos são enviados em partes e agrupados em um único objeto com a solicitação final. Os uploads de várias partes da API XML permitem que você faça upload das partes em paralelo, possivelmente reduzindo o tempo para concluir o upload geral.
Com esses tipos básicos de upload, são possíveis estratégias de upload mais avançadas:
Upload composto paralelo. Uma estratégia de upload em que você divide um arquivo em partes e faz upload dessas partes em paralelo. Ao contrário dos uploads de várias partes da API XML, os uploads compostos paralelos usam a operação de composição, e o objeto final é armazenado como um objeto composto.
Upload por streaming. Um método de upload que permite fazer upload dos dados sem que eles sejam salvos primeiro em um arquivo, o que é útil quando você não sabe o tamanho final no início do upload.
Upload de codificação de transferência em blocos. Um upload de solicitação única que inclui o cabeçalho
Transfer-Encoding: chunked
, permitindo que o upload seja enviado em vários blocos de dados sequenciais.
Considerações sobre tamanho do upload
Ao escolher usar um upload de solicitação única em vez de um upload retomável ou de upload de várias partes da API XML, considere o tempo que você perderá se ocorrer uma falha na rede e você precisar reiniciar o upload desde o início. Para conexões mais rápidas, o tamanho do corte normalmente é maior.
Por exemplo, digamos que você esteja disposto a tolerar perder 30 segundos:
Se você fizer upload de um sistema local com uma velocidade de upload média de 8 Mbps, poderá usar uploads de solicitação única para arquivos de até 30 MB.
Se você fizer o upload de um serviço na região que tenha uma média de 500 Mbps de velocidade de upload, o tamanho do corte dos arquivos será de quase 2 GB.
Downloads
Todos os downloads do Cloud Storage têm o mesmo comportamento básico: uma
solicitação GET
HTTP ou HTTPS que pode incluir um cabeçalho Range
opcional, que
define uma parte específica do objeto para download.
Com esse comportamento básico de download, é possível retomar downloads interrompidos, além de usar estratégias de download mais avançadas, como downloads de objetos divididos e downloads de streaming.
Suporte por ferramenta
Console
É possível realizar os seguintes tipos de upload e download ao usar o Console do Google Cloud:
- Uploads de solicitação única, com uploads retomáveis gerenciados automaticamente em seu nome
- Downloads simples, normalmente downloads em navegadores autenticados
Linha de comando
É possível executar os seguintes tipos de upload e download ao usar a Google Cloud CLI:
- Uploads de solicitação única, com uploads retomáveis gerenciados automaticamente em seu nome
- Uploads de streaming
- Uploads compostos paralelos
- Downloads simples
- Downloads de objetos divididos
- Como fazer downloads por streaming
Bibliotecas de cliente
C++
Você pode realizar os seguintes tipos de uploads e downloads ao usar a biblioteca de cliente C++:
C#
Você pode realizar os seguintes tipos de uploads e downloads ao usar a biblioteca de cliente C#:
Go
É possível realizar os seguintes tipos de uploads e downloads ao usar a biblioteca de cliente Go:
- Downloads simples
- Como fazer downloads por streaming
- Uploads de solicitação única e retomáveis, dependendo do tamanho do arquivo
- Uploads de streaming
Java
É possível realizar os seguintes tipos de uploads e downloads ao usar a biblioteca de cliente Java:
Node.js
É possível realizar os seguintes tipos de uploads e downloads ao usar a biblioteca de cliente Node.js:
PHP
Você pode realizar os seguintes tipos de uploads e downloads ao usar a biblioteca de cliente PHP:
Python
É possível realizar os seguintes tipos de uploads e downloads ao usar a biblioteca de cliente do Python:
- Downloads simples
- Downloads de objetos divididos
- Uploads de solicitação única e retomáveis, dependendo do tamanho do arquivo
- Uploads de várias partes da API XML
Ruby
Você pode realizar os seguintes tipos de upload e download ao usar a biblioteca de cliente do Ruby:
Terraform
É possível fazer uploads de solicitação única ao usar o Terraform. Os uploads retomáveis ocorrem automaticamente quando o arquivo que está sendo enviado é maior que 16 MiB.
APIs REST
API JSON
É possível realizar os seguintes tipos de uploads e downloads ao usar a API JSON:
API XML
Você pode realizar os seguintes tipos de uploads e downloads ao usar a API XML:
Caso você use APIs REST para fazer upload e download, consulte Endpoints de solicitação para ver uma discussão completa sobre os endpoints de solicitação que podem ser usados.
A seguir
- Transferir objetos da instância do Compute Engine.
- Torne seus dados acessíveis publicamente.
- Veja e edite os metadados do objeto.
- Saiba como transferir dados para o Cloud Storage usando o Serviço de transferência do Cloud Storage.