En este documento, se describe cómo enumerar un tema de Pub/Sub. Para enumerar un tema, puedes usar la consola de Google Cloud , gcloud CLI, la biblioteca cliente o la API de Pub/Sub.
Antes de comenzar
- Obtén información sobre los temas y el flujo de trabajo de publicación de mensajes.
- Crea un tema.
Roles y permisos requeridos
Para obtener los permisos que
necesitas para enumerar temas y administrarlos,
pídele a tu administrador que te otorgue el
rol de IAM de editor de Pub/Sub(roles/pubsub.editor)
en tu tema o proyecto.
Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.
Este rol predefinido contiene los permisos necesarios para enumerar y administrar temas. Para ver los permisos exactos que son necesarios, expande la sección Permisos requeridos:
Permisos necesarios
Se requieren los siguientes permisos para enumerar los temas y administrarlos:
-
Crea un tema:
pubsub.topics.create -
Borra un tema:
pubsub.topics.delete -
Desvincula una suscripción de un tema:
pubsub.topics.detachSubscription -
Obtén un tema:
pubsub.topics.get -
Cómo listar un tema:
pubsub.topics.list -
Publica en un tema:
pubsub.topics.publish -
Actualiza un tema:
pubsub.topics.update -
Obtén la política de IAM para un tema:
pubsub.topics.getIamPolicy -
Configura la política de IAM para un tema:
pubsub.topics.setIamPolicy
También puedes obtener estos permisos con roles personalizados o con otros roles predefinidos.
Puedes configurar el control de acceso a nivel de proyecto y de recurso individual. Puedes crear una suscripción en un proyecto y adjuntarla a un tema ubicado en un proyecto diferente. Asegúrate de tener los permisos necesarios para cada proyecto.
Cómo listar un tema
Console
En la consola de Google Cloud , ve a la página Temas de Pub/Sub.
En la página Temas, se enumeran todos los temas disponibles.
De forma predeterminada, la consola devuelve 50 temas. Puedes aumentar este valor para devolver un máximo de 200 temas con el botón de activación del menú desplegable Filas por página. Este botón de activación solo aparece en la consola si tienes más de 20 temas en un proyecto.
gcloud
-
En la consola de Google Cloud , activa Cloud Shell.
En la parte inferior de la consola de Google Cloud , se inicia una sesión de Cloud Shell en la que se muestra una ventana de línea de comandos. Cloud Shell es un entorno de shell con Google Cloud CLI ya instalada y con valores ya establecidos para el proyecto actual. La sesión puede tardar unos segundos en inicializarse.
-
Para enumerar los temas, usa el comando
gcloud pubsub topics list:gcloud pubsub topics list
De forma predeterminada, se muestra un máximo de 100 resultados por consulta.
Puedes especificar un valor alternativo de hasta 1,000 con el parámetro de tamaño de página.
Por ejemplo, con Google Cloud CLI, especifica --page-size=1000.
REST
Para enumerar los temas, usa el método projects.topics.list:
Solicitud:
La solicitud debe autenticarse con un token de acceso en el encabezado Authorization. Para obtener un token de acceso para las credenciales predeterminadas de la aplicación actuales, usa gcloud auth application-default print-access-token.
GET https://pubsub.googleapis.com/v1/projects/PROJECT_ID/topics Authorization: Bearer ACCESS_TOKEN
Aquí:
Respuesta:
{
"topics": [
{
"name": "projects/PROJECT_ID/topics/mytopic1",
...
},
{
"name": "projects/PROJECT_ID/topics/mytopic2",
...
}
]
}C++
Antes de probar esta muestra, sigue las instrucciones de configuración de C++ en la guía de inicio rápido sobre el uso de bibliotecas cliente. Si quieres obtener más información, consulta la documentación de referencia de la API de Pub/Sub para C++.
C#
Antes de probar esta muestra, sigue las instrucciones de configuración de C# en la guía de inicio rápido sobre el uso de bibliotecas cliente. Si quieres obtener más información, consulta la documentación de referencia de la API de Pub/Sub para C#.
Go
En la siguiente muestra, se usa la versión principal de la biblioteca cliente de Pub/Sub de Go (v2). Si aún usas la biblioteca de la versión 1, consulta la guía de migración a la versión 2. Para ver una lista de muestras de código de la versión 1, consulta las muestras de código obsoletas.
Antes de probar este ejemplo, sigue las instrucciones de configuración para Go que se encuentran en la guía de inicio rápido sobre cómo usar bibliotecas cliente. Si quieres obtener más información, consulta la documentación de referencia de la API de Pub/Sub para Go.
Java
Antes de probar esta muestra, sigue las instrucciones de configuración de Java en la guía de inicio rápido sobre el uso de bibliotecas cliente. Si quieres obtener más información, consulta la documentación de referencia de la API de Pub/Sub para Java.
Node.js
Antes de probar esta muestra, sigue las instrucciones de configuración de Node.js en la guía de inicio rápido sobre el uso de bibliotecas cliente. Si quieres obtener más información, consulta la documentación de referencia de la API de Pub/Sub para Node.js.
Node.ts
Antes de probar esta muestra, sigue las instrucciones de configuración de Node.js en la guía de inicio rápido sobre el uso de bibliotecas cliente. Si quieres obtener más información, consulta la documentación de referencia de la API de Pub/Sub para Node.js.
PHP
Antes de probar esta muestra, sigue las instrucciones de configuración de PHP en la guía de inicio rápido sobre el uso de bibliotecas cliente. Si quieres obtener más información, consulta la documentación de referencia de la API de Pub/Sub para PHP.
Python
Antes de probar esta muestra, sigue las instrucciones de configuración de Python en la guía de inicio rápido sobre el uso de bibliotecas cliente. Si deseas obtener más información, consulta la documentación de referencia de la API de Pub/Sub para Python.
Ruby
En el siguiente ejemplo, se usa la biblioteca cliente de Pub/Sub de Ruby v3. Si aún usas la biblioteca de la versión 2, consulta la guía de migración a la versión 3. Para ver una lista de muestras de código de Ruby v2, consulta las muestras de código obsoletas.
Antes de probar este ejemplo, sigue las instrucciones de configuración para Ruby incluidas en la Guía de inicio rápido: Usa bibliotecas cliente. Si quieres obtener más información, consulta la documentación de referencia de la API de Pub/Sub para Ruby.
Rust
Antes de probar este ejemplo, sigue las instrucciones de configuración de Rust en Guía de inicio rápido: Uso de bibliotecas cliente. Para obtener más información, consulta la documentación de referencia de la API de Pub/Sub en Rust.
¿Qué sigue?
Elige el tipo de suscripción para tu tema.
Crea una suscripción para tu tema: extracción, envío o BigQuery.
Crea o modifica un tema con la CLI de gcloud.
Crea o modifica un tema con las APIs de REST.