Résoudre les problèmes liés aux abonnements Cloud Storage

Cette page fournit des conseils de dépannage courants pour les abonnements Cloud Storage.

Vérifier l'état d'un abonnement Cloud Storage

Pour vérifier l'état d'un abonnement, procédez comme suit:

  1. Dans la console Google Cloud, accédez à la page des abonnements Pub/Sub.

    Accéder aux abonnements

  2. Vérifiez l'icône État de votre abonnement Cloud Storage.

    • Si l'icône est une coche verte, l'abonnement est opérationnel.

    • Si l'icône est un point d'exclamation rouge, l'abonnement est dans un état d'erreur.

  3. Cliquez sur l'abonnement Cloud Storage.

    La page des détails de l'abonnement s'ouvre.

  4. Recherchez le message d'erreur dans État de l'abonnement.

  5. En fonction du message d'erreur, accédez à la section appropriée de cette page pour résoudre le problème.

Une fois le problème résolu, l'abonnement revient à un état correct.

Impossible de créer ou de mettre à jour un abonnement

Voici quelques-uns des problèmes courants que vous pouvez rencontrer si vous rencontrez des difficultés pour créer ou mettre à jour un abonnement Cloud Storage.

Erreur de bucket introuvable

Si le bucket que vous spécifiez dans le workflow de création ou de mise à jour d'abonnement n'existe pas, le workflow renvoie une erreur bucket not found. Dans la console Google Cloud, le message ressemble à celui-ci:

The Cloud Storage bucket specified cannot be found.

Pour résoudre le problème, créez le bucket ou mettez à jour votre abonnement Cloud Storage pour utiliser un bucket existant.

Erreur de compte de service

Si vous n'avez pas configuré le compte de service Pub/Sub avec les autorisations appropriées, le workflow de création ou de mise à jour d'abonnement renvoie une erreur. Dans la console Google Cloud, le message ressemble à celui-ci:

Cloud Pub/Sub did not have the necessary permissions configured to access
the provided bucket my-bucket (or the bucket may not exist).
Please verify that the service account
service-112233445566@gcp-sa-pubsub.iam.gserviceaccount.com
was granted the Storage Legacy Bucket Reader and Storage Object Creator
roles for the provided bucket.

Pour résoudre le problème, vérifiez que le compte de service dispose des autorisations appropriées.

L'état de l'abonnement affiche un point d'exclamation rouge

Si vous modifiez le bucket après avoir créé un abonnement, cela peut affecter la façon dont Pub/Sub écrit des messages dans le bucket. Si un changement entraîne un problème, le champ d'état de l'abonnement est défini sur un état d'erreur.

Sur la page des détails de l'abonnement, vérifiez l'état du champ Subscription state. Le champ Subscription state fournit une erreur plus spécifique, qui peut être l'une des suivantes:

  • Bucket introuvable: le bucket a été supprimé. Créez à nouveau le bucket ou mettez à jour l'abonnement pour utiliser un bucket existant.

  • Autorisation de bucket refusée: le compte de service Pub/Sub n'est plus autorisé à écrire dans le bucket. Vérifiez si le compte de service dispose des autorisations appropriées.

Lorsqu'un abonnement Pub/Sub est dans l'état d'erreur, les messages ne sont pas écrits dans le bucket et restent dans la file d'attente des abonnements. Notez que les messages ne sont pas distribués à un sujet de lettres mortes associé, le cas échéant. Les messages non confirmés sont conservés pendant la période définie dans message_retention_duration (sept jours par défaut).

L'abonnement traite les messages très lentement

Certains paramètres d'abonnement peuvent ralentir le traitement des messages.

Par exemple, si vous activez l'ordre des messages sur votre abonnement Cloud Storage, il est possible que les messages soient écrits dans Cloud Storage, mais qu'ils ne soient pas finalisés pour retarder les messages suivants avec la même clé d'ordre. Pour de meilleures performances, envisagez d'utiliser un spectre plus large de clés de tri lors de la publication de messages ou de désactiver le tri des messages si votre cas d'utilisation ne l'exige pas.

Définir une taille de fichier maximale trop faible pour votre abonnement Cloud Storage peut également avoir un impact négatif sur les performances. Une taille de fichier maximale trop faible peut entraîner la création de nombreux objets Cloud Storage par Pub/Sub, avec seulement un petit nombre de messages dans chaque objet. Les coûts supplémentaires liés à la création et à la finalisation d'objets ralentissent le traitement des messages. Pour de meilleures performances, envisagez d'augmenter la taille maximale des fichiers pour votre abonnement Cloud Storage ou de supprimer la restriction de taille des fichiers.

Limites de quota

Il est également possible que votre projet ait atteint son quota de débit de transfert Pub/Sub (pubsub.googleapis.com/regionalpushsubscriber). Pour vérifier si vous rencontrez des limites de quota, examinez la métrique des requêtes push (subscription/push_request_count) pour détecter d'éventuelles erreurs resource_exhausted.

Examinez les quotas de votre projet et vérifiez que vous disposez d'un quota suffisant. Accédez à IAM et administration > Quotas dans le projet contenant votre abonnement Pub/Sub. Recherchez le quota pubsub.googleapis.com/regionalpushsubscriber. Si vous atteignez la limite de quota, vous pouvez demander un quota plus élevé.

L'abonnement crée plus de fichiers que prévu

Pour améliorer la scalabilité, votre abonnement Cloud Storage peut être géré par plusieurs backends Pub/Sub. Chaque backend écrit dans un fichier Cloud Storage distinct. Vous pouvez donc constater que votre Cloud Storage crée plus de fichiers que prévu, en particulier pour les charges de travail à faible débit.

Ce comportement est normal. Si vous souhaitez réduire le nombre de fichiers créés par l'abonnement, vous pouvez envisager d'augmenter les paramètres de traitement par lot de votre abonnement pour permettre des fichiers plus volumineux. Vous pouvez également post-traiter les fichiers en les composant en un plus petit nombre de fichiers plus volumineux.

Étape suivante

  • Si le problème persiste avec votre abonnement Cloud Storage, consultez Obtenir de l'aide.