Este documento descreve como listar um tópico do Pub/Sub. Para listar um tópico, use o Google Cloud console, a CLI gcloud, a biblioteca de cliente, ou a API Pub/Sub.
Antes de começar
- Saiba mais sobre tópicos e o fluxo de trabalho de mensagens de publicação.
- Crie um tópico.
Papéis e permissões necessárias
Para receber as permissões necessárias para listar e gerenciar tópicos, peça ao administrador para conceder a você o papel do IAM de Editor do Pub/Sub(roles/pubsub.editor) no tópico ou projeto.
Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.
Esse papel predefinido contém as permissões necessárias para listar e gerenciar tópicos. Para acessar as permissões exatas que são necessárias, expanda a seção Permissões necessárias:
Permissões necessárias
As permissões a seguir são necessárias para listar e gerenciar tópicos:
-
Criar um tópico:
pubsub.topics.create -
Excluir um tópico:
pubsub.topics.delete -
Desvincular uma assinatura de um tópico:
pubsub.topics.detachSubscription -
Receber um tópico:
pubsub.topics.get -
Listar um tópico:
pubsub.topics.list -
Publicar em um tópico:
pubsub.topics.publish -
Atualizar um tópico:
pubsub.topics.update -
Receber a política do IAM para um tópico:
pubsub.topics.getIamPolicy -
Configurar a política do IAM para um tópico:
pubsub.topics.setIamPolicy
Essas permissões também podem ser concedidas com funções personalizadas ou outros papéis predefinidos.
É possível configurar o controle de acesso no nível do projeto e no nível do recurso individual. Você pode criar uma assinatura em um projeto e anexá-la a um tópico localizado em um projeto diferente. Verifique se você tem as permissões necessárias para cada projeto.
Listar um tópico
Console
No Google Cloud console, acesse a página Tópicos do Pub/Sub.
A página Tópicos lista todos os tópicos disponíveis.
Por padrão, o console retorna 50 tópicos. É possível aumentar esse valor para retornar um máximo de 200 tópicos usando a opção suspensa Linhas por página. Essa opção só aparece no console se você tiver mais de 20 tópicos em um projeto.
gcloud
-
No Google Cloud console, ative o Cloud Shell.
Na parte de baixo do Google Cloud console, uma sessão do Cloud Shell é iniciada e exibe um prompt de linha de comando. O Cloud Shell é um ambiente shell com a Google Cloud CLI já instalada e com valores já definidos para o projeto atual. A inicialização da sessão pode levar alguns segundos.
-
Para listar tópicos, use o
gcloud pubsub topics listcomando:gcloud pubsub topics list
Por padrão, são retornados no máximo 100 resultados por consulta.
Você pode especificar um valor alternativo de até 1.000 usando o parâmetro de tamanho da página.
Por exemplo, usando a Google Cloud CLI, especifique --page-size=1000.
REST
Para listar tópicos, use o
projects.topics.list
método:
Solicitação:
A solicitação precisa ser autenticada com um token de acesso no
Authorization cabeçalho. Para conseguir um token de acesso para o Application Default Credentials atual, use: gcloud auth application-default print-access-token.
GET https://pubsub.googleapis.com/v1/projects/PROJECT_ID/topics Authorization: Bearer ACCESS_TOKEN
Em que:
Resposta:
{
"topics": [
{
"name": "projects/PROJECT_ID/topics/mytopic1",
...
},
{
"name": "projects/PROJECT_ID/topics/mytopic2",
...
}
]
}C++
Antes de tentar esse exemplo, siga as instruções de configuração do C++ em Guia de início rápido: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Pub/Sub C++.
C#
Antes de tentar esse exemplo, siga as instruções de configuração do C# em Guia de início rápido: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Pub/Sub C# .
Go
O exemplo a seguir usa a versão principal da biblioteca de cliente do Go Pub/Sub (v2). Se você ainda estiver usando a biblioteca v1, consulte o guia de migração para a v2. Para conferir uma lista de exemplos de código v1, consulte os exemplos de código descontinuados.
Antes de tentar esse exemplo, siga as instruções de configuração do Go em Guia de início rápido: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Pub/Sub Go.
Java
Antes de tentar essa amostra, siga as instruções de configuração do Java em Guia de início rápido: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Pub/Sub Java.
Node.js
Antes de tentar essa amostra, siga as instruções de configuração do Node.js em Guia de início rápido: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Pub/Sub Node.js.
Node.ts
Antes de tentar essa amostra, siga as instruções de configuração do Node.js em Guia de início rápido: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Pub/Sub Node.js.
PHP
Antes de tentar esse exemplo, siga as instruções de configuração do PHP em Guia de início rápido: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Pub/Sub PHP.
Python
Antes de tentar esse exemplo, siga as instruções de configuração do Python em Guia de início rápido: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Python do Pub/Sub.
Ruby
O exemplo a seguir usa a biblioteca de cliente do Ruby Pub/Sub v3. Se você ainda estiver usando a biblioteca v2, consulte o guia de migração para a v3. Para conferir uma lista de exemplos de código do Ruby v2, consulte os exemplos de código descontinuados.
Antes de tentar esse exemplo, siga as instruções de configuração do Ruby em Guia de início rápido: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Pub/Sub Ruby.
A seguir
Escolha o tipo de assinatura para seu tópico.
Crie uma assinatura para seu tópico: pull, push ou BigQuery.
Crie ou modifique um tópico com a CLI gcloud.
Crie ou modifique um tópico com APIs REST.