Dépannage d'ordre général

Découvrez les étapes de dépannage qui pourraient vous être utiles si vous exécutez des problèmes liés à l'utilisation de Pub/Sub.

Impossible de créer un sujet

Vérifiez que vous disposez autorisations. Pour créer un sujet Pub/Sub, vous avez besoin Identity and Access Management de l'éditeur Pub/Sub (roles/pubsub.editor) ce rôle sur le projet. Si vous ne disposez pas de ce rôle, contactez votre administrateur. Pour plus d'informations de dépannage concernant des sujets, Consultez la section Sujets de dépannage. et Résoudre les problèmes liés à l'importation.

Impossible de créer un abonnement

Assurez-vous d'avoir effectué les opérations suivantes :

  • Vérifiez que vous disposez des autorisations nécessaires. Pour créer un abonnement Pub/Sub, vous devez disposer du rôle IAM Éditeur Pub/Sub (roles/pubsub.editor) sur le projet. Si vous ne disposez pas de ce rôle, contactez votre administrateur.

  • Vous avez indiqué un nom pour l'abonnement.

  • Vous avez spécifié le nom d'un sujet existant auquel vous souhaitez associer l'abonnement.

  • Si vous créez un abonnement push, vous devez spécifier https:// à l'étape inférieure. (pas http:// ni HTTPS://) comme protocole pour l'URL de réception. dans le champ pushEndpoint.

Pour plus d'informations de dépannage sur les abonnements, consultez la section Résoudre les problèmes liés aux abonnements pull. Résoudre les problèmes liés aux abonnements push Résoudre les problèmes liés aux abonnements BigQuery et Résoudre les problèmes liés aux abonnements Cloud Storage.

403 (Forbidden) erreur

Si vous rencontrez cette erreur, procédez comme suit :

  • Assurez-vous d'avoir activé l'API Pub/Sub dans la console Google Cloud.
  • Assurez-vous que le compte principal à l'origine de la demande dispose du rôle autorisations requises sur les aux ressources de l'API Pub/Sub, surtout si vous utilisez l'API Pub/Sub pour la communication entre projets.

  • Si vous utilisez Dataflow, assurez-vous que les deux {PROJECT_NUMBER}@cloudservices.gserviceaccount.com et le compte de service Compute Engine {PROJECT_NUMBER}-compute@developer.gserviceaccount.com disposer des autorisations requises sur le compte ressource d'API Pub/Sub. Pour en savoir plus, consultez Sécurité et autorisations de Dataflow

  • Si vous utilisez App Engine, consultez la page des autorisations de votre projet pour savoir si un compte de service App Engine est répertorié en tant qu'éditeur Pub/Sub. Si ce n'est pas le cas, ajoutez votre compte de service App Engine en tant qu'éditeur Pub/Sub. Normalement, le compte de service App Engine est au format suivant : <project-id>@appspot.gserviceaccount.com.

Utiliser des opérations d'administration excessives

Si vous constatez que vous utilisez une trop grande partie de votre quota pour des opérations d'administration, vous devrez peut-être refactoriser votre code. À titre d'illustration, considérons ce pseudo-code. Dans cet exemple, une opération administrative (GET) est utilisé pour vérifier la présence d'un abonnement de consommer ses ressources. GET et CREATE sont des opérations d'administration :

if !GetSubscription my-sub {
  CreateSubscription my-sub
}
Consume from subscription my-sub

Un modèle plus efficace consiste à essayer de consommer les messages de l'abonnement (en supposant que vous puissiez être sûr du nom de l'abonnement). Dans cette approche optimiste, vous n'accédez à l'abonnement ou ne le créez qu'en cas d'erreur. Considérez l'exemple suivant :

try {
  Consume from subscription my-sub
} catch NotFoundError {
  CreateSubscription my-sub
  Consume from subscription my-sub
}