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 de distribuer un message, mais que l'abonné n'y parvient pas et de confirmer votre 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'en utiliser un des stratégies de nouvelle tentative suivantes, renvoi immédiat ou intervalle exponentiel entre les tentatives. Par défaut, les abonnements utilisent la nouvelle distribution 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 qui empêchaient l'accusé de réception du message n'a pas changé, une nouvelle distribution 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 immédiats de renvoi, Pub/Sub vous permet de configurer une 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 pour 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 introduire des retards intentionnels la distribution 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 sans intervalle entre les tentatives. Pub/Sub peut également ralentir la distribution de tous les messages si vous de nombreux 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 Consignes pour nommer un sujet ou 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 le l'abonné ne peut pas le confirmer, Pub/Sub peut transférer un message impossible à distribuer dans 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 thème. Cela signifie que vous définissez un file d'attente de lettres mortes lorsque vous créez un abonnement, et non lors de la création d'un sujet.
Si vous créez un file d'attente de lettres mortes, vous pouvez définir les paramètres suivants : d'abonnement:
Nombre maximal de tentatives d'envoi: valeur numérique indiquant le de tentatives d'envoi effectuées par Pub/Sub qui génère un message spécifique. Si le client abonné ne peut pas accuser réception le nombre de tentatives de distribution configuré, le message est transféré vers une 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. Associez le file d'attente de lettres mortes à un sujet différent de celui auquel l'abonnement est joint.
Comment le nombre maximal de tentatives d'envoi est-il calculé ?
Pub/Sub ne comptabilise les tentatives de distribution que lorsqu'une file d'attente de lettres mortes est est correctement configuré 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. En conséquence, les messages peuvent être distribués au client abonné de tentatives d'envoi que le nombre maximal configuré de tentatives d'envoi.
Configurer un file d'attente de lettres mortes
Pour que vous puissiez configurer un file d'attente de lettres mortes, le sujet source doit d'abord être associé à un abonnement. Vous pouvez spécifier un file d'attente de lettres mortes lorsque vous créez l'abonnement, ou vous pouvez mettre à jour un abonnement existant pour y associer une file d'attente 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 dans la file d'attente de lettres mortes, joignez au moins un autre à la file d'attente de lettres mortes. 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 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 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 de Ruby dans le Guide de démarrage rapide de Pub/Sub 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 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 une file d'attente de lettres mortes pour un abonnement existant
Vous pouvez mettre à jour 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 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 le sujet choisi n'a pas d'abonnement, 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 de 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 de Ruby dans le Guide de démarrage rapide de Pub/Sub 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 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 accorder à Pub/Sub l'autorisation de publier des messages de 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 associé à la file d'attente de lettres mortes.
Cliquez sur l'onglet Gestion des lettres mortes.
Pour attribuer un rôle d'éditeur, cliquez sur Attribuer un rôle d'éditeur. Si le le rôle d'éditeur a bien été attribué, une coche bleue
Pour attribuer un rôle d'abonné, cliquez sur Attribuer un rôle d'abonné. Si le le rôle d'éditeur a bien été attribué, une coche bleue
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 d'envoi
Après l'activation d'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 provenant d'un abonnement pull incluent le paramètre
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 de Go dans le Guide de démarrage rapide de Pub/Sub bibliothèques clientes. Pour en savoir plus, consultez les API Go 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.
Java
Avant d'essayer cet exemple, suivez les instructions de configuration de Java dans le Guide de démarrage rapide de Pub/Sub 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 les API Node.js 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.
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 de Python dans le Guide de démarrage rapide de Pub/Sub bibliothèques clientes. Pour en savoir plus, consultez les API Python 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.
Ruby
Avant d'essayer cet exemple, suivez les instructions de configuration de Ruby dans le Guide de démarrage rapide de Pub/Sub 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 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 à un file d'attente de lettres mortes, elle ajoute les attributs suivants au le message:
CloudPubSubDeadLetterSourceDeliveryCount
: nombre de tentatives d'envoi à l'abonnement source.CloudPubSubDeadLetterSourceSubscription
: nom de la source abonnement.CloudPubSubDeadLetterSourceSubscriptionProject
: nom du projet contient l'abonnement source.CloudPubSubDeadLetterSourceTopicPublishTime
: code temporel du message a été publiée à l'origine.CloudPubSubDeadLetterSourceDeliveryErrorMessage
: motif du message n'a pas pu être livré à la destination initiale. L'attribut n'existe que pour les abonnements à l'exportation.
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 un 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 un file d'attente de lettres mortes d'un abonnement à l'aide de la la console Google Cloud, la Google Cloud CLI ou 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 de Ruby dans le Guide de démarrage rapide de Pub/Sub 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 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 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 pour les messages sortants sont facturés au projet contenant le de 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