Les abonnements Bigtable vous permettent d'écrire des messages Pub/Sub dans une table Bigtable. Ce document présente les abonnements Bigtable, y compris le workflow d'abonnement, la sémantique de diffusion et la gestion des exceptions.
Pour créer un abonnement Bigtable, consultez Créer un abonnement Bigtable.
Présentation
Un abonnement Bigtable est un type d'abonnement d'exportation qui écrit les messages dans une table Bigtable existante à mesure qu'ils sont reçus. En utilisant un abonnement d'exportation, vous n'avez pas besoin de configurer un client abonné distinct.
Envisagez d'utiliser un abonnement Bigtable si vous souhaitez écrire des messages dans Bigtable et que les messages n'ont pas besoin de traitement supplémentaire ou que le traitement peut être effectué par une transformation de message unique (SMT).
Si vous devez effectuer des transformations plus complexes avant d'écrire des messages dans Bigtable, nous vous recommandons d'utiliser un pipeline Dataflow avec un abonnement pull. Pour en savoir plus, consultez Lire des données de Pub/Sub dans Dataflow.
Pour en savoir plus sur le choix d'un type d'abonnement Pub/Sub, consultez Choisir un type d'abonnement.
Workflow d'abonnement Bigtable
L'image suivante illustre le workflow entre un abonnement Bigtable et Bigtable.

Le workflow se compose des étapes suivantes :
Un diffuseur envoie un message à un sujet Pub/Sub.
Pub/Sub transfère le message à l'abonnement Bigtable.
L'abonnement envoie une requête d'écriture à Bigtable. Dans la requête d'écriture, l'abonnement spécifie un profil d'application qui utilise le routage à cluster unique.
Bigtable achemine le message vers le cluster Bigtable qui contient la table.
La requête d'écriture est validée dans la table.
Une fois l'opération d'écriture terminée, l'API Bigtable renvoie une réponse de réussite.
Si une opération d'écriture échoue, elle est gérée comme suit :
Le message Pub/Sub est confirmé négativement.
Pub/Sub renvoie le message.
Si le message échoue un nombre suffisant de fois et qu'un file d'attente de lettres mortes est configuré sur l'abonnement, le message est déplacé vers le file d'attente de lettres mortes.
Sémantique de diffusion
Les abonnements Bigtable acceptent la diffusion de type au moins une fois. Si vous avez besoin d'une déduplication exacte des messages, envisagez d'implémenter des processus en aval pour gérer les doublons potentiels dans Bigtable ou utilisez les fonctionnalités de traitement de type "exactement une fois" de Dataflow.
Gérer les échecs de messages
Si un message Pub/Sub ne peut pas être écrit dans Bigtable, il ne peut pas être confirmé. Pour transférer ces messages non distribuables,
configurez un
sujet de lettres mortes sur l'
abonnement Bigtable. Le message Pub/Sub transféré vers le file d'attente de lettres mortes contient un attribut nommé CloudPubSubDeadLetterSourceDeliveryErrorMessage qui indique la raison de l'échec de l'écriture.
Si Pub/Sub ne peut pas écrire de messages dans Bigtable, alors Pub/Sub interrompt la diffusion des messages de manière semblable au comportement de backoff push.
Quotas et limites
Pub/Sub est soumis à des limites de quota concernant le débit des abonnés Bigtable par région. Pour en savoir plus, consultez Quotas et limites de Pub/Sub.
Pour en savoir plus sur les limites de Bigtable, consultez Quotas et limites dans la documentation Bigtable.
Tarifs
Pour en savoir plus sur les tarifs des abonnements Bigtable, consultez la page Tarifs de Pub/Sub.