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 fazer o download de objetos no armazenamento persistente ou local, consulte Fazer o download de objetos. Para uma visão geral conceitual das leituras e downloads de objetos, consulte Leituras e downloads de objetos.
Funções exigidas
Para conseguir as permissões que você precisa 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 (necessário apenas para ler dados de objetos usando o Google Cloud console)
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 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 Administrador do Storage
(roles/storage.admin) que inclui essas permissões só é necessário
quando você quer ler objetos de forma interativa usando o Google Cloud console.
Essas permissões também podem ser concedidas com papéis personalizados 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 programaticamente na memória
Esta seção descreve como ler dados de objetos transmitindo os bytes do objeto 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
Esta seção descreve como ler objetos de forma interativa na
Google Cloud janela do navegador do console ou no terminal de linha de comando stdout.
Console
- No Google Cloud console do, 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 stdout do terminal,
use o gcloud storage cat comando:
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 o stdout do terminal, use as instruções a seguir.
API JSON
Tenha 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
Tenha 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.