Ce document fournit des informations sur la publication de messages.
Une application d'éditeur crée et envoie des messages dans un sujet. Pub/Sub offre au moins une distribution de messages et tous les efforts nécessaires pour organiser les messages des abonnés existants.
Le flux général d'une application d'éditeur est organisé comme suit :
- Vous créez un message contenant vos données.
- Envoyez une requête au serveur Pub/Sub pour publier le message sur le sujet spécifié.
Avant de commencer
Avant de configurer le workflow de publication, veillez à effectuer les tâches suivantes:
Créez un thème.
(Facultatif) Créez un abonnement.
Format du message
Un message est constitué de champs contenant des données du message et des métadonnées. Spécifiez au moins l'un des éléments suivants dans le message :
- Les données du message
- Une clé de tri
- Attributs avec des métadonnées supplémentaires
Si vous utilisez l'API REST, les données du message doivent être encodées en base64.
Le service Pub/Sub ajoute les champs suivants au message :
- ID de message unique pour le sujet
- Horodatage correspondant au moment où le service Pub/Sub reçoit le message
Publier des messages
Vous pouvez publier des messages à l'aide de la CLI Google Cloud ou de l'API Pub/Sub. Les bibliothèques clientes peuvent publier des messages de manière asynchrone.
Console
Pour publier un message, procédez comme suit :
Dans Cloud Console, accédez à la page Sujets Pub/Sub.
Cliquez sur l'ID du sujet.
Sur la page Détails du sujet, sous Messages, cliquez sur Publier un message.
Dans le champ Corps du message, saisissez les données associées au message.
Facultatif : ajoutez des attributs de message.
Cliquez sur Ajouter un attribut.
Saisissez une clé et une valeur pour l'attribut.
Cliquez sur Publier.
gcloud
Pour publier un message, exécutez la commande gcloud pubsub topics publish :
gcloud pubsub topics publish TOPIC_ID \ --message=MESSAGE_DATA \ [--attribute=KEY="VALUE",...]
Remplacez les éléments suivants :
- TOPIC_ID : ID du sujet
- MESSAGE_DATA : chaîne contenant les données du message
- KEY : clé d'un attribut de message
- VALUE : valeur de la clé de l'attribut de message
REST
Pour publier un message, envoyez une requête POST comme suit :
POST https://pubsub.googleapis.com/v1/projects/PROJECT_ID/topics/TOPIC_ID:publish Content-Type: application/json Authorization: Bearer $(gcloud auth application-default print-access-token)
Remplacez les éléments suivants :
- PROJECT_ID : ID du projet avec le sujet
- TOPIC_ID : ID du sujet
Spécifiez les champs suivants dans le corps de la requête :
{ "messages": [ { "attributes": { "KEY": "VALUE", ... }, "data": "MESSAGE_DATA", } ] }
Remplacez les éléments suivants :
- KEY : clé d'un attribut de message
- VALUE : valeur de la clé de l'attribut de message
- MESSAGE_DATA : chaîne encodée en base64 avec les données du message
Le message doit contenir un champ de données non vide ou au moins un attribut.
Si la requête aboutit, la réponse est un objet JSON avec l'ID du message. L'exemple suivant est une réponse avec un ID de message :
{ "messageIds": [ "19916711285", ] }
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.
Après la publication d'un message, le service Pub/Sub renvoie l'ID du message à l'éditeur.
Utiliser des attributs
Vous pouvez intégrer des attributs personnalisés sous forme de métadonnées dans des messages Pub/Sub. Les attributs peuvent être des chaînes de texte ou des chaînes d'octets. Un message peut comporter 100 attributs au maximum. Les clés d'attribut ne doivent pas commencer par goog
et ne doivent pas dépasser 256 octets.
Les valeurs des attributs ne doivent pas dépasser 1 024 octets. Le schéma du message peut être représenté comme suit :
{ "data": string, "attributes": { string: string, ... }, "messageId": string, "publishTime": string, "orderingKey": string }
Le schéma JSON PubsubMessage
est publié dans la documentation REST et RPC.
gcloud
gcloud pubsub topics publish my-topic --message="hello" \ --attribute="origin=gcloud-sample,username=gcp"
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.
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.
Utiliser les clés de commande
Si les messages possèdent la même clé de tri et que vous les publiez dans la même région, les abonnés peuvent les recevoir dans l'ordre. La publication de messages avec des clés de tri peut augmenter la latence. Pour publier des messages dans la même région, utilisez un point de terminaison régional.
Vous pouvez publier des messages à l'aide de clés de commande à l'aide de Cloud Console, de la CLI Google Cloud ou de l'API Pub/Sub.
Console
Dans Cloud Console, accédez à la page Sujets Pub/Sub.
Cliquez sur l'ID du sujet.
Sur la page Détails du sujet, sous Messages, cliquez sur Publier un message.
Dans le champ Corps du message, saisissez les données associées au message.
Dans le champ Tri des messages, saisissez une clé de tri.
Cliquez sur Publier.
gcloud
Pour publier un message avec une clé de tri, exécutez la commande gcloud pubsub topics publish
et l'option --ordering-key
:
gcloud pubsub topics publish TOPIC_ID \ --message=MESSAGE_DATA \ --ordering-key=ORDERING_KEY
Remplacez les éléments suivants :
- TOPIC_ID : ID du sujet
- MESSAGE_DATA : chaîne contenant les données du message
- ORDERING_KEY : chaîne avec une clé de tri
REST
Pour publier un message avec une clé de tri, envoyez une requête POST comme suit :
POST https://pubsub.googleapis.com/v1/projects/PROJECT_ID/topics/TOPIC_ID:publish Content-Type: application/json Authorization: Bearer $(gcloud auth application-default print-access-token)
Remplacez les éléments suivants :
- PROJECT_ID : ID du projet avec le sujet
- TOPIC_ID : ID du sujet
Spécifiez les champs suivants dans le corps de la requête :
{ "messages": [ { "attributes": { "KEY": "VALUE", ... }, "data": "MESSAGE_DATA", "ordering_key": "ORDERING_KEY", } ] }
Remplacez les éléments suivants :
- KEY : clé d'un attribut de message
- VALUE : valeur de la clé de l'attribut de message
- MESSAGE_DATA : chaîne encodée en base64 avec les données du message
- ORDERING_KEY : chaîne avec une clé de tri
Le message doit contenir un champ de données non vide ou au moins un attribut.
Si la requête aboutit, la réponse est un objet JSON avec l'ID du message. L'exemple suivant est une réponse avec un ID de message :
{ "messageIds": [ "19916711285", ] }
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.
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.
Utiliser un schéma
Vous pouvez publier des messages dans un sujet associé à un schéma. Pour en savoir plus, consultez Créer et gérer des schémas. Vous devez encoder les messages dans le schéma et dans le format que vous avez spécifié lors de la création du sujet.
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++.
Avro ProtoC#
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#.
Avro ProtoGo
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.
Avro ProtoJava
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.
Avro ProtoNode.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.
Avro Tampon de protocolePHP
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.
Avro Tampon de protocolePython
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.
Avro Tampon de protocoleRuby
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.
Avro Tampon de protocoleMessages par lots
Les bibliothèques clientes Pub/Sub regroupent plusieurs messages en un seul appel au service. Des tailles de lots plus importantes augmentent le débit des messages (taux de messages envoyés par processeur). Le coût de ce traitement par lot est la latence affectant les messages individuels, qui sont mis en attente dans la mémoire jusqu'à ce que le lot correspondant soit rempli et prêt à être envoyé sur le réseau. Pour minimiser la latence, le traitement par lot doit être désactivé. Cette opération est particulièrement importante pour les applications qui publient un seul message dans le cadre d'une séquence requête-réponse. Un exemple courant de ce modèle est rencontré dans les applications sans serveur et basées sur des événements utilisant Cloud Functions ou App Engine.
Les messages peuvent être mis en lot en fonction de la taille de la requête (en octets), du nombre de messages et de l'heure. Vous pouvez remplacer les paramètres par défaut comme indiqué dans cet exemple :
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.
Réessayer d'envoyer des requêtes
Lorsqu'une publication échoue, elle est automatiquement relancée, sauf en cas d'erreurs qui ne justifient pas de nouvelles tentatives. Cet exemple de code illustre la création d'un éditeur avec des paramètres de nouvelle tentative personnalisés (notez que toutes les bibliothèques clientes ne sont pas compatibles avec les paramètres de nouvelle tentative. Consultez la documentation de référence sur les API pour le langage que vous avez choisi) :
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#.
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.
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.
Les paramètres de nouvelle tentative contrôlent la manière dont les bibliothèques clientes Pub/Sub relancent les requêtes de publication. Les bibliothèques clientes sont associées à l'un des paramètres de nouvelle tentative suivants :
- Délai avant expiration de la requête initiale : délai avant l'arrêt d'une bibliothèque cliente en attente de l'exécution de la requête de publication initiale.
- Délai de nouvelle tentative : délai qui s'écoule entre le moment où une requête expire et le moment où une bibliothèque cliente effectue la nouvelle tentative.
- Délai avant expiration total : délai avant qu'une bibliothèque cliente n'arrête de relancer les requêtes de publication.
Pour relancer les requêtes de publication, le délai avant expiration de la requête initiale doit être inférieur au délai avant expiration total. Par exemple, si vous utilisez un intervalle exponentiel entre les tentatives, les bibliothèques clientes calculent le délai avant expiration de la requête et le délai de nouvelle tentative comme suit :
- Après chaque requête de publication, le délai avant expiration de la requête augmente en fonction du multiplicateur de délai avant expiration de la requête, jusqu'à atteindre le délai maximal avant expiration de la requête.
- Après chaque nouvelle tentative, le délai de nouvelle tentative augmente par le multiplicateur, jusqu'à atteindre le délai maximum de nouvelles tentatives.
Lorsqu'une bibliothèque cliente relance une requête et que le message comporte une clé de tri, la bibliothèque cliente relance à nouveau la requête de façon répétée, indépendamment des paramètres de nouvelle tentative.
Si une erreur ne permettant aucune autre tentative se produit, la bibliothèque cliente ne publie pas le message et cesse la publication d'autres messages avec la même clé de tri. Par exemple, lorsqu'un éditeur envoie un message à un sujet qui n'existe pas, une erreur ne permettant aucune autre tentative se produit. Pour continuer à publier des messages avec la même clé de tri, appelez une méthode permettant de reprendre la publication, puis redémarrez la publication.
L'exemple suivant montre comment reprendre la publication de messages avec la même clé de tri.
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.
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.
Contrôle de flux
Un client éditeur peut tenter de publier des messages plus rapidement que ce que la capacité d'envoi des données au service Pub/Sub de ce client permet. Les clients sont limités par de nombreux facteurs, y compris les suivants :
- Processeur machine, RAM et capacité réseau
- Paramètres réseau, tels que le nombre de requêtes en attente et la bande passante disponible
- Latence de chaque requête de publication, largement déterminée par les connexions réseau entre le service Pub/Sub, le client et Google Cloud
Si le taux de requêtes de publication dépasse ces limites, les requêtes s'accumulent en mémoire jusqu'à ce qu'elles échouent en affichant une erreur DEADLINE_EXCEEDED
. Cette situation risque de se produire lorsque des dizaines de milliers de messages sont publiés dans une boucle, générant des milliers de requêtes en quelques millisecondes.
Vous pouvez diagnostiquer ce problème en vérifiant les métriques côté serveur dans Monitoring. Vous ne pouvez pas voir les requêtes qui ont échoué avec DEADLINE_EXCEEDED
, mais seulement les requêtes ayant réussi. Le taux de requêtes réussies indique la capacité de débit de vos machines clientes et fournit une référence pour la configuration du contrôle de flux.
Accéder à la page "Monitoring"
Pour limiter les problèmes de débit, configurez votre client éditeur avec un contrôle de flux afin de limiter le taux de requêtes de publication. Vous pouvez configurer le nombre maximal d'octets alloués pour les requêtes en attente et le nombre maximal de messages en attente autorisés. Définissez ces limites en fonction de la capacité de débit de vos machines clientes.
Le contrôle de flux d'éditeur est disponible via les bibliothèques clientes Pub/Sub dans les langages suivants :
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.
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.
Contrôle de simultanéité
La simultanéité n'est pas disponible avec tous les langages de programmation. Reportez-vous à la documentation de référence sur les API pour plus d'informations.
L'exemple suivant montre comment contrôler la simultanéité dans un éditeur :
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.
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.
Étapes suivantes
Pour savoir comment limiter les emplacements dans lesquels Pub/Sub stocke les données de message, consultez la page Restreindre les emplacements des ressources Pub/Sub.
Pour en savoir plus sur la réception de messages, consultez Choisir un type d'abonnement.