O Cloud Storage suporta a transmissão de dados de um contentor para um processo sem exigir que os dados sejam primeiro guardados num ficheiro.
Usar a validação de checksum durante o streaming
Não deve usar uma transferência de streaming se precisar de validação de soma de verificação antes de os dados ficarem acessíveis. Isto deve-se ao facto de as transferências de streaming usarem o cabeçalho Range
e o Cloud Storage não devolver somas de verificação na resposta que se aplicam apenas à parte pedida dos dados do objeto.
Recomendamos que use sempre a validação da soma de verificação. Pode fazê-lo após a conclusão de uma transferência de streaming. No entanto, a validação após a conclusão da transferência significa que quaisquer dados danificados estão acessíveis durante o tempo necessário para confirmar a danificação e removê-los.
Funções necessárias
Para receber as autorizações necessárias para transferências de streaming, peça ao seu administrador para lhe conceder a função de visitante de objetos de armazenamento (roles/storage.objectViewer
) no contentor.
Esta função contém a autorização necessária para fazer streaming de transferências. Para ver a autorização exata necessária, expanda a secção Autorizações necessárias:
Autorizações necessárias
storage.objects.get
Também pode receber esta autorização com outras funções predefinidas ou funções personalizadas.
Para obter instruções sobre como conceder funções em contentores, consulte o artigo Use o IAM com contentores.
Faça stream de uma transferência
Os exemplos seguintes mostram como fazer uma transferência de um objeto do armazenamento na nuvem para um processo:
Consola
A Google Cloud consola não suporta transferências de streaming. Em alternativa, use a Google Cloud CLI.
Linha de comandos
Execute o comando
gcloud storage cp
usando um traço para o URL de destino e, em seguida, encaminhe os dados para o processo:gcloud storage cp gs://BUCKET_NAME/OBJECT_NAME - | PROCESS_NAME
Onde:
BUCKET_NAME
é o nome do contentor que contém o objeto. Por exemplo,my_app_bucket
.OBJECT_NAME
é o nome do objeto que está a transmitir para o processo. Por exemplo,data_measurements
.PROCESS_NAME
é o nome do processo no qual está a introduzir dados. Por exemplo,analyze_data
.
Também pode fazer streaming de dados de um objeto do Cloud Storage para um comando Linux padrão, como sort:
gcloud storage cp gs://my_app_bucket/data_measurements - | sort
Bibliotecas cliente
C++
Para mais informações, consulte a documentação de referência da API C++ do Cloud Storage.
Para se autenticar no Cloud Storage, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para bibliotecas de cliente.
C#
Para mais informações, consulte a documentação de referência da API C# do Cloud Storage.
Para se autenticar no Cloud Storage, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para bibliotecas de cliente.
Go
Para mais informações, consulte a documentação de referência da API Go do Cloud Storage.
Para se autenticar no Cloud Storage, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para bibliotecas de cliente.
Java
Para mais informações, consulte a documentação de referência da API Java do Cloud Storage.
Para se autenticar no Cloud Storage, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para bibliotecas de cliente.
Node.js
Para mais informações, consulte a documentação de referência da API Node.js do Cloud Storage.
Para se autenticar no Cloud Storage, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para bibliotecas de cliente.
PHP
Para mais informações, consulte a documentação de referência da API PHP do Cloud Storage.
Para se autenticar no Cloud Storage, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para bibliotecas de cliente.
Python
Para mais informações, consulte a documentação de referência da API Python do Cloud Storage.
Para se autenticar no Cloud Storage, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para bibliotecas de cliente.
Ruby
Para mais informações, consulte a documentação de referência da API Ruby do Cloud Storage.
Para se autenticar no Cloud Storage, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para bibliotecas de cliente.
APIs REST
API JSON
Para fazer uma transferência de streaming, siga as instruções para transferir um objeto com as seguintes considerações:
Antes de iniciar a transferência, obtenha os metadados do objeto e guarde o número de geração do objeto. Inclua este número de geração em cada um dos seus pedidos para garantir que não transfere dados de duas gerações diferentes caso a original seja substituída.
Use o cabeçalho
Range
no seu pedido para obter uma parte do objeto geral, que pode enviar para um processo local.Continue a fazer pedidos de partes sucessivas do objeto até ter obtido o objeto completo.
API XML
Para fazer uma transferência de streaming, siga as instruções para transferir um objeto com as seguintes considerações:
Antes de iniciar a transferência, obtenha os metadados do objeto e guarde o número de geração do objeto. Inclua este número de geração em cada um dos seus pedidos para garantir que não transfere dados de duas gerações diferentes caso a original seja substituída.
Use o cabeçalho
Range
no seu pedido para obter uma parte do objeto geral, que pode enviar para um processo local.Continue a fazer pedidos de partes sucessivas do objeto até ter obtido o objeto completo.
O que se segue?
- Transmita um carregamento.
- Saiba mais acerca da transcodificação descompressiva.
- Saiba mais sobre carregamentos e transferências.