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 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.attachSubscriptionen el tema
También puedes obtener estos permisos con roles personalizados o otros roles predefinidos.
Suscripciones entre proyectos
Si creas una suscripción en un proyecto para un tema en otro proyecto, debes tener el permiso pubsub.subscriptions.create en el proyecto en el que creas la suscripción y el permiso pubsub.topics.attachSubscription en el tema.
Propiedades de la suscripción de extracción
Las suscripciones de extracción admiten todas las propiedades de suscripción comunes. Las suscripciones de extracción también admiten la propiedad Entrega “exactamente una vez”, que se describe en la siguiente sección.
Entrega “exactamente una vez”
Entrega “exactamente una vez”. Si se configura, Pub/Sub cumple con las garantías de entrega “exactamente una vez”. Si no se especifica, la suscripción admite la entrega “al menos una vez” para cada mensaje.
Crea una suscripción de extracción
En los siguientes ejemplos, se muestra cómo crear una suscripción con entrega de extracción, usando la configuración predeterminada proporcionada.
Console
Para crear una suscripción de extracción, realiza los pasos que se indican a continuación.
En la Google Cloud consola, 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 nombrar una suscripción, consulta Lineamientos para nombrar un tema o una suscripción.
- Elige o crea un tema desde el menú desplegable. La suscripción recibe mensajes del tema.
- Conserva el Tipo de entrega como Extracción.
- Conserva todos los demás valores predeterminados.
- 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 Google Cloud consola, ve a la página Temas.
- Haz clicmore_vertjunto al tema en el que deseas crear una suscripción.
- En el menú contextual, selecciona Crear suscripción (Create subscription).
Ingresa el ID de suscripción.
Para obtener información sobre cómo nombrar una suscripción, consulta Lineamientos para nombrar un tema o una suscripción.
- Conserva el Tipo de entrega como Extracción.
- Conserva todos los demás valores predeterminados.
- Haz clic en Crear.
gcloud
-
En la Google Cloud consola, activa Cloud Shell.
En la parte inferior de la Google Cloud consola, 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
gcloud pubsub subscriptions createcomando.gcloud pubsub subscriptions create SUBSCRIPTION_ID --topic=TOPIC_ID
Reemplaza lo siguiente:
SUBSCRIPTION_ID: Es el nombre o el ID de tu nueva suscripción de extracción.TOPIC_ID: Es el nombre o el ID de tu tema.
REST
Para crear una suscripción de extracción, usa el
projects.subscriptions.create método:
Solicitud:
La solicitud debe autenticarse con un token de acceso en el encabezado Authorization. Para obtener un
token de acceso para las credenciales predeterminadas actuales de la aplicación:
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 el siguiente ejemplo, se usa la versión principal de la biblioteca cliente de Pub/Sub para Go (v2). Si aún usas la biblioteca v1, consulta la guía de migración a la v2. Para ver una lista de ejemplos de código de la v1, consulta los ejemplos de código obsoletos.
Antes de probar esta muestra, sigue las instrucciones de configuración de Go 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 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 quieres obtener más información, consulta la documentación de referencia de la API de Python de Pub/Sub .
Ruby
En el siguiente ejemplo, se usa la biblioteca cliente de Pub/Sub para Ruby v3. Si aún usas la biblioteca v2, consulta la guía de migración a la v3. Para ver una lista de ejemplos de código de la v2 de Ruby, consulta los ejemplos de código obsoletos.
Antes de probar esta muestra, sigue las instrucciones de configuración de Ruby 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 Ruby.
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 Monitoring para 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
gcloudcomandos. - Crea o modifica una suscripción con las APIs de REST.