Restez organisé à l'aide des collections
Enregistrez et classez les contenus selon vos préférences.
Les abonnés push sont un type d'abonnés Pub/Sub dans lesquels les messages sont envoyés de Pub/Sub à un point de terminaison HTTPS spécifié par l'utilisateur. L'utilisateur confirme un message envoyé en mode push en renvoyant une réponse HTTP 200 à la requête du serveur de diffusion. 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 – Mode push.
Points de terminaison de transfert lents ou défaillants
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 est réessayée plus tard. 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. La métrique subscription/push_request_count dans Cloud Metrics catégorise les réponses du point de terminaison push par response_code et response_class. Les réponses sont utiles pour identifier les dysfonctionnements potentiels des points de terminaison. Si cette métrique contient des données avec un response_class autre que 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 de transfert n'a pas répondu dans le délai d'acquittement (ACK) requis. La métrique subscription/push_request_latencies permet de suivre la latence d'acquittement 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 ou 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. Examinez donc les scénarios dans lesquels ce code de réponse est renvoyé. Si l'authentification est activée, vérifiez que votre compte dispose de l'autorisation appropriée sur le point de terminaison. Découvrez comment fonctionne l'authentification dans les abonnements push.
Une classe de réponse remote_server_5xx indique un problème côté serveur au niveau du point de terminaison. Le point de terminaison ne peut pas traiter la requête. Cela peut être dû à une maintenance ou une panne en cours. Vérifiez l'état du serveur qui héberge le point de terminaison.
Une classe de réponse unreachable indique que le serveur de point de terminaison est totalement inaccessible. 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 limitée. Les abonnements push existants continuent de fonctionner, mais lorsque vous créez un abonnement push, l'erreur Request is prohibited by organization's policy s'affiche. Plus précisément, vous ne pouvez créer de nouveaux abonnements push 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 VPC-SC.
Sauf indication contraire, le contenu de cette page est régi par une licence Creative Commons Attribution 4.0, et les échantillons de code sont régis par une licence Apache 2.0. Pour en savoir plus, consultez les Règles du site Google Developers. Java est une marque déposée d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2025/09/04 (UTC).
[[["Facile à comprendre","easyToUnderstand","thumb-up"],["J'ai pu résoudre mon problème","solvedMyProblem","thumb-up"],["Autre","otherUp","thumb-up"]],[["Difficile à comprendre","hardToUnderstand","thumb-down"],["Informations ou exemple de code incorrects","incorrectInformationOrSampleCode","thumb-down"],["Il n'y a pas l'information/les exemples dont j'ai besoin","missingTheInformationSamplesINeed","thumb-down"],["Problème de traduction","translationIssue","thumb-down"],["Autre","otherDown","thumb-down"]],["Dernière mise à jour le 2025/09/04 (UTC)."],[],[],null,["# Troubleshooting a push subscription\n\nPush subscribers are a type of Pub/Sub subscriber where messages are sent from Pub/Sub to a user-specified HTTPS endpoint. The user acknowledges a pushed message by returning an HTTP 200 response to the push server's request. This document provides some common troubleshooting tips for Pub/Sub push subscriptions. Read more about push subscriptions in the [Push subscriber guide](/pubsub/docs/push).\n\nTo effectively monitor your Pub/Sub subscription, it is recommended to first look at the [delivery latency health score](/pubsub/docs/monitoring#delivery_latency_health) ([`subscription/delivery_latency_health_score`](/monitoring/api/metrics_gcp_p_z#pubsub/subscription/delivery_latency_health_score)) to check which factors could be contributing to an unexpected latency.\n\nFailing or slow push endpoints\n------------------------------\n\nIf the endpoint returns an error response code, then the message delivery is considered to have failed and is retried later. This can potentially lead to the endpoint receiving duplicate messages.\n\nThere are multiple metrics that you can use to [monitor push subscriptions](/pubsub/docs/monitoring#monitoring_push_subscriptions). The [`subscription/push_request_count`](/monitoring/api/metrics_gcp_p_z#pubsub/subscription/push_request_count) metric in Cloud Metrics categorizes responses from the push endpoint by `response_code` and `response_class`. The responses are useful for the identification of potential endpoint malfunctions. If this metric has data with a `response_class` other than `ack`, this indicates that the push endpoint is returning errors to Pub/Sub. Some of the most common errors include:\n\n- A `deadline_exceeded` response class indicates that the push endpoint didn't respond within the required acknowledgment (ack) deadline. The [`subscription/push_request_latencies`](/monitoring/api/metrics_gcp_p_z#pubsub/subscription/push_request_latencies) metric helps to track push ack latency.\n\n- An `invalid` response class indicates that the endpoint sent back a response that Pub/Sub couldn't understand or process correctly.\n\n- A `remote_server_4xx` response class usually indicates authentication or permission issues. These are HTTP response codes returned by the endpoint, so look at the scenarios under which this response code is returned. If authentication is enabled, confirm your account has the right permission on the endpoint. Learn more about how [authentication](/pubsub/docs/create-push-subscription#authentication) works in push subscriptions.\n\n- A `remote_server_5xx` response class indicates a server-side problem on the endpoint side. The endpoint is unable to process the request. This might be due to an ongoing maintenance or outage. Review the status of the server hosting the endpoint.\n\n- An `unreachable` response class indicates that the endpoint server cannot be reached at all. Verify the endpoint URL for typos.\n\nLearn more about the most common [error codes](/pubsub/docs/reference/error-codes) of the Pub/Sub API.\n\nRestrictions on push subscriptions inside a VPC-SC perimeter\n------------------------------------------------------------\n\nIf VPC Service Controls (VPC-SC) protection is enabled in a project, there are limitations on creating push subscriptions. Existing push subscriptions continue to work, but when you create a new push subscription, you see the error: `Request is prohibited by organization's policy`. Specifically, new push subscriptions can only be created if the push endpoint is a Cloud Run service using the default `run.app` URL. For more details and specific limitations, see [Pub/Sub documentation](/pubsub/docs/create-push-subscription#vpc-service-control) and [VPC-SC documentation](/vpc-service-controls/docs/supported-products#table_pubsub)."]]