O Cloud Storage oferece suporte ao streaming de dados de um bucket para um processo sem exigir que os dados primeiro sejam salvos em um arquivo.
Como usar a validação da soma de verificação durante o streaming
Não use um download por streaming se a validação da soma de verificação antes for necessária
aos dados se tornarem acessíveis. Isso ocorre porque os downloads de streaming usam
o cabeçalho Range
, e o Cloud Storage não retornará somas de verificação nos
que se aplicam apenas à parte solicitada dos dados do objeto.
Recomenda-se que você sempre use a validação da soma de verificação e faça isso após a conclusão do upload por streaming. No entanto, validar após a conclusão do download significa que todos os dados corrompidos podem ser acessados durante o tempo necessário para confirmar e remover os dados corrompidos.
Funções exigidas
Para receber as permissões necessárias para fazer o download de streaming, peça ao administrador para conceder a você o papel de Leitor de objetos do Storage (roles/storage.objectViewer
) no bucket.
Este papel tem a permissão necessária para fazer streaming de downloads. Para conferir a permissão exata necessária, expanda a seção Permissões necessárias:
Permissões necessárias
storage.objects.get
Talvez você também possa receber essa permissão com outros papéis predefinidos ou personalizados.
Para instruções sobre como conceder papéis nos buckets, consulte Usar o IAM com buckets.
Fazer streaming de um download
Os exemplos a seguir mostram como realizar o download de um objeto do Cloud Storage para um processo:
Console
O console do Google Cloud não é compatível com downloads por streaming. Use a Google Cloud CLI.
Linha de comando
Execute o comando
gcloud storage cp
usando um traço para o URL de destino. Em seguida, direcione os dados para o processo:gcloud storage cp gs://BUCKET_NAME/OBJECT_NAME - | PROCESS_NAME
Em que:
BUCKET_NAME
é o nome do bucket que contém o objeto. Por exemplo,my_app_bucket
.OBJECT_NAME
é o nome do objeto que você está transmitindo para o processo. Por exemplo,data_measurements
.PROCESS_NAME
é o nome do processo no qual você está inserindo dados. Por exemplo,analyze_data
.
Também é possível realizar a transferência por streaming dos dados de um objeto do Cloud Storage para um comando padrão do Linux, como sort:
gcloud storage cp gs://my_app_bucket/data_measurements - | sort
Bibliotecas de cliente
C++
Para mais informações, consulte a documentação de referência da API Cloud Storage C++.
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.
C#
Para mais informações, consulte a documentação de referência da API Cloud Storage C#.
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.
Go
Para mais informações, consulte a documentação de referência da API Cloud Storage Go.
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.
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.
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.
PHP
Para mais informações, consulte a documentação de referência da API Cloud Storage PHP.
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.
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.
Ruby
Para mais informações, consulte a documentação de referência da API Cloud Storage Ruby.
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.
APIs REST
API JSON
Para executar um download por streaming, siga as instruções para fazer o download de um objeto com as seguintes considerações:
Antes de começar o download, recupere os metadados do objeto e salve o número de geração. Inclua esse número de geração em todas as suas solicitações para garantir que você não faça o download de dados de duas gerações diferentes no caso de a original ser substituída.
Use o cabeçalho
Range
na solicitação para recuperar uma parte do objeto geral, que pode ser enviada ao processo local.Continue fazendo solicitações para partes sucessivas do objeto até que todo o objeto seja recuperado.
API XML
Para executar um download por streaming, siga as instruções para fazer o download de um objeto com as seguintes considerações:
Antes de começar o download, recupere os metadados do objeto e salve o número de geração. Inclua esse número de geração em todas as suas solicitações para garantir que você não faça o download de dados de duas gerações diferentes no caso de a original ser substituída.
Use o cabeçalho
Range
na solicitação para recuperar uma parte do objeto geral, que pode ser enviada ao processo local.Continue fazendo solicitações para partes sucessivas do objeto até que todo o objeto seja recuperado.
A seguir
- Fazer streaming de um upload
- Saiba mais sobre a transcodificação descompressiva.
- Saiba mais sobre Uploads e downloads.