En este documento, se describe cómo crear una suscripción de extracción. Puedes usar la Google Cloud consola, Google Cloud CLI, la biblioteca cliente o la API de Pub/Sub para crear una suscripción de extracción.
Antes de comenzar
- Obtén más información sobre las suscripciones.
- Evalúa si tu empresa requiere una suscripción de extracción.
- Comprende cómo funcionan las suscripciones de extracción.
Roles y permisos requeridos
Para obtener los permisos que necesitas
para crear una suscripción de extracción,
pídele a tu administrador que te otorgue el rol de IAM
Editor de Pub/Sub (roles/pubsub.editor) en el 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 crear una suscripción de extracción. Para ver los permisos exactos que son necesarios, expande la sección Permisos requeridos:
Permisos necesarios
Se requieren los siguientes permisos para crear una suscripción de extracción:
-
pubsub.subscriptions.createen el proyecto -
pubsub.topics.attachSubscriptionsobre el tema
También puedes obtener estos permisos con roles personalizados o con otros roles predefinidos.
Suscripciones entre proyectos
Si creas una suscripción en un proyecto para un tema en otro proyecto, debes tener permiso pubsub.subscriptions.create en el proyecto en el que creas la suscripción y permiso pubsub.topics.attachSubscription en el tema.
Crea una suscripción de extracción
Console
Para crear una suscripción de extracción, sigue estos pasos:
En la consola de Google Cloud , ve a la página Suscripciones.
Haz clic en Crear suscripción.
En el campo ID de suscripción, ingresa un nombre.
Para obtener información sobre cómo asignar un nombre a una suscripción, consulta los Lineamientos para asignar un nombre a un tema o una suscripción.
En la lista Tema de Pub/Sub, selecciona un tema del que leerá la suscripción.
En Tipo de entrega, selecciona Extracción.
Opcional: En la sección Transformaciones, agrega una o más transformaciones de un solo mensaje (SMT). Para obtener más información, consulta Crea una suscripción con SMT.
Opcional: En el campo Filtro, ingresa una expresión de filtro para filtrar los mensajes de la suscripción. Para obtener más información, consulta Cómo filtrar mensajes de una suscripción.
En Política de reintentos, selecciona una opción. Para obtener más información, consulta la política de reintentos de suscripciones.
Opcional: Habilita un tema de mensajes no entregados para recibir mensajes que no se puedan entregar.
Selecciona la casilla de verificación Dead lettering.
En la lista Tema de mensajes no entregados, selecciona o crea el tema de mensajes no entregados.
En el campo Cantidad máxima de intentos de entrega, ingresa la cantidad máxima de intentos de entrega.
Opcional: En la sección Propiedades de entrega, habilita o inhabilita las siguientes opciones de entrega:
Opcional: En la sección Plazo de confirmación, establece el plazo para que el suscriptor procese y confirme la recepción de los mensajes. Para obtener más información, consulta Extiende el tiempo de confirmación con la administración de arrendamientos.
Opcional: En la sección Opciones de duración, configura el tiempo durante el que la suscripción retiene los mensajes.
En la sección Duración de la retención de mensajes, especifica cuánto tiempo se retienen los mensajes no confirmados.
Para conservar los mensajes confirmados y los no confirmados, selecciona la casilla de verificación Retener mensajes confirmados.
Para obtener más información, consulta Configura la retención de mensajes para una suscripción.
Opcional: En Período de vencimiento, selecciona una opción:
Para establecer el vencimiento de la suscripción, selecciona la casilla de verificación Vence después de todos estos días de inactividad. Ingresa la cantidad de días que la suscripción puede permanecer inactiva antes de que Pub/Sub la borre.
Para inhabilitar el vencimiento de la suscripción, selecciona la casilla de verificación Nunca vence.
Para obtener más información, consulta Vencimiento de la suscripción.
Haz clic en Crear.
Desde la sección Temas también puedes crear una suscripción. Este acceso directo es útil para asociar temas a suscripciones.
En la consola de Google Cloud , ve a la página Temas.
Haz clic en more_vert junto al tema en el que deseas crear una suscripción.
En el menú contextual, selecciona Crear suscripción (Create subscription).
En la página Agregar suscripción al tema, completa los pasos descritos en el procedimiento anterior. El ID del tema se completa automáticamente.
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 crear una suscripción de extracción, ejecuta el
comando
gcloud pubsub subscriptions create.gcloud pubsub subscriptions create SUBSCRIPTION_ID --topic=TOPIC_ID
Reemplaza lo siguiente:
SUBSCRIPTION_ID: Es el nombre o ID de tu nueva suscripción de extracción.TOPIC_ID: Es el nombre o el ID del tema.
REST
Para crear una suscripción de extracción, usa el método
projects.subscriptions.create:
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.
PUT https://pubsub.googleapis.com/v1/projects/PROJECT_ID/subscriptions/SUBSCRIPTION_ID Authorization: Bearer ACCESS_TOKEN
Cuerpo de la solicitud:
{ "topic": "projects/PROJECT_ID/topics/TOPIC_ID" }
Aquí:
- PROJECT_ID es el ID del proyecto.
- SUBSCRIPTION_ID es tu ID de suscripción.
- TOPIC_ID es el ID del tema.
Respuesta:
{
"name": "projects/PROJECT_ID/subscriptions/SUBSCRIPTION_ID",
"topic": "projects/PROJECT_ID/topics/TOPIC_ID",
"pushConfig": {},
"ackDeadlineSeconds": 10,
"messageRetentionDuration": "604800s",
"expirationPolicy": {
"ttl": "2678400s"
}
}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 que se encuentran en la Guía de inicio rápido: Uso de 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.
Supervisa las suscripciones de extracción
Cloud Monitoring proporciona varias métricas para supervisar las suscripciones.
Para obtener una lista de todas las métricas disponibles relacionadas con Pub/Sub y sus descripciones, consulta la documentación de supervisión de Pub/Sub.
También puedes supervisar las suscripciones desde Pub/Sub.
¿Qué sigue?
- Recibe mensajes de una suscripción de extracción.
- Crea o modifica una suscripción con comandos
gcloud. - Crear o modificar una suscripción con APIs de REST