Résoudre les problèmes de désencapsulation de la charge utile

Cette page explique comment résoudre les problèmes liés au déballage de la charge utile.

Erreurs de code d'état HTTP

Lorsque vous utilisez le déballage de la charge utile, des erreurs de code d'état HTTP courantes peuvent se produire. Vous pouvez surveiller les erreurs à l'aide de la métrique push_request_count.

400 – Requête incorrecte

L'erreur suivante se produit lorsque Pub/Sub ne peut pas traiter la requête en raison d'une mauvaise configuration ou de données manquantes.

400 Bad Request

Cette erreur se produit pour plusieurs raisons. Voici quelques-unes des causes les plus courantes de cette erreur :

  • La charge utile (données de message) ne correspond pas au format de requête attendu spécifié par le point de terminaison HTTP.
  • Les en-têtes nécessaires au traitement de la requête sont manquants.
  • Un point de terminaison HTTP incorrect est configuré pour l'abonnement.

Pour résoudre ce problème, procédez comme suit :

  • Vérifiez le format de votre charge utile (données de message). Assurez-vous qu'il correspond au format de requête attendu spécifié par le point de terminaison HTTP.
  • Vérifiez que la requête contient les en-têtes requis. Si les en-têtes sont manquants, vous devrez peut-être les ajouter dans les attributs du message. Par exemple, vous devrez peut-être inclure Content-Type, mais d'autres peuvent également être nécessaires.
  • Vérifiez que le point de terminaison HTTP configuré pour votre abonnement est valide.
  • Activez la file d'attente de lettres mortes (DLQ) sur votre abonnement push. Cela redirige les messages individuels qui ne peuvent pas être remis. Il est utile d'activer la DLQ si vous voyez un petit nombre d'erreurs 400 que vous souhaitez inspecter.

401 – Non autorisé / 403 – Interdit

L'erreur suivante se produit lorsque Pub/Sub ne peut pas traiter la requête en raison d'identifiants incorrects ou non valides.

401 unauthorized / 403 forbidden

Cette erreur se produit, car l'abonnement push n'est pas authentifié.

Pour résoudre ce problème, procédez comme suit :

  • Activez l'authentification push. L'authentification push est importante si vous effectuez une intégration à Cloud Run ou App Engine.

    Si l'authentification push ne fonctionne pas avec votre solution, vous devrez peut-être ajouter votre propre clé d'autorisation ou clé API dans les attributs du message de publication.

415 – Type de contenu non accepté

L'erreur suivante se produit lorsque Pub/Sub ne peut pas traiter la requête, car le format de la charge utile n'est pas compatible.

415 Unsupported Media Type

Cette erreur se produit pour plusieurs raisons. Voici quelques-unes des causes les plus courantes de cette erreur :

  • L'en-tête de type de contenu requis est manquant dans le point de terminaison.

Pour résoudre ce problème, procédez comme suit :

  • Votre point de terminaison nécessite probablement un en-tête Content-Type. Par défaut, le déballage de la charge utile ne définit pas d'en-tête de type de contenu. Vous pouvez définir un Content-Type en-tête en l'associant en tant qu'attribut de message de publication.

431 – Champs d'en-tête de requête trop longs / 413 – Contenu trop volumineux

L'erreur suivante se produit lorsque Pub/Sub ne peut pas traiter la requête, car le contenu envoyé dans la requête est trop volumineux.

431 request header fields too Large / 413 content too large

Cette erreur se produit si les attributs d'un message Pub/Sub message dépassent la taille limite de l'en-tête d'un serveur.

Pour résoudre ces problèmes, procédez comme suit :

Vérifier si le déballage de la charge utile est activé

  1. Dans la Google Cloud console, accédez à la page Abonnements.

    Ouvrir les abonnements Pub/Sub

  2. Cliquez sur le nom de votre service.

    La page "Service detail" (Informations sur le service) s'affiche.

  3. Dans le tableau de configuration, recherchez les valeurs suivantes : Déballage des données de message et Écrire des métadonnées de message.

    L'état de l'encapsulation de la charge utile (activée ou désactivée) s'affiche dans la ligne de tableau correspondante.

Étape suivante

  • Si vous rencontrez toujours des problèmes avec le déballage de la charge utile, consultez Obtenir de l'aide.