Suscripciones a Bigtable

Las suscripciones a Bigtable te permiten escribir mensajes de Pub/Sub en una tabla de Bigtable. En este documento, se proporciona una descripción general de las suscripciones de Bigtable, incluido el flujo de trabajo de suscripción, la semántica de entrega y el manejo de errores.

Para crear una suscripción a Bigtable, consulta Crea una suscripción a Bigtable.

Descripción general

Una suscripción a Bigtable es un tipo de suscripción de exportación que escribe los mensajes en una tabla de Bigtable existente a medida que se reciben. Si usas una suscripción de exportación, no necesitas configurar un cliente suscriptor independiente.

Considera usar una suscripción a Bigtable si deseas escribir mensajes en Bigtable y los mensajes no necesitan procesamiento adicional, o bien si el procesamiento lo puede realizar una Single Message Transform (SMT).

Si necesitas realizar transformaciones más complejas antes de escribir mensajes en Bigtable, te recomendamos que uses una canalización de Dataflow con una suscripción de extracción. Para obtener más información, consulta Cómo leer desde Pub/Sub a Dataflow.

Para obtener más información sobre cómo elegir un tipo de suscripción a Pub/Sub, consulta Elige un tipo de suscripción.

Flujo de trabajo de suscripción a Bigtable

En la siguiente imagen, se muestra el flujo de trabajo entre una suscripción a Bigtable y Bigtable.

Una suscripción de Bigtable escribe en una tabla de Bigtable.

El flujo de trabajo consta de los siguientes pasos:

  1. Un publicador envía un mensaje a un tema de Pub/Sub.

  2. Pub/Sub reenvía el mensaje a la suscripción de Bigtable.

  3. La suscripción envía una solicitud de escritura a Bigtable. En la solicitud de escritura, la suscripción especifica un perfil de aplicación que usa el enrutamiento de un solo clúster.

  4. Bigtable enruta el mensaje al clúster de Bigtable que contiene la tabla.

  5. La solicitud de escritura se confirma en la tabla.

  6. Después de que se completa correctamente una operación de escritura, la API de Bigtable devuelve una respuesta de éxito.

Si falla una operación de escritura, se controla de la siguiente manera:

  1. Se confirmó de forma negativa la recepción del mensaje de Pub/Sub.

  2. Pub/Sub reenvía el mensaje.

  3. Si el mensaje falla suficientes veces y se configura un tema de mensajes no entregados en la suscripción, el mensaje se mueve a ese tema.

Semántica de entrega

Las suscripciones de Bigtable admiten la entrega al menos una vez. Si necesitas una anulación de duplicación exacta de los mensajes, considera implementar procesos posteriores para controlar los posibles duplicados en Bigtable o usa las capacidades de procesamiento exactamente una vez de Dataflow.

Cómo controlar los errores en los mensajes

Si no se puede escribir un mensaje de Pub/Sub en Bigtable, no se puede confirmar la recepción del mensaje. Para reenviar esos mensajes que no se pueden entregar, configura un tema de mensajes no entregados en la suscripción de Bigtable. El mensaje de Pub/Sub que se reenvía al tema de mensajes no entregados contiene un atributo llamado CloudPubSubDeadLetterSourceDeliveryErrorMessage que incluye el motivo del error de escritura.

Si Pub/Sub no puede escribir mensajes en Bigtable, Pub/Sub retirará la entrega de mensajes de una manera similar al comportamiento de la retirada de envío.

Cuotas y límites

Pub/Sub tiene limitaciones de cuota en la capacidad de procesamiento de suscriptores de Bigtable por región. Para obtener más información, consulta Cuotas y límites de Pub/Sub.

Para obtener información sobre los límites de Bigtable, consulta Cuotas y límites en la documentación de Bigtable.

Precios

Para obtener información sobre los precios de las suscripciones a Bigtable, consulta la página de precios de Pub/Sub.

¿Qué sigue?