Nesta página, mostramos como ler dados de objetos dos buckets do Cloud Storage diretamente na memória do aplicativo ou de forma interativa no navegador da Web ou no terminal de linha de comando. A leitura de objetos na memória ou de forma interativa é recomendada quando você quer transmitir, inspecionar ou processar dados de uma maneira que evite a sobrecarga de CPU, E/S de disco e latência associada à gravação de arquivos em um sistema de arquivos local persistente.
Para instruções sobre como baixar objetos no armazenamento persistente ou local, consulte Baixar objetos. Para uma visão geral conceitual das leituras e downloads de objetos, consulte Leituras e downloads de objetos.
Funções exigidas
Para receber as permissões necessárias para ler dados de objetos, peça ao administrador para conceder a você os seguintes papéis do IAM:
- Leitor de objetos do Storage (
roles/storage.objectViewer) no bucket - Administrador do Storage (
roles/storage.admin) no projeto. Isso é necessário apenas para ler dados de objetos usando o console Google Cloud .
Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.
O papel Leitor de objetos do Storage (roles/storage.objectViewer) contém a permissão storage.objects.get, que é necessária para ler objetos. O papel de Administrador do Storage (roles/storage.admin) contém as permissões storage.buckets.list e storage.buckets.get, além da permissão storage.objects.get. Essas permissões são necessárias para listar os buckets em um projeto
e visualizar informações sobre eles. O papel de Administrador do Storage (roles/storage.admin), que inclui essas permissões, só é necessário quando você quer ler objetos de forma interativa usando o console do Google Cloud .
Essas permissões também podem ser concedidas com funções personalizadas ou outros papéis predefinidos.
Para instruções sobre como conceder papéis nos buckets, consulte Definir e gerenciar políticas do IAM em buckets.
Ler objetos de maneira programática na memória
Esta seção descreve como ler dados de objetos transmitindo os bytes diretamente para a memória do aplicativo.
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.
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.
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.
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.
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.
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.
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.
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.
Rust
Ler objetos de forma interativa
Nesta seção, descrevemos como ler objetos de forma interativa na janela do navegador do consoleGoogle Cloud ou no terminal de linha de comando stdout.
Console
- No console do Google Cloud , acesse a página Buckets do Cloud Storage.
Na lista de buckets, clique no nome do bucket cujo conteúdo você quer visualizar.
Na guia Objetos, clique no nome do objeto que você quer ler.
Na página Detalhes do objeto, clique no URL público ou autenticado do objeto para ler os dados dele.
Linha de comando
Para transmitir o payload de bytes de um objeto diretamente para o terminal stdout,
use o comando gcloud storage cat:
gcloud storage cat gs://BUCKET_NAME/OBJECT_NAME
Substitua:
BUCKET_NAME: o nome do bucket que contém o objeto que você quer ler. Por exemplo,my-bucket.OBJECT_NAME: o nome do objeto que você quer ler. Por exemplo,dog.png.
APIs REST
Para ler os bytes de um objeto e direcionar o fluxo de saída para seu terminal
stdout, use as instruções a seguir.
API JSON
Ter a CLI gcloud instalada e inicializada, o que permite gerar um token de acesso para o cabeçalho
Authorization.Use
cURLpara chamar a API JSON com uma solicitaçãoobjects.getque inclua a opção-o -e o parâmetro de consultaalt=media:curl -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -o - \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/o/OBJECT_NAME?alt=media"
Substitua:
BUCKET_NAME: o nome do bucket que contém o objeto que você quer ler. Por exemplo,my-bucket.OBJECT_NAME: o nome codificado por URL do objeto que você quer ler. Por exemplo,pets/dog.png, codificado por URL comopets%2Fdog.png.
API XML
Ter a CLI gcloud instalada e inicializada, o que permite gerar um token de acesso para o cabeçalho
Authorization.Use
cURLpara chamar a API XML com uma solicitação de objetoGET:curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/BUCKET_NAME/OBJECT_NAME"
Substitua:
BUCKET_NAME: o nome do bucket que contém o objeto que você quer ler. Por exemplo,my-bucket.OBJECT_NAME: o nome codificado por URL do objeto que você quer ler. Por exemplo,pets/dog.png, codificado por URL comopets%2Fdog.png.
A seguir
- Transfira dados de provedores da nuvem ou de outras origens on-line, como listas de URLs.