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

Cette page explique comment résoudre les problèmes de désencapsulation de la charge utile.

Erreurs de code d'état HTTP

Lors de la désencapsulation de la charge utile, des erreurs courantes de code d'état HTTP peuvent se produire. Vous pouvez surveiller les erreurs avec 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 causes les plus courantes de l'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.
  • Il manque les en-têtes nécessaires au traitement de la requête.
  • Un point de terminaison HTTP incorrect a été 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'elle correspond au le 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 : Content-Type, mais d'autres peuvent aussi ê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). de votre abonnement push. Cela redirige les messages individuels qui ne peuvent pas être livrés. Il peut être utile d'activer la DLQ si vous constatez 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. Utiliser le mode Push l'authentification 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 pour ajouter votre propre clé d'autorisation ou API dans les attributs de publication du message.

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 pris en charge.

415 Unsupported Media Type

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

  • Il manque l'en-tête de type média requis au point de terminaison.

Pour résoudre ce problème, essayez la solution suivante:

  • Votre point de terminaison nécessite probablement un en-tête Content-Type. Par défaut, la charge utile désencapsulation, ne définit pas d'en-tête de type de support. Toi vous pouvez définir un en-tête Content-Type en le joignant en tant qu'attribut de message de publication.

431 champs d'en-tête de requête trop volumineux / Contenu 413 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 Pub/Sub message dépassent la taille limite d'en-tête d'un Google Cloud.

Pour résoudre ces problèmes, essayez les solutions suivantes:

  • Désactivez l'option Écrire les métadonnées.
  • Activez la file d'attente de lettres mortes (DLQ). de votre abonnement push. Cela redirige les messages individuels qui ne peuvent pas être livrés. Ensuite, votre abonnement continue de fonctionner, mais les messages contenant des erreurs sont redirigés vers un sujet distinct pour une analyse plus approfondie.

Vérifier si la désencapsulation de la charge utile est activée

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

    Abonnements Pub/Sub ouverts

  2. Cliquez sur le nom de votre service.

    La page des détails du service s'ouvre.

  3. Dans le tableau de configuration, recherchez les valeurs suivantes: Données des messages unwrapping et Write message metadata (Écrire les métadonnées des messages).

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

Étape suivante

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