Configura Pub/Sub en Application Design Center

Pub/Sub es un servicio de mensajería asíncrona y escalable que separa los servicios que producen mensajes de aquellos que procesan esos mensajes. Para obtener más información, consulta ¿Qué es Pub/Sub?

En este documento, se describen las conexiones y los parámetros que puedes configurar cuando usas el Centro de diseño de aplicaciones para crear un tema y una suscripción de Pub/Sub. Los parámetros de configuración se basan en el módulo de Terraform terraform-google-pubsub.

Conexiones de componentes

En la siguiente tabla, se incluyen los componentes que puedes conectar a un tema o una suscripción de Pub/Sub, y las actualizaciones resultantes en tu aplicación y su código de Terraform generado.

Componente conectado

Actualizaciones de la aplicación

Información general

Plantilla de instancia de Compute Engine

  • Las instancias de Compute Engine pueden publicar mensajes en el tema de Pub/Sub y recibirlos de él.
  • El ID del tema de Pub/Sub se agrega a los metadatos de la plantilla de instancias de Compute Engine.
Plantillas de instancia

Cuenta de servicio

  • La cuenta de servicio puede administrar temas de Pub/Sub y extraer mensajes de suscripciones.
  • Se agrega el rol roles/pubsub.editor a la cuenta de servicio.
  • La información del nombre y el correo electrónico de la cuenta de servicio se agrega a la suscripción de extracción de Pub/Sub.
Control de acceso con IAM

BigQuery

  • La suscripción a Pub/Sub puede escribir mensajes en el conjunto de datos de BigQuery.
  • La información del conjunto de datos de BigQuery se agrega a los campos de suscripción de BigQuery.
Suscripciones a BigQuery

Cloud Run

  • El servicio de Cloud Run puede recibir mensajes o publicar en el tema de Pub/Sub.
  • El ID del tema de Pub/Sub se agrega a las variables de entorno de Cloud Run.
  • Se agregan los roles roles/pubsub.publisher y roles/pubsub.subscriber a la cuenta de servicio de Cloud Run.
  • El servicio de Cloud Run se agrega a los campos de suscripción de extracción y envío de Pub/Sub.
Instructivo de uso de Pub/Sub con Cloud Run

Cloud Storage

  • La suscripción a Pub/Sub puede escribir mensajes en el bucket de Cloud Storage.
  • La información del bucket de Cloud Storage se agrega a los campos de suscripción de Pub/Sub.
Suscripciones a Cloud Storage

Parámetros de configuración obligatorios

Si tu plantilla incluye un componente de Pub/Sub, debes configurar los siguientes parámetros antes de implementarla.

Nombre del parámetro

Descripción y restricciones

Información general

ID del proyecto

Es el proyecto en el que deseas implementar el recurso de Pub/Sub.

Configura componentes

Tema

name Lineamientos para asignar nombres a temas, suscripciones, esquemas o instantáneas

Parámetros de configuración opcionales

Los siguientes parámetros son opcionales. Para mostrar los parámetros avanzados, en el área Configuración, selecciona Mostrar campos avanzados.

Función

Nombre del parámetro

Información de descripción y restricción

Información general

Crear tema De forma predeterminada, se crea un tema. Desmarca la casilla de verificación si no quieres crear un tema. Crea un tema
Crear suscripciones De forma predeterminada, se crea una suscripción. Borra la marca de la casilla de verificación si no quieres crear una suscripción. Descripción general de la suscripción

Etiquetas de temas

Clave labels Informes de uso con etiquetas
Valor labels Informes de uso con etiquetas

Suscripciones de envío

Nombre name Lineamientos para asignar nombres a temas, suscripciones, esquemas o instantáneas
Segundos de fecha límite de confirmación ackDeadlineSeconds Plazo de confirmación
Extremo de envío pushEndpoint Extremos
X-goog-version Es el formato de la API de Pub/Sub del mensaje enviado. Por ejemplo, v1beta1. atributos
Correo electrónico de la cuenta de servicio de OIDC serviceAccountEmail Authentication
Público público Authentication
Política de vencimiento expirationPolicy Período de vencimiento
Tema de mensajes no entregados deadLetterTopic Tema de mensajes no entregados
Retain Acked Messages retainAckedMessages Retener mensajes confirmados
Duración de retención de mensajes messageRetentionDuration Duración de la retención de mensajes
Max Delivery Attempts maxDeliveryAttempts Tema de mensajes no entregados
Retirada máxima maximumBackoff Política de reintentos
Retirada mínima minimumBackoff Política de reintentos
Filtro filter Filtro de suscripción
Habilita el ordenamiento de mensajes enableMessageOrdering Ordenamiento de mensajes

Suscripciones de extracción

