Les abonnés peuvent ne pas être en mesure de gérer les messages pour diverses raisons. Par exemple, il peut y avoir des problèmes temporaires lors de la récupération des données nécessaires au traitement d'un message. Il peut également s'agir d'un message au format inattendu par l'abonné.
Cette page explique comment gérer ces échecs de traitement à l'aide d'une stratégie de nouvelle tentative d'abonnement ou en transférant les messages non distribués à un file d'attente de lettres mortes (également appelé file d'attente de lettres mortes).
Notez que ces fonctionnalités ne sont pas compatibles avec Dataflow. Pour plus d'informations, consultez la section Fonctionnalités Pub/Sub non compatibles de la documentation Dataflow.
Stratégie de nouvelle tentative d'abonnement
Si Pub/Sub tente d'envoyer un message, mais que l'abonné ne peut pas en accuser réception, Pub/Sub tente automatiquement de renvoyer le message. Cette tentative de nouvelle diffusion est appelée "stratégie de nouvelle tentative d'abonnement". Il ne s'agit pas d'une fonctionnalité que vous pouvez activer ou désactiver. Toutefois, vous pouvez choisir le type de stratégie de nouvelle tentative que vous souhaitez utiliser.
Lorsque vous créez et configurez votre abonnement pour la première fois, vous pouvez choisir d'utiliser l'une des stratégies de nouvelle tentative suivantes : nouvelle diffusion immédiate ou intervalle exponentiel entre les tentatives. Par défaut, les abonnements utilisent la nouvelle diffusion immédiate.
Nouvelle livraison immédiate
Par défaut, Pub/Sub tente de renvoyer le message immédiatement (et potentiellement au même client abonné). Toutefois, si les conditions empêchant d'accuser réception du message n'ont pas changé, la redistribution immédiate peut entraîner des problèmes. Dans ce cas, il est possible que Pub/Sub renvoie plusieurs messages qui ne peuvent pas être confirmés.
Pour résoudre les problèmes de nouvelle diffusion immédiate, Pub/Sub vous permet de configurer une stratégie d'intervalle exponentiel entre les tentatives.
Intervalle exponentiel entre les tentatives
L'intervalle exponentiel entre les tentatives vous permet d'ajouter des délais progressivement plus longs entre les nouvelles tentatives. Après le premier échec de distribution, Pub/Sub attend un intervalle minimal entre les tentatives avant de réessayer. Pour chaque échec de message consécutif, du temps est ajouté au délai, jusqu'à un délai maximal (0 et 600 secondes).
Les intervalles de retard maximal et minimal ne sont pas fixes et doivent être configurés en fonction de facteurs locaux de votre application.
Notez les points suivants concernant l'intervalle exponentiel entre les tentatives:
- L'intervalle exponentiel entre les tentatives se déclenche sur les actions suivantes :
- Lorsqu'un accusé de réception négatif est reçu.
- Lorsque le délai de confirmation d'un message expire.
- Le délai avant expiration exponentiel n'est appliqué qu'à chaque message, et non à tous les messages d'un abonnement (global).
- Lorsque vous utilisez un intervalle exponentiel entre les tentatives, Pub/Sub continue de diffuser d'autres messages, même si les messages précédents ont reçu des accusés de réception négatifs (sauf si vous utilisez la diffusion de messages ordonnée).
Utilisez la stratégie de nouvelle tentative pour retarder la distribution et le traitement d'un sous-ensemble de messages afin de tenir compte de l'impossibilité éphémère de traiter certains messages lors de la distribution. La fonctionnalité est appliquée dans la mesure du possible, et la règle de nouvelle tentative est évaluée séparément pour chaque message.
Nous vous déconseillons d'utiliser cette fonctionnalité pour retarder intentionnellement la diffusion des messages. Si vous confirmez négativement (nack) un grand nombre de messages sur un abonnement configuré avec une stratégie de nouvelle tentative, il est possible que certains de ces messages soient distribués avec moins ou pas de délai d'attente. Pub/Sub peut également ralentir la distribution de tous les messages si vous refusez un grand nombre de messages.
Si vous devez planifier des diffusions, envisagez d'utiliser Cloud Tasks.
Configurer un intervalle exponentiel entre les tentatives
Console
Lorsque vous créez un abonnement, vous pouvez configurer une stratégie d'intervalle exponentiel entre les tentatives en procédant comme suit :
Dans la console Google Cloud, accédez à la page Abonnements Pub/Sub.
Cliquez sur Créer un abonnement.
Dans le champ ID d'abonnement, saisissez un nom.
Pour savoir comment nommer un abonnement, consultez la section Consignes de dénomination d'un sujet ou d'un abonnement.
Choisissez ou créez un sujet dans le menu déroulant.
L'abonnement reçoit les messages du sujet.
Sélectionnez un type de diffusion.
Sous Stratégie de nouvelle tentative, sélectionnez Réessayer après l'intervalle exponentiel entre les tentatives.
Saisissez un intervalle minimal entre les tentatives et un intervalle maximal entre les tentatives compris entre 0 et 600 secondes.
Les valeurs par défaut sont de 10 secondes pour l'intervalle minimal et de 600 secondes pour l'intervalle maximal.
Cliquez sur Créer.
gcloud
Pour créer un abonnement avec une stratégie d'intervalle exponentiel entre les tentatives, exécutez la commande gcloud pubsub create
avec les options indiquées ci-dessous :
gcloud pubsub subscriptions create SUBSCRIPTION_ID \ --topic=TOPIC_ID \ --min-retry-delay=MIN_RETRY_DELAY \ --max-retry-delay=MAX_RETRY_DELAY
File d'attente de lettres mortes
Si le service Pub/Sub tente de distribuer un message, mais que l'abonné ne peut pas en accuser réception, Pub/Sub peut transférer le message non distribuable vers un sujet de lettres mortes.
Fonctionnement des sujets de lettres mortes avec Pub/Sub
Un file d'attente de lettres mortes est une propriété d'abonnement, et non une propriété de sujet. Cela signifie que vous devez définir un file d'attente de lettres mortes lorsque vous créez un abonnement, et non un sujet.
Si vous créez un file d'attente de lettres mortes, vous pouvez définir les propriétés d'abonnement suivantes:
Nombre maximal de tentatives de distribution: valeur numérique qui indique le nombre de tentatives de distribution effectuées par Pub/Sub pour un message spécifique. Si le client de l'abonné ne peut pas confirmer le message dans le nombre de tentatives de distribution configuré, le message est transféré vers un file d'attente de lettres mortes.
- Valeur par défaut = 5
- Valeur maximale = 100
- Valeur minimale = 5
Projet avec le sujet de lettres mortes : si le sujet de lettres mortes se trouve dans un projet différent de l'abonnement, vous devez spécifier le projet avec le sujet de lettres mortes. Définissez le file d'attente de lettres mortes sur un sujet différent du sujet auquel l'abonnement est associé.
Calcul du nombre maximal de tentatives d'envoi
Pub/Sub ne comptabilise les tentatives d'envoi que lorsqu'un file d'attente de lettres mortes est configuré correctement et inclut les autorisations IAM appropriées.
Le nombre maximal de tentatives d'envoi est approximatif, car Pub/Sub transfère les messages non distribuables de la façon la plus optimale possible.
Le nombre de tentatives de distribution d'un message peut également être réinitialisé à zéro, en particulier pour un abonnement pull avec des abonnés inactifs. Par conséquent, les messages peuvent être distribués au client abonné plus de fois que le nombre maximal de tentatives de distribution configuré.
Configurer une file d'attente de lettres mortes
Pour configurer un file d'attente de lettres mortes, le sujet source doit d'abord disposer d'un abonnement. Vous pouvez spécifier un file d'attente de lettres mortes lorsque vous créez l'abonnement ou mettre à jour un abonnement existant pour qu'il dispose d'un file d'attente de lettres mortes.
Voici le workflow à suivre pour activer la mise en lettre morte sur un abonnement.
Créez la file d'attente de lettres mortes. Ce sujet est distinct du sujet source.
Définissez le file d'attente de lettres mortes sur l'abonnement pour le sujet source.
Pour éviter de perdre des messages du file d'attente de lettres mortes, associez-lui au moins un autre abonnement. L'abonnement secondaire reçoit les messages du file d'attente de lettres mortes.
Attribuez les rôles d'éditeur et d'abonné au compte de service Pub/Sub. Pour en savoir plus, consultez la section Accorder des autorisations de transfert.
Définir un file d'attente de lettres mortes sur un nouvel abonnement
Vous pouvez créer un abonnement et définir un file d'attente de lettres mortes à l'aide de la console Google Cloud, de Google Cloud CLI, des bibliothèques clientes ou de l'API Pub/Sub.
Console
Pour créer un abonnement et définir un sujet de lettres mortes, procédez comme suit :
Dans la console Google Cloud, accédez à la page Abonnements.
Cliquez sur Créer un abonnement.
Saisissez l'ID de l'abonnement.
Choisissez ou créez un sujet dans le menu déroulant.
L'abonnement reçoit les messages du sujet.
Dans la section Sujet de lettres mortes, sélectionnez Activer la gestion des lettres mortes.
Choisissez ou créez un sujet des lettres mortes dans le menu déroulant.
Si le file d'attente de lettres mortes choisi ne comporte pas d'abonnement, le système vous invite à en créer un.
Dans le champ Nombre maximal de tentatives de distribution, spécifiez un nombre entier compris entre 5 et 100.
Cliquez sur Créer.
Le panneau de détails affiche une liste d'actions possibles. Si l'un des éléments affiche une icône d'erreur
, cliquez sur l'élément d'action pour résoudre le problème.
gcloud
Pour créer un abonnement et définir un sujet de lettres mortes, utilisez la commande gcloud pubsub subscriptions create
:
gcloud pubsub subscriptions create subscription-id \ --topic=topic-id \ --dead-letter-topic=dead-letter-topic-name \ [--max-delivery-attempts=max-delivery-attempts] \ [--dead-letter-topic-project=dead-letter-topic-project]
C++
Avant d'essayer cet exemple, suivez les instructions d'installation dans le langage C++ qui se trouvent sur la page Démarrage rapide : utiliser des bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence sur l'API Pub/Sub pour C++.
C#
Avant d'essayer cet exemple, suivez les instructions d'installation dans le langage C# qui se trouvent sur la page Démarrage rapide : utiliser des bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence sur l'API Pub/Sub pour C#.
Go
Avant d'essayer cet exemple, suivez les instructions d'installation dans le langage Go qui se trouvent sur la page Démarrage rapide : utiliser des bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence sur l'API Pub/Sub pour Go.
Java
Avant d'essayer cet exemple, suivez les instructions d'installation dans le langage Java qui se trouvent sur la page Démarrage rapide : utiliser des bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence sur l'API Pub/Sub pour Java.
Node.js
Avant d'essayer cet exemple, suivez les instructions d'installation dans le langage Node.js qui se trouvent sur la page Démarrage rapide : utiliser des bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence sur l'API Pub/Sub pour Node.js.
Node.js
Avant d'essayer cet exemple, suivez les instructions d'installation dans le langage Node.js qui se trouvent sur la page Démarrage rapide : utiliser des bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence sur l'API Pub/Sub pour Node.js.
PHP
Avant d'essayer cet exemple, suivez les instructions d'installation dans le langage PHP qui se trouvent sur la page Démarrage rapide : utiliser des bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence sur l'API Pub/Sub pour PHP.
Python
Avant d'essayer cet exemple, suivez les instructions d'installation dans le langage Python qui se trouvent sur la page Démarrage rapide : utiliser des bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence sur l'API Pub/Sub pour Python.
Ruby
Avant d'essayer cet exemple, suivez les instructions d'installation dans le langage Ruby qui se trouvent sur la page Démarrage rapide : utiliser des bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence sur l'API Pub/Sub pour Ruby.
Ruby
Avant d'essayer cet exemple, suivez les instructions de configuration pour Ruby du guide de démarrage rapide de Pub/Sub : utiliser les bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence sur l'API Pub/Sub Ruby.
Pour vous authentifier auprès de Pub/Sub, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Définir un file d'attente de lettres mortes pour un abonnement existant
Vous pouvez mettre à jour un abonnement et définir un file d'attente de lettres mortes à l'aide de la console Google Cloud, de Google Cloud CLI, des bibliothèques clientes ou de l'API Pub/Sub.
Console
Pour mettre à jour un abonnement et définir une file d'attente de lettres mortes, procédez comme suit.
Dans la console Google Cloud, accédez à la page Abonnements.
À côté de l'abonnement à mettre à jour, cliquez sur Autres actions more_vert.
Dans le menu contextuel, sélectionnez Modifier.
Dans la section Sujet de lettres mortes, sélectionnez Activer la gestion des lettres mortes.
Choisissez ou créez un sujet dans le menu déroulant.
Si aucun abonnement n'est associé au sujet choisi, le système vous invite à en créer un.
Dans le champ Nombre maximal de tentatives de distribution, spécifiez un nombre entier compris entre 5 et 100.
Cliquez sur Mettre à jour.
Le panneau de détails affiche une liste d'actions possibles. Si l'un des éléments affiche une icône d'erreur
, cliquez sur l'élément d'action pour résoudre le problème.
gcloud
Pour mettre à jour un abonnement et définir un sujet de lettres mortes, exécutez la commande gcloud pubsub subscriptions update
:
gcloud pubsub subscriptions update subscription-id \ --dead-letter-topic=dead-letter-topic-name \ [--max-delivery-attempts=max-delivery-attempts] \ [--dead-letter-topic-project=dead-letter-topic-project]
C++
Avant d'essayer cet exemple, suivez les instructions d'installation dans le langage C++ qui se trouvent sur la page Démarrage rapide : utiliser des bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence sur l'API Pub/Sub pour C++.
C#
Avant d'essayer cet exemple, suivez les instructions d'installation dans le langage C# qui se trouvent sur la page Démarrage rapide : utiliser des bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence sur l'API Pub/Sub pour C#.
Go
Avant d'essayer cet exemple, suivez les instructions d'installation dans le langage Go qui se trouvent sur la page Démarrage rapide : utiliser des bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence sur l'API Pub/Sub pour Go.
Java
Avant d'essayer cet exemple, suivez les instructions d'installation dans le langage Java qui se trouvent sur la page Démarrage rapide : utiliser des bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence sur l'API Pub/Sub pour Java.
Node.js
Avant d'essayer cet exemple, suivez les instructions d'installation dans le langage Node.js qui se trouvent sur la page Démarrage rapide : utiliser des bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence sur l'API Pub/Sub pour Node.js.
PHP
Avant d'essayer cet exemple, suivez les instructions d'installation dans le langage PHP qui se trouvent sur la page Démarrage rapide : utiliser des bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence sur l'API Pub/Sub pour PHP.
Python
Avant d'essayer cet exemple, suivez les instructions d'installation dans le langage Python qui se trouvent sur la page Démarrage rapide : utiliser des bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence sur l'API Pub/Sub pour Python.
Ruby
Avant d'essayer cet exemple, suivez les instructions d'installation dans le langage Ruby qui se trouvent sur la page Démarrage rapide : utiliser des bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence sur l'API Pub/Sub pour Ruby.
Ruby
Avant d'essayer cet exemple, suivez les instructions de configuration pour Ruby du guide de démarrage rapide de Pub/Sub : utiliser les bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence sur l'API Pub/Sub Ruby.
Pour vous authentifier auprès de Pub/Sub, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Accorder des rôles IAM pour utiliser des sujets de boîtes aux lettres mortes
Pour transférer des messages non distribuables vers un sujet de lettres mortes, Pub/Sub doit être autorisé à effectuer les opérations suivantes :
- Publier des messages sur le sujet
- Confirmez la réception des messages, ce qui les supprime de l'abonnement.
Pub/Sub crée et gère un compte de service pour chaque projet : service-project-number@gcp-sa-pubsub.iam.gserviceaccount.com
.
Vous pouvez accorder des autorisations de transfert en attribuant les rôles d'éditeur et d'abonné à ce compte de service.
Console
Pour autoriser Pub/Sub à publier des messages dans un file d'attente de lettres mortes, procédez comme suit:
Dans la console Google Cloud, accédez à la page Abonnements.
Cliquez sur le nom de l'abonnement contenant le file d'attente de lettres mortes.
Cliquez sur l'onglet Lettrage mort.
Pour attribuer un rôle d'éditeur, cliquez sur Accorder le rôle d'éditeur. Si le rôle d'éditeur est attribué, une coche bleue
s'affiche.Pour attribuer un rôle d'abonné, cliquez sur Accorder le rôle d'abonné. Si le rôle d'éditeur est attribué, une coche bleue
s'affiche.
gcloud
Pour autoriser Pub/Sub à publier des messages dans le sujet de lettres mortes, exécutez la commande suivante :
PUBSUB_SERVICE_ACCOUNT="service-project-number@gcp-sa-pubsub.iam.gserviceaccount.com" gcloud pubsub topics add-iam-policy-binding dead-letter-topic-name \ --member="serviceAccount:$PUBSUB_SERVICE_ACCOUNT"\ --role="roles/pubsub.publisher"
Pour autoriser Pub/Sub à accuser réception des messages non distribués, exécutez la commande suivante :
PUBSUB_SERVICE_ACCOUNT="service-project-number@gcp-sa-pubsub.iam.gserviceaccount.com" gcloud pubsub subscriptions add-iam-policy-binding subscription-id \ --member="serviceAccount:$PUBSUB_SERVICE_ACCOUNT"\ --role="roles/pubsub.subscriber"
Suivre les tentatives de distribution
Une fois que vous avez activé un file d'attente de lettres mortes pour un abonnement, chaque message de cet abonnement comporte un champ qui spécifie le nombre de tentatives d'envoi:
Les messages reçus à partir d'un abonnement pull incluent le champ
delivery_attempt
.Les messages reçus d'un abonnement push incluent le champ
deliveryAttempt
.
Les exemples suivants montrent comment obtenir le nombre de tentatives de livraison :
C++
Avant d'essayer cet exemple, suivez les instructions d'installation dans le langage C++ qui se trouvent sur la page Démarrage rapide : utiliser des bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence sur l'API Pub/Sub pour C++.
C#
Avant d'essayer cet exemple, suivez les instructions de configuration pour C# du guide de démarrage rapide de Pub/Sub : utiliser les bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence sur l'API Pub/Sub C#.
Pour vous authentifier auprès de Pub/Sub, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Go
Avant d'essayer cet exemple, suivez les instructions de configuration pour Go du guide de démarrage rapide de Pub/Sub : utiliser les bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence sur l'API Pub/Sub Go.
Pour vous authentifier auprès de Pub/Sub, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Java
Avant d'essayer cet exemple, suivez les instructions de configuration pour Java du guide de démarrage rapide de Pub/Sub : utiliser les bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence sur l'API Pub/Sub Java.
Pour vous authentifier auprès de Pub/Sub, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Node.js
Avant d'essayer cet exemple, suivez les instructions de configuration pour Node.js du guide de démarrage rapide de Pub/Sub : utiliser les bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence sur l'API Pub/Sub Node.js.
Pour vous authentifier auprès de Pub/Sub, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
PHP
Avant d'essayer cet exemple, suivez les instructions de configuration pour PHP du guide de démarrage rapide de Pub/Sub : utiliser les bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence sur l'API Pub/Sub PHP.
Pour vous authentifier auprès de Pub/Sub, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Python
Avant d'essayer cet exemple, suivez les instructions de configuration pour Python du guide de démarrage rapide de Pub/Sub : utiliser les bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence sur l'API Pub/Sub Python.
Pour vous authentifier auprès de Pub/Sub, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Ruby
Avant d'essayer cet exemple, suivez les instructions de configuration pour Ruby du guide de démarrage rapide de Pub/Sub : utiliser les bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence sur l'API Pub/Sub Ruby.
Pour vous authentifier auprès de Pub/Sub, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Lorsque Pub/Sub transfère un message non distribuable vers un file d'attente de lettres mortes, il ajoute les attributs suivants au message:
CloudPubSubDeadLetterSourceDeliveryCount
: nombre d'essais de diffusion sur l'abonnement source.CloudPubSubDeadLetterSourceSubscription
: nom de l'abonnement source.CloudPubSubDeadLetterSourceSubscriptionProject
: nom du projet contenant l'abonnement source.CloudPubSubDeadLetterSourceTopicPublishTime
: code temporel de la publication initiale du message.CloudPubSubDeadLetterSourceDeliveryErrorMessage
: raison pour laquelle le message n'a pas pu être distribué à la destination d'origine. Cet attribut n'existe que pour les abonnements à exporter.
Surveiller les messages transférés
Après avoir transféré un message non distribuable, le service Pub/Sub supprime le message de l'abonnement. Vous pouvez surveiller les messages transférés avec Cloud Monitoring.
Si vous associez un abonnement au sujet de lettres mortes, les messages utilisent la règle d'expiration de l'abonnement associé plutôt que la période d'expiration de l'abonnement avec la propriété de sujet de lettres mortes.
La métrique subscription/dead_letter_message_count
enregistre le nombre de messages non distribuables que Pub/Sub transfère depuis un abonnement.
Pour en savoir plus, consultez la section Surveiller les messages non distribuables transférés.
Supprimer une file d'attente de lettres mortes
Pour arrêter le transfert de messages non distribuables, supprimez le sujet de lettres mortes de l'abonnement.
Vous pouvez supprimer une file d'attente de lettres mortes d'un abonnement à l'aide de la console Google Cloud, du Google Cloud CLI ou de l'API Pub/Sub.
Console
Pour supprimer un sujet de lettres mortes d'un abonnement, procédez comme suit :
Dans la console Google Cloud, accédez à la page Abonnements.
Dans la liste des abonnements, cliquez sur more_vert à côté de l'abonnement à mettre à jour.
Dans le menu contextuel, sélectionnez Modifier.
Dans la section Sujet de lettres mortes, désélectionnez Activer la gestion des lettres mortes.
Cliquez sur Mettre à jour.
gcloud
Pour supprimer un sujet de lettres mortes d'un abonnement, exécutez la commande gcloud pubsub subscriptions update
et l'option --clear-dead-letter-policy
:
gcloud pubsub subscriptions update subscription-id \ --clear-dead-letter-policy
C++
Avant d'essayer cet exemple, suivez les instructions d'installation dans le langage C++ qui se trouvent sur la page Démarrage rapide : utiliser des bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence sur l'API Pub/Sub pour C++.
C#
Avant d'essayer cet exemple, suivez les instructions d'installation dans le langage C# qui se trouvent sur la page Démarrage rapide : utiliser des bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence sur l'API Pub/Sub pour C#.
Go
Avant d'essayer cet exemple, suivez les instructions d'installation dans le langage Go qui se trouvent sur la page Démarrage rapide : utiliser des bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence sur l'API Pub/Sub pour Go.
Java
Avant d'essayer cet exemple, suivez les instructions d'installation dans le langage Java qui se trouvent sur la page Démarrage rapide : utiliser des bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence sur l'API Pub/Sub pour Java.
Node.js
Avant d'essayer cet exemple, suivez les instructions d'installation dans le langage Node.js qui se trouvent sur la page Démarrage rapide : utiliser des bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence sur l'API Pub/Sub pour Node.js.
PHP
Avant d'essayer cet exemple, suivez les instructions d'installation dans le langage PHP qui se trouvent sur la page Démarrage rapide : utiliser des bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence sur l'API Pub/Sub pour PHP.
Python
Avant d'essayer cet exemple, suivez les instructions d'installation dans le langage Python qui se trouvent sur la page Démarrage rapide : utiliser des bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence sur l'API Pub/Sub pour Python.
Ruby
Avant d'essayer cet exemple, suivez les instructions d'installation dans le langage Ruby qui se trouvent sur la page Démarrage rapide : utiliser des bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence sur l'API Pub/Sub pour Ruby.
Ruby
Avant d'essayer cet exemple, suivez les instructions de configuration pour Ruby du guide de démarrage rapide de Pub/Sub : utiliser les bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence sur l'API Pub/Sub Ruby.
Pour vous authentifier auprès de Pub/Sub, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Tarifs
Lorsque le service Pub/Sub transfère les messages non distribuables, les frais suivants s'appliquent :
- Frais de publication facturés sur le compte de facturation associé au projet contenant le sujet de lettres mortes.
- Frais d'abonnement pour les messages sortants facturés sur le compte de facturation associé au projet contenant l'abonnement associé à la propriété de file d'attente de lettres mortes.
Si vous définissez la propriété de file d'attente de lettres mortes d'un abonnement, mais que la règle d'emplacement de stockage des messages du sujet de lettres mortes n'autorise pas la région contenant l'abonnement, des frais de publication pour les messages sortants s'appliquent également.
Les frais de publication des messages sortants sont facturés au projet contenant le file d'attente de lettres mortes. Pour en savoir plus, reportez-vous à la page Tarifs.
Étape suivante
- Obtenir les messages non distribuables transférés.
- Surveiller les applications Pub/Sub.
- Découvrir les concepts de distribution des messages