Les abonnés push sont un type d'abonné Pub/Sub qui envoie des messages depuis Pub/Sub vers un point de terminaison HTTPS spécifié par l'utilisateur. L'utilisateur accuse réception d'un message transmis en renvoyant une réponse HTTP 200 à la requête du serveur push. Ce document fournit des conseils de dépannage courants pour les abonnements push Pub/Sub. Pour en savoir plus sur les abonnements push, consultez le Guide pour les abonnés push.
Pour surveiller efficacement votre abonnement Pub/Sub, nous vous recommandons de commencer par examiner le score d'état de latence de distribution (subscription/delivery_latency_health_score
) afin d'identifier les facteurs pouvant contribuer à une latence inattendue.
Points de terminaison push lents ou en échec
Si le point de terminaison renvoie un code de réponse d'erreur, la distribution du message est considérée comme ayant échoué et fait l'objet d'une nouvelle tentative ultérieurement. Cela peut entraîner la réception de messages en double par le point de terminaison.
Vous pouvez utiliser plusieurs métriques pour surveiller les abonnements push. Dans Cloud Metrics, la métrique subscription/push_request_count
classe les réponses du point de terminaison push par response_code
et response_class
. Les réponses sont utiles pour identifier d'éventuels dysfonctionnements des points de terminaison. Si cette métrique contient des données dont l'response_class
est différent de ack
, cela signifie que le point de terminaison push renvoie des erreurs à Pub/Sub. Voici quelques-unes des erreurs les plus courantes:
Une classe de réponse
deadline_exceeded
indique que le point de terminaison push n'a pas répondu dans le délai d'accusé de réception requis. La métriquesubscription/push_request_latencies
permet de suivre la latence des notifications push.Une classe de réponse
invalid
indique que le point de terminaison a renvoyé une réponse que Pub/Sub n'a pas pu comprendre ni traiter correctement.Une classe de réponse
remote_server_4xx
indique généralement des problèmes d'authentification ou d'autorisation. Il s'agit de codes de réponse HTTP renvoyés par le point de terminaison. Vous devez donc examiner les scénarios dans lesquels ce code de réponse est renvoyé. Si l'authentification est activée, vérifiez que votre compte dispose des autorisations appropriées sur le terminal. En savoir plus sur le fonctionnement de l'authentification dans les abonnements push.Une classe de réponse
remote_server_5xx
indique un problème côté serveur du côté du point de terminaison. Le point de terminaison n'est pas en mesure de traiter la requête. Cela peut être dû à une maintenance ou une panne en cours. Vérifiez l'état du serveur hébergeant le point de terminaison.Une classe de réponse
unreachable
indique que le serveur de point de terminaison est inaccessible du tout. Vérifiez que l'URL du point de terminaison ne contient pas de fautes de frappe.
Découvrez les codes d'erreur les plus courants de l'API Pub/Sub.
Restrictions concernant les abonnements push dans un périmètre VPC-SC
Si la protection VPC Service Controls (VPC-SC) est activée dans un projet, la création d'abonnements push est soumise à certaines limites. Les abonnements push existants continuent de fonctionner, mais l'erreur suivante s'affiche lorsque vous créez un abonnement push: Request is prohibited by organization's policy
. Plus précisément, les nouveaux abonnements push ne peuvent être créés que si le point de terminaison push est un service Cloud Run utilisant l'URL run.app
par défaut. Pour en savoir plus et connaître les limites spécifiques, consultez la documentation Pub/Sub et la documentation de VPC-SC.