Les abonnés peuvent ne pas être en mesure de gérer les messages pour diverses raisons. Pour Par exemple, il peut y avoir des problèmes temporaires de récupération des données nécessaires au traitement . Ou encore, un message peut se présenter dans un format auquel l'abonné n'attend pas.
Cette page explique comment gérer de tels échecs de traitement à l'aide d'un stratégie de nouvelle tentative d'abonnement ou en transférant les messages non distribués vers un file d'attente de lettres mortes (également appelée 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 distribution est connue sous le nom de stratégie de nouvelle tentative d'abonnement. Ce n'est pas une fonctionnalité que vous pouvez activer ou désactiver. Toutefois, vous pouvez choisir le type 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 peut pas être confirmé.
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 tentatives tentatives. Après le premier échec de distribution, Pub/Sub attend un intervalle minimal entre les tentatives avant toute nouvelle tentative. Pour chaque échec de message consécutif, plus de temps est ajouté au délai, jusqu'à atteindre 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.
- L'intervalle exponentiel entre les tentatives n'est appliqué qu'à un message, et non à tous les messages d'un abonnement (global).
- Avec un intervalle exponentiel entre les tentatives, Pub/Sub continue de fournir Autres messages, même si des messages précédents ont fait l'objet d'accusés de réception négatifs (sauf si vous avez opté pour la distribution des messages dans l'ordre).
Utilisez la stratégie de nouvelle tentative pour retarder la livraison et le traitement d'un sous-ensemble de messages pour remédier à une incapacité temporaire à traiter certains messages au moment la livraison. Elle est appliquée au mieux, et chaque message est évaluée séparément pour la stratégie de nouvelle tentative.
Nous vous déconseillons d'utiliser cette fonctionnalité pour retarder intentionnellement la diffusion des messages. Si vous reconnaissez (nack) de manière négative un grand nombre messages d'un abonnement configuré avec une stratégie de nouvelle tentative, il est possible que certains de ces messages sont distribués avec moins ou pas d'intervalle entre les tentatives. Pub/Sub peut également ralentir la distribution de tous les messages si vous refusez un grand nombre de messages.
Si vous devez planifier des livraisons, envisagez d'utiliser Cloud Tasks :
Configurer l'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 Règle de nouvelle tentative, sélectionnez Réessayer après intervalle exponentiel entre les tentatives.
Saisissez un intervalle minimal entre les tentatives et un intervalle maximal 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
Sujet 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 sujet de lettres mortes est une propriété d'abonnement, et non une propriété de sujet. Cela signifie que vous devez définir un sujet de lettres mortes lorsque vous créez un abonnement, et non un sujet.
Si vous créez un sujet 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 sujet 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. Associez le file d'attente de lettres mortes à un sujet différent de celui auquel l'abonnement est joint.
Calcul du nombre maximal de tentatives d'envoi
Pub/Sub ne comptabilise les tentatives d'envoi que lorsqu'un sujet de lettres mortes est configuré correctement et inclut les autorisations IAM appropriées.
Le nombre maximal de tentatives d'envoi est une approximation, car Pub/Sub transfère les messages non distribuables de la manière la plus optimale possible.
Le nombre suivi de tentatives de distribution d'un message peut aussi être remis à 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 un file d'attente de lettres mortes
Pour configurer un sujet de lettres mortes, le sujet source doit d'abord disposer d'un abonnement. Vous pouvez spécifier un sujet de lettres mortes lorsque vous créez l'abonnement ou mettre à jour un abonnement existant pour qu'il dispose d'un sujet de lettres mortes.
Voici le workflow permettant d'activer la gestion des lettres mortes dans un abonnement.
Créez le file d'attente de lettres mortes. Ce sujet est différent du sujet source.
Définissez le file d'attente de lettres mortes dans l'abonnement associé au sujet source.
Pour éviter de perdre des messages du sujet de lettres mortes, associez-lui au moins un autre abonnement. L'abonnement secondaire reçoit des messages du file d'attente de lettres mortes.
Attribuer les rôles d'éditeur et d'abonné au service Pub/Sub de service géré. Pour en savoir plus, consultez Accordez des autorisations de transfert.
Définir un file d'attente de lettres mortes dans un nouvel abonnement
Vous pouvez créer un abonnement et définir une file d'attente de lettres mortes à l'aide de la la console Google Cloud, la Google Cloud CLI, les bibliothèques clientes 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 n'est associé à aucun abonnement, le système vous invite à pour en créer une.
Dans le champ Nombre maximal de tentatives d'envoi, indiquez 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'une des valeurs les éléments affichent une icône d'erreur
, cliquez sur l’action à effectuer 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 le service 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 sujet de lettres mortes pour un abonnement existant
Vous pouvez mettre à jour un abonnement et définir un sujet 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 d'envoi, indiquez un nombre entier compris entre 5 et 100.
Cliquez sur Mettre à jour.
Le panneau des détails affiche la liste des actions possibles. Si l'une des valeurs les éléments affichent une icône d'erreur
, cliquez sur l’action à effectuer 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 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
- Confirmer les 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
l'éditeur et
d'abonné à ce compte de service.
Console
Pour autoriser Pub/Sub à publier des messages dans un sujet de lettres mortes, procédez comme suit :
Dans la console Google Cloud, accédez à la page Abonnements.
Cliquez sur le nom de l'abonnement associé à la file d'attente de lettres mortes.
Cliquez sur l'onglet Lettrage mort.
Pour attribuer un rôle d'éditeur, cliquez sur Attribuer un 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 Attribuer un 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 tentatives d'envoi:
Les messages reçus à partir d'un abonnement pull incluent le champ
delivery_attempt
.Les messages provenant d'un abonnement push incluent le paramètre
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 de C# dans le Guide de démarrage rapide de Pub/Sub bibliothèques clientes. Pour en savoir plus, consultez les API C# Pub/Sub documentation de référence.
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 les API Java Pub/Sub documentation de référence.
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 de Node.js dans le Guide de démarrage rapide de Pub/Sub 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 de PHP dans le Guide de démarrage rapide de Pub/Sub bibliothèques clientes. Pour en savoir plus, consultez les API PHP Pub/Sub documentation de référence.
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 le service 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 les API Ruby Pub/Sub documentation de référence.
Pour vous authentifier auprès de Pub/Sub, configurez le service 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 à un file d'attente de lettres mortes, elle ajoute les attributs suivants au le message:
CloudPubSubDeadLetterSourceDeliveryCount
: nombre d'essais de diffusion sur l'abonnement source.CloudPubSubDeadLetterSourceSubscription
: nom de la source abonnement.CloudPubSubDeadLetterSourceSubscriptionProject
: nom du projet contenant l'abonnement source.CloudPubSubDeadLetterSourceTopicPublishTime
: code temporel de la publication initiale du message.CloudPubSubDeadLetterSourceDeliveryErrorMessage
: motif du message n'a pas pu être livré à la destination initiale. 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 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, de la CLI Google Cloud 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 les API Ruby Pub/Sub documentation de référence.
Pour vous authentifier auprès de Pub/Sub, configurez le service 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 avec la 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 règles d'emplacement de stockage des messages de le sujet de lettres mortes n'autorise pas la région qui contient 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 sujet 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