Ce document fournit des conseils de dépannage pour les abonnements Bigtable.
Impossible de créer ou de modifier l'abonnement
Lorsque vous essayez de créer ou de mettre à jour un abonnement Bigtable, vous pouvez rencontrer les erreurs suivantes.
Erreur de permission refusée
Si l'instance ou la table Bigtable n'existent pas, ou si le compte de service configuré n'y a pas accès, vous recevrez un message d'erreur "Autorisation refusée".
Pour résoudre le problème :
Vérifiez que l'instance et la table existent. Pour en savoir plus, consultez les documents suivants :
Si elles n'existent pas, créez-les et réessayez de créer votre abonnement. Pour obtenir un exemple de cette étape, consultez Écrire des données depuis Pub/Sub dans Bigtable.
Si vous continuez à recevoir cette erreur, vérifiez que le compte de service dispose des autorisations appropriées. Pour en savoir plus, consultez Attribuer des rôles IAM au compte de service.
Familles de colonnes manquantes
Si la table Bigtable ne comporte pas les familles de colonnes appropriées, vous recevrez une erreur INCOMPATIBLE_SCHEMA.
Cette erreur peut être due aux problèmes suivants :
- La table ne comporte pas de famille de colonnes
data. - L'écriture des métadonnées est activée et la table ne comporte pas de famille de colonnes
pubsub_metadata.
Pour résoudre le problème, créez les familles de colonnes nécessaires. Pour en savoir plus, consultez Ajouter des familles de colonnes.
L'abonnement n'écrit pas de données
Si un abonnement Bigtable n'écrit pas de données, vérifiez son état en exécutant la commande gcloud beta pubsub subscriptions describe :
gcloud beta pubsub subscriptions describe SUBSCRIPTION_ID
Remplacez SUBSCRIPTION_ID par le nom de l'abonnement.
Le champ bigtableConfig.state contient l'état. Si l'abonnement est prêt à écrire des messages dans Bigtable, l'état est ACTIVE.
Sinon, une erreur de configuration empêche l'abonnement d'écrire des messages dans la table Bigtable.
Voici quelques exemples de problèmes de configuration :
Le profil d'application n'est pas configuré pour le routage à cluster unique.
Erreurs d'autorisation. Consultez Erreur "Autorisation refusée".
Il manque une famille de colonnes obligatoire dans la table Bigtable. Consultez Familles de colonnes manquantes.
L'abonnement ne peut pas écrire dans la table Bigtable en raison d'une règle de stockage des messages. Cette erreur se produit si
enforceInTransitest défini surTrueet que l'emplacement de la table ne se trouve pas dans une région autorisée.
Lorsqu'un abonnement est dans un état d'erreur, il n'écrit pas de messages dans la table Bigtable. Les messages restent dans le backlog de l'abonnement. Ils ne sont pas remis au sujet de lettre morte, si un sujet est configuré. Les messages non confirmés sont conservés pendant la durée de conservation des messages de l'abonnement.
Une fois le problème résolu, l'abonnement finit par revenir à un état normal.
Augmentation du backlog
Si l'état de votre abonnement est ACTIVE, mais que le nombre de messages en attente dans l'abonnement augmente ou que des messages sont envoyés à la rubrique de lettres mortes de l'abonnement, recherchez les problèmes suivants.
Le débit de publication dépasse la capacité
Si le taux de publication de messages dans votre sujet dépasse la capacité de votre cluster Bigtable, des files d'attente peuvent s'accumuler dans l'abonnement.
Le tri des messages s'accompagne de compromis en termes de performances. L'utilisation d'abonnements Bigtable avec tri peut entraîner une diminution du débit ou une augmentation de la latence de distribution des messages. Si vous constatez des problèmes de performances lorsque le tri est activé, assurez-vous d'utiliser des clés de tri suffisamment précises pour éviter les clés "chaudes", ou modifiez votre application pour qu'elle n'ait pas besoin de tri. Pour en savoir plus, consultez Éléments à prendre en compte lors de l'utilisation de la messagerie ordonnée.
Surveillez les performances de votre cluster et envisagez d'augmenter sa taille. Pour en savoir plus, consultez les articles suivants de la documentation Bigtable :
Trafic interrégional
Si votre application publie des messages dans votre sujet depuis une région différente de celle du cluster Bigtable, la publication de chaque message prend plus de temps que si elle était effectuée depuis la même région. La durée de publication plus longue réduit la fréquence à laquelle votre abonnement écrit des messages dans Bigtable, ce qui diminue le débit total.
Pour réduire le temps nécessaire à la publication des messages, vous devez les publier dans la même région que votre cluster Bigtable.
Étapes suivantes
- Si vous rencontrez toujours des problèmes avec votre abonnement Bigtable, consultez la section Obtenir de l'aide.