This document describes how to list a Pub/Sub topic. To list a topic you can use the Google Cloud console, the gcloud CLI, the client library, or the Pub/Sub API.
Before you begin
- Learn about topics and the publish messages workflow.
- Create a topic.
Required roles and permissions
To get the permissions that you need to list topics and manage them,
ask your administrator to grant you the
Pub/Sub Editor(roles/pubsub.editor
)
IAM role on your topic or project.
For more information about granting roles, see Manage access to projects, folders, and organizations.
This predefined role contains the permissions required to list topics and manage them. To see the exact permissions that are required, expand the Required permissions section:
Required permissions
The following permissions are required to list topics and manage them:
-
Create a topic:
pubsub.topics.create
-
Delete a topic:
pubsub.topics.delete
-
Detach a subscription from a topic:
pubsub.topics.detachSubscription
-
Get a topic:
pubsub.topics.get
-
List a topic:
pubsub.topics.list
-
Publish to a topic:
pubsub.topics.publish
-
Update a topic:
pubsub.topics.update
-
Get the IAM policy for a topic:
pubsub.topics.getIamPolicy
-
Configure the IAM policy for a topic:
pubsub.topics.setIamPolicy
You might also be able to get these permissions with custom roles or other predefined roles.
You can configure access control at the project level and at the individual resource level. You can create a subscription in one project and attach it to a topic located in a different project. Ensure that you have the required permissions for each project.
List a topic
Console
In the Google Cloud console, go to the Pub/Sub Topics page.
The Topics page lists all the available topics.
By default, the console returns 50 topics. You can increase this value to return a maximum of 200 topics by using the Rows per page drop down toggle. This toggle only appears in the console if you have more than 20 topics in a project.
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a
Cloud Shell
session starts and displays a command-line prompt. Cloud Shell is a shell environment
with the Google Cloud CLI
already installed and with values already set for
your current project. It can take a few seconds for the session to initialize.
To list topics, use the
By default, a maximum of 100 results are returned per query.
You can specify an alternative value of up to 1,000 using the page size parameter.
For example, using the Google Cloud CLI, specify gcloud
gcloud pubsub topics list
command:gcloud pubsub topics list
--page-size=1000
.
To list topics, use the
Request: The request must be authenticated with an access token in the
Where: Response:REST
projects.topics.list
method:Authorization
header. To obtain an access token for the current
Application Default Credentials: gcloud auth application-default print-access-token
.
GET https://pubsub.googleapis.com/v1/projects/PROJECT_ID/topics
Authorization: Bearer ACCESS_TOKEN
{
"topics": [
{
"name": "projects/PROJECT_ID/topics/mytopic1",
...
},
{
"name": "projects/PROJECT_ID/topics/mytopic2",
...
}
]
}
Before trying this sample, follow the C++ setup instructions in the
Pub/Sub quickstart using
client libraries.
For more information, see the
Pub/Sub C++ API
reference documentation.
To authenticate to Pub/Sub, set up Application Default Credentials.
For more information, see
Set up authentication for a local development environment.
Before trying this sample, follow the C# setup instructions in the
Pub/Sub quickstart using
client libraries.
For more information, see the
Pub/Sub C# API
reference documentation.
To authenticate to Pub/Sub, set up Application Default Credentials.
For more information, see
Set up authentication for a local development environment.
Before trying this sample, follow the Go setup instructions in the
Pub/Sub quickstart using
client libraries.
For more information, see the
Pub/Sub Go API
reference documentation.
To authenticate to Pub/Sub, set up Application Default Credentials.
For more information, see
Set up authentication for a local development environment.
Before trying this sample, follow the Java setup instructions in the
Pub/Sub quickstart using
client libraries.
For more information, see the
Pub/Sub Java API
reference documentation.
To authenticate to Pub/Sub, set up Application Default Credentials.
For more information, see
Set up authentication for a local development environment.
Before trying this sample, follow the PHP setup instructions in the
Pub/Sub quickstart using
client libraries.
For more information, see the
Pub/Sub PHP API
reference documentation.
To authenticate to Pub/Sub, set up Application Default Credentials.
For more information, see
Set up authentication for a local development environment.
Before trying this sample, follow the Python setup instructions in the
Pub/Sub quickstart using
client libraries.
For more information, see the
Pub/Sub Python API
reference documentation.
To authenticate to Pub/Sub, set up Application Default Credentials.
For more information, see
Set up authentication for a local development environment.
Before trying this sample, follow the Ruby setup instructions in the
Pub/Sub quickstart using
client libraries.
For more information, see the
Pub/Sub Ruby API
reference documentation.
To authenticate to Pub/Sub, set up Application Default Credentials.
For more information, see
Set up authentication for a local development environment.
C++
C#
Go
Java
Node.js
Node.js
PHP
Python
Ruby
What's next
Choose the type of subscription for your topic.
Create a subscription for your topic: pull, push, or BigQuery.
Create or modify a topic with gcloud CLI.
Create or modify a topic with REST APIs.