Ce document fournit des conseils de dépannage pour les abonnements Bigtable.
Impossible de créer ou de mettre à jour un 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'existe pas, ou si le compte de service configuré n'y a pas accès, vous recevez une erreur d'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, puis réessayez de créer votre abonnement. Pour obtenir un exemple de cette étape, consultez Écrire des données de Pub/Sub dans Bigtable.
Si cette erreur persiste, vérifiez si 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 recevez une erreur INCOMPATIBLE_BIGTABLE_SCHEMA.
Cette erreur peut être due aux problèmes suivants :
- La table ne comporte pas de famille de colonnes
data. - L'écriture de 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
gcloud beta pubsub subscriptions describe
commande :
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.
Les problèmes de configuration peuvent inclure les éléments suivants :
Le profil d'application n'est pas configuré pour le routage à cluster unique.
Erreurs d'autorisation. Voir Erreur de permission refusée.
La table Bigtable ne comporte pas de famille de colonnes requise. Voir 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 en é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 à la file d'attente de lettres mortes, si une file d'attente est configurée. 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 revient à un état normal.
Backlog croissant
Si l'état de votre abonnement est ACTIVE, mais que le backlog de messages de l'abonnement augmente ou que des messages sont envoyés au sujet des lettres mortes de l'abonnement, recherchez les problèmes suivants.
Le débit de publication dépasse la capacité
Si le débit de publication de messages dans votre sujet dépasse la capacité de votre cluster Bigtable, des backlogs peuvent s'accumuler dans l'abonnement.
Le tri des messages présente des compromis en termes de performances. L'utilisation d'abonnements Bigtable avec le tri peut entraîner une baisse du débit ou une latence de remise des messages plus élevée. Si vous constatez des problèmes de performances lorsque le tri est activé, veillez à utiliser des clés de tri suffisamment granulaires pour éviter les clés actives ou modifiez votre application pour qu'elle ne nécessite pas de tri. Pour en savoir plus, consultez Points à 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 sujets suivants de la documentation Bigtable :
Trafic interrégional
Si votre application publie dans votre sujet à partir d'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 à partir de la même région. Le temps de publication plus long réduit le débit auquel votre abonnement écrit des messages dans Bigtable, ce qui réduit 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.
Étape suivante
- Si vous rencontrez toujours des problèmes avec votre abonnement Bigtable, consultez Obtenir de l'aide.