Esta página mostra-lhe como listar os objetos armazenados nos seus contentores do Cloud Storage, que estão ordenados lexicograficamente por nome na lista.
Antes de começar
Para receber as autorizações necessárias para listar objetos, peça ao seu administrador para lhe conceder a função de IAM (roles/storage.objectViewer
) de leitor de objetos de armazenamento para o contentor que contém os objetos que quer listar. Se quiser listar objetos em pastas geridas, pode conceder
roles/storage.objectViewer
na pasta gerida que contém os objetos
que quer ver em vez do contentor.
Se planeia usar a Google Cloud consola para realizar as tarefas nesta página,
peça ao seu administrador que lhe conceda a função básica de leitor (roles/viewer
) além da função de leitor de objetos de armazenamento (roles/storage.objectViewer
).
Estas funções contêm as autorizações necessárias para listar objetos. Para ver as autorizações exatas necessárias, expanda a secção Autorizações necessárias:
Autorizações necessárias
storage.objects.list
storage.buckets.list
- Esta autorização só é necessária se quiser usar a Google Cloud consola para realizar as tarefas nesta página.
Também pode obter estas autorizações com outras funções predefinidas ou funções personalizadas.
Para ver informações sobre a concessão de funções para contentores, consulte o artigo Use o IAM com contentores.
Indique os objetos num contentor
Consola
- Na Google Cloud consola, aceda à página Recipientes do Cloud Storage.
Na lista de contentores, clique no nome do contentor cujo conteúdo quer ver.
Linha de comandos
Use o comando gcloud storage ls
:
gcloud storage ls gs://BUCKET_NAME
Onde:
BUCKET_NAME
é o nome do contentor que contém os objetos que quer listar. Por exemplo,my-bucket
.
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.
O exemplo seguinte lista todos os objetos num contentor:
O exemplo seguinte lista objetos com um prefixo determinado:
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.
O exemplo seguinte lista todos os objetos num contentor:
O exemplo seguinte lista objetos com um prefixo determinado:
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.
O exemplo seguinte lista todos os objetos num contentor:
O exemplo seguinte lista objetos com um prefixo determinado:
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.
O exemplo seguinte lista todos os objetos num contentor:
O exemplo seguinte lista objetos com um prefixo determinado:
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.
O exemplo seguinte lista todos os objetos num contentor:
O exemplo seguinte lista objetos com um prefixo determinado:
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.
O exemplo seguinte lista todos os objetos num contentor:
O exemplo seguinte lista objetos com um prefixo determinado:
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.
O exemplo seguinte lista todos os objetos num contentor:
O exemplo seguinte lista objetos com um prefixo determinado:
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.
O exemplo seguinte lista todos os objetos num contentor:
O exemplo seguinte lista objetos com um prefixo determinado:
APIs REST
API JSON
Ter a CLI gcloud instalada e inicializada, o que lhe permite gerar um token de acesso para o cabeçalho
Authorization
.Use
cURL
para chamar a API JSON com um pedido para listar objetos:curl -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/o"
Em que
BUCKET_NAME
é o nome do contentor cujos objetos quer listar. Por exemplo,my-bucket
.
API XML
Ter a CLI gcloud instalada e inicializada, o que lhe permite gerar um token de acesso para o cabeçalho
Authorization
.Use
cURL
para chamar a API XML com um pedido deGET
contentor:curl -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/BUCKET_NAME?list-type=2"
Em que
BUCKET_NAME
é o nome do contentor cujos objetos quer listar. Por exemplo,my-bucket
.Pode usar um parâmetro de
prefix=PREFIX
string de consulta para limitar os resultados a objetos que tenham o prefixo especificado.
Indicar os objetos numa pasta
Consola
- Na Google Cloud consola, aceda à página Recipientes do Cloud Storage.
Na lista de contentores, clique no nome do contentor que contém a pasta.
No separador Objetos da página Detalhes do contentor, clique no nome da pasta cujo conteúdo quer ver.
Linha de comandos
Use o comando gcloud storage ls
para listar os objetos numa pasta:
gcloud storage ls gs://BUCKET_NAME/FOLDER_NAME
Onde:
BUCKET_NAME
é o nome do contentor que contém a pasta. Por exemplo,my-bucket
.FOLDER_NAME
é o nome da pasta que contém os objetos que quer listar. Por exemplo,my-folder
.
APIs REST
API JSON
Para listar os objetos numa pasta, use um pedido de objetos de lista
com os parâmetros prefix
e delimiter
. Quando o parâmetro prefix
está definido, a operação de listagem tem âmbito apenas para devolver objetos
e pastas no prefixo. Quando o parâmetro delimiter
está definido, a lista prefixes[]
na resposta é preenchida com os nomes das pastas no prefixo especificado.
Por exemplo:
Para listar todos os objetos na pasta
image/
no contentormy-bucket
, use o seguinte URL:"https://storage.googleapis.com/storage/v1/b/my-bucket/o?prefix=image&delimiter=/"
.Isto pode devolver os objetos
my-bucket/image/cat.jpeg
emy-bucket/image/dog.jpeg
.Para incluir objetos em subpastas dentro de
image/
, remova o parâmetrodelimiter
:"https://storage.googleapis.com/storage/v1/b/my-bucket/o?prefix=image"
.Isto pode devolver os objetos
my-bucket/image/cat.jpeg
,my-bucket/image/dog.jpeg
emy-bucket/image/dog/shiba.jpeg
.
Para usar carateres universais no seu pedido de objetos de lista e fazer corresponder objetos por expressão glob, use o parâmetro matchGlob
. Por exemplo, matchGlob=**.jpeg
corresponde a todos os objetos que terminam em .jpeg
. Quando usa matchGlob
, tem de definir delimiter
como /
.
Por exemplo, use o seguinte URL para fazer corresponder todos os objetos na pasta image
que terminam em .jpeg
:
"https://storage.googleapis.com/storage/v1/b/my-bucket/o?prefix=image&delimiter=/&matchGlob=**.jpeg"
Para ver mais detalhes sobre a utilização de parâmetros para filtrar objetos, consulte a documentação de referência da API JSON da lista de objetos.
Exemplo de utilização
A utilização de prefix
para listar o conteúdo de uma pasta pode ser útil quando só tem autorização para listar objetos na pasta, mas não no contentor completo. Por exemplo, suponhamos que tem a função do IAM (roles/storage.objectViewer
) Storage Object Viewer
para a pasta gerida my-bucket/my-managed-folder-a/
, mas não para a pasta gerida my-bucket/my-managed-folder-b/
. Para devolver apenas os objetos em my-managed-folder-a
, pode especificar prefix=my-managed-folder-a/
.
Filtrar objetos
Quando listar objetos, pode usar prefixos ou sufixos no pedido de lista para filtrar objetos por nome.
Consola
Consulte a secção sobre filtragem e ordenação para obter informações sobre como filtrar e ordenar objetos em contentores ou pastas.
Linha de comandos
Pode usar carateres universais no comando gcloud storage ls
para
filtrar objetos por prefixo ou sufixo. Por exemplo, o comando seguinte
apenas lista objetos no contentor my-bucket
cujo nome começa com
image
e termina com .png
:
gcloud storage ls gs://my-bucket/image*.png
Se o pedido for bem-sucedido, a resposta é semelhante à seguinte:
gs://my-bucket/image.png gs://my-bucket/image-dog.png gs://my-bucket/image-cat.png ...
Pode usar carateres universais com dois asteriscos para estabelecer uma correspondência com zero ou mais níveis de pastas num caminho. Por exemplo, o comando seguinte apenas lista objetos cujo nome termina em .jpeg
em qualquer pasta ou subpasta no contentor my-bucket
:
gcloud storage ls gs://my-bucket/**/*.jpeg
Se o pedido for bem-sucedido, a resposta é semelhante à seguinte:
gs://my-bucket/puppy.jpeg gs://my-bucket/pug.jpeg gs://my-bucket/pets/dog.jpeg ...
APIs REST
Consulte o artigo Liste objetos em pastas para obter informações sobre como filtrar objetos por pasta ou prefixo do nome do objeto.
Considerações de desempenho ao listar objetos
A estrutura subjacente dos contentores com o espaço de nomes hierárquico ativado influencia o desempenho da operação de objetos de listagem, quando comparada com contentores de espaço de nomes simples. Para mais informações, consulte o artigo Otimize o desempenho em contentores com o espaço de nomes hierárquico ativado.
O que se segue?
- Transfira um objeto do seu contentor.
- Veja e edite os metadados de objetos.
- Elimine objetos do seu contentor.
- Saiba como paginar os resultados.