Nombre name Lineamientos para asignar nombres a temas, suscripciones, esquemas o instantáneas
Segundos de fecha límite de confirmación ackDeadlineSeconds Plazo de confirmación
Tema de mensajes no entregados deadLetterTopic Tema de mensajes no entregados
Max Delivery Attempts maxDeliveryAttempts Tema de mensajes no entregados
Retain Acked Messages retainAckedMessages Retener mensajes confirmados
Duración de retención de mensajes messageRetentionDuration Duración de la retención de mensajes
Retirada máxima maximumBackoff Política de reintentos
Retirada mínima minimumBackoff Política de reintentos
Filtro filter Filtro de suscripción
Habilita el ordenamiento de mensajes enableMessageOrdering Ordenamiento de mensajes
Cuenta de servicio
Habilita la entrega “exactamente una vez” enableExactlyOnceDelivery Entrega “exactamente una vez”

Suscripciones a BigQuery

Nombre name Lineamientos para asignar nombres a temas, suscripciones, esquemas o instantáneas
Tabla table Crea suscripciones a BigQuery
Usar el esquema de tema useTopicSchema Usar suscripción al tema
Usar el esquema de tabla useTableSchema Usar el esquema de tabla
Escribir metadatos writeMetadata Escribir metadatos
Quitar campos desconocidos dropUnknownFields Quitar campos desconocidos
Segundos de fecha límite de confirmación ackDeadlineSeconds Plazo de confirmación
Retain Acked Messages retainAckedMessages Retener mensajes confirmados
Duración de retención de mensajes messageRetentionDuration Duración de la retención de mensajes
Habilita el ordenamiento de mensajes enableMessageOrdering Ordenamiento de mensajes
Política de vencimiento expirationPolicy Período de vencimiento
Filtro filter Filtro de suscripción
Tema de mensajes no entregados deadLetterTopic Tema de mensajes no entregados
Retirada máxima maximumBackoff Política de reintentos
Retirada mínima minimumBackoff Política de reintentos

Suscripciones a Cloud Storage

Nombre name Lineamientos para asignar nombres a temas, suscripciones, esquemas o instantáneas
Bucket segmento Nombre del bucket
Prefijo del nombre de archivo filenamePrefix Prefijo, sufijo y fecha y hora del nombre de archivo
Sufijo del nombre de archivo filenameSuffix Prefijo, sufijo y fecha y hora del nombre de archivo
Formato de fecha y hora del nombre de archivo filenameDatetimeFormat Prefijo, sufijo y fecha y hora del nombre de archivo
Duración máxima maxDuration Agrupación en lotes de archivos
Bytes máximos maxBytes Agrupación en lotes de archivos
Max Messages maxMessages Agrupación en lotes de archivos
Formato de salida textConfig o avroConfig Formato del archivo
Escribir metadatos writeMetadata Escribir metadatos
Usar el esquema de tema useTopicSchema Usar el esquema de tema
Segundos de fecha límite de confirmación ackDeadlineSeconds Plazo de confirmación
Retain Acked Messages Retener mensajes confirmados
Duración de retención de mensajes messageRetentionDuration Duración de la retención de mensajes
Habilita el ordenamiento de mensajes enableMessageOrdering Ordenamiento de mensajes
Política de vencimiento expirationPolicy Período de vencimiento
Filtro filter Filtro de suscripción
Tema de mensajes no entregados deadLetterTopic Tema de mensajes no entregados
Retirada máxima maximumBackoff Política de reintentos
Retirada mínima minimumBackoff Política de reintentos

Etiquetas de suscripción

Clave labels Informes de uso con etiquetas
Valor labels Informes de uso con etiquetas
Duración de retención de mensajes del tema topicMessageRetentionDuration Duración de la retención de mensajes
Nombre de la clave de KMS del tema kmsKeyName Usa una clave de encriptación administrada por el cliente (CMEK)
Cómo otorgar roles del proyecto de BigQuery De forma predeterminada, los roles de Visualizador de metadatos de BigQuery y Editor de datos de BigQuery se otorgan a la cuenta de servicio predeterminada de Pub/Sub. Si no deseas otorgar estos roles, desmarca la casilla de verificación. Asigna roles de BigQuery a la cuenta de servicio de Pub/Sub
Grant Token Creator De forma predeterminada, el rol de creador de tokens de cuenta de servicio se otorga a la cuenta de servicio predeterminada de Pub/Sub. Si no quieres otorgar este rol, desmarca la casilla de verificación. Configura la autenticación para Pub/Sub

Esquema

Nombre name Información importante sobre los esquemas
Tipo type Tipos de esquemas
Definición definición Tipos de esquemas
Codificación encoding Lineamientos para asociar un esquema a un tema