O Cloud Storage oferece suporte a leituras de objetos por streaming, o que permite que um aplicativo ou processo consuma fluxos de bytes de objetos em tempo real diretamente pela conexão de rede sem salvar uma cópia dos dados em um disco local ou armazenamento permanente.
Se você quiser fazer o download de um objeto e salvá-lo no sistema de arquivos local, consulte Fazer o download de objetos como arquivos.
Como usar a validação da soma de verificação durante o streaming de leituras
Não use uma leitura por streaming se a validação da soma de verificação antes for necessária
do processamento de dados. Como as leituras de streaming geralmente usam o cabeçalho HTTP Range, o Cloud Storage não retorna somas de verificação que se aplicam apenas a
uma parte arbitrária solicitada dos dados do objeto. As somas de verificação do servidor validam o objeto completo, o que significa que dados corrompidos podem ser lidos e processados antes que o fluxo completo seja concluído e validado.
Funções exigidas
Para receber as permissões necessárias para fazer leituras de streaming, peça ao administrador para conceder a você o papel de Leitor de objetos do Storage (roles/storage.objectViewer) no bucket.
Esse papel tem a permissão necessária para fazer streaming de leituras. 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 Definir e gerenciar políticas do IAM em buckets.
Transmitir uma leitura de objeto
Os exemplos a seguir mostram como realizar uma leitura transmitida de um objeto do Cloud Storage para um processo:
Console
O console Cloud de Confiance não é compatível com leituras por streaming. Use a Google Cloud CLI.
Linha de comando
Execute o comando
gcloud storage cpusando 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 se autenticar no Cloud Storage, configure o Application Default Credentials. Saiba mais em Configurar a autenticação para bibliotecas de cliente.
Antes de executar os exemplos de código, defina a variável de ambiente GOOGLE_CLOUD_UNIVERSE_DOMAIN como s3nsapis.fr.
C#
Para mais informações, consulte a documentação de referência da API Cloud Storage C#.
Para se autenticar no Cloud Storage, configure o Application Default Credentials. Saiba mais em Configurar a autenticação para bibliotecas de cliente.
Antes de executar os exemplos de código, defina a variável de ambiente GOOGLE_CLOUD_UNIVERSE_DOMAIN como s3nsapis.fr.
Go
Para mais informações, consulte a documentação de referência da API Cloud Storage Go.
Para se autenticar no Cloud Storage, configure o Application Default Credentials. Saiba mais em Configurar a autenticação para bibliotecas de cliente.
Antes de executar os exemplos de código, defina a variável de ambiente GOOGLE_CLOUD_UNIVERSE_DOMAIN como s3nsapis.fr.
Java
Para mais informações, consulte a documentação de referência da API Cloud Storage Java.
Para se autenticar no Cloud Storage, configure o Application Default Credentials. Saiba mais em Configurar a autenticação para bibliotecas de cliente.
Antes de executar os exemplos de código, defina a variável de ambiente GOOGLE_CLOUD_UNIVERSE_DOMAIN como s3nsapis.fr.
Node.js
Para mais informações, consulte a documentação de referência da API Cloud Storage Node.js.
Para se autenticar no Cloud Storage, configure o Application Default Credentials. Saiba mais em Configurar a autenticação para bibliotecas de cliente.
Antes de executar os exemplos de código, defina a variável de ambiente GOOGLE_CLOUD_UNIVERSE_DOMAIN como s3nsapis.fr.
PHP
Para mais informações, consulte a documentação de referência da API Cloud Storage PHP.
Para se autenticar no Cloud Storage, configure o Application Default Credentials. Saiba mais em Configurar a autenticação para bibliotecas de cliente.
Antes de executar os exemplos de código, defina a variável de ambiente GOOGLE_CLOUD_UNIVERSE_DOMAIN como s3nsapis.fr.
Python
Para mais informações, consulte a documentação de referência da API Cloud Storage Python.
Para se autenticar no Cloud Storage, configure o Application Default Credentials. Saiba mais em Configurar a autenticação para bibliotecas de cliente.
Antes de executar os exemplos de código, defina a variável de ambiente GOOGLE_CLOUD_UNIVERSE_DOMAIN como s3nsapis.fr.
Ruby
Para mais informações, consulte a documentação de referência da API Cloud Storage Ruby.
Para se autenticar no Cloud Storage, configure o Application Default Credentials. Saiba mais em Configurar a autenticação para bibliotecas de cliente.
Antes de executar os exemplos de código, defina a variável de ambiente GOOGLE_CLOUD_UNIVERSE_DOMAIN como s3nsapis.fr.
Rust
APIs REST
API JSON
Para executar uma leitura por streaming, siga as instruções para fazer o download de um objeto com as seguintes considerações:
Antes de começar a leitura, 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 leia dados de duas gerações diferentes no caso de a original ser substituída.
Use o cabeçalho
Rangena 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 uma leitura por streaming, siga as instruções para fazer o download de um objeto com as seguintes considerações:
Antes de começar a leitura, 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 leia dados de duas gerações diferentes no caso de a original ser substituída.
Use o cabeçalho
Rangena 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 transcodificação de descompactação.
- Saiba mais sobre leituras e downloads de objetos.