Aller au contenu principal

Déclencheur Événement Google Pub/Sub

Le type Événement Google Pub/Sub (famille Événements) consomme une souscription Pub/Sub et lance un flux pour chaque message livré.

Clés et identifiants

Ne collez pas de clé JSON ou d'identifiants en clair dans les champs libres : utilisez les variables de dictionnaire.

Paramètres​

ParamètreTypeObligatoireDéfautDescription
NomChaîne✅—Libellé affiché dans les listes et l'éditeur.
DescriptionChaîne✅—Résumé du but du déclencheur, pour les revues et la maintenance.
Chemin (slug)Chaîne✅—Identifiant de l'URL publique, généré depuis le nom.
TagsListe❌—Étiquettes pour filtrer et retrouver le déclencheur dans les listes.
AppChaîne❌—Application métier à rattacher au déclencheur pour la cartographie — voir Apps.
Identifiant du projet (projectId)Chaîne✅—Projet GCP contenant la souscription à consommer.
Id de l'abonnement (subscription)Chaîne✅—Souscription pull consommée par le déclencheur.

Options avancées​

ParamètreTypeObligatoireDéfautDescription
Clé du compte de serviceJSON (masquée)❌—Clé du compte de service GCP disposant du rôle Pub/Sub Subscriber sur la souscription. Référencez-la via une variable de dictionnaire plutôt que de coller la valeur en clair.

Prérequis GCP — un projet Google Cloud avec l'API Pub/Sub activée, un topic créé, une souscription en mode pull associée à ce topic, et une clé de compte de service (compte de service avec le rôle Pub/Sub Subscriber sur la souscription), renseignée dans les Options avancées du déclencheur.

Entrée​

Le déclencheur reçoit le message publié dans le topic. Le format exact dépend du message publié par l'émetteur, par exemple :

{
"message": { "orderId": "CMD-4821", "total": 149.9 },
"attributes": { "eventType": "order.created" }
}

Sortie​

Le flux reçoit le message dans data, et les attributs portés par l'événement sont exposés dans les données du déclencheur :

{
"data": { "orderId": "CMD-4821", "total": 149.9 }
}

Erreurs​

  • Reconnaissance (ack) automatique — Ecosystem reconnaît le message après un traitement réussi. En cas d'échec, le message peut être refusé (nack) et redevenir disponible pour une nouvelle tentative selon la politique de la souscription.
  • Délai d'expiration (ack deadline) — Pub/Sub impose un délai pour reconnaître un message ; au-delà, le message peut être redélivré. Configurez un timeout adapté à la durée de votre flux.
  • Dead-letter — en cas d'échec répété, le message peut être déplacé vers un dead-letter topic ; concevez le traitement comme idempotent, car un message peut être livré plus d'une fois.

Limites​

  • Le ack deadline de Pub/Sub borne la durée d'un traitement avant redélivrance : il doit être supérieur au temps d'exécution du flux.

Exemple​

  1. Dans la console Google Cloud : créez un topic (ex. orders-events) et une souscription pull liée (ex. orders-events-sub). Notez l'identifiant du projet et le nom de la souscription.
  2. Dans Ecosystem : préparez la clé du compte de service (rôle Pub/Sub Subscriber sur la souscription), idéalement référencée dans un dictionnaire.
  3. Créez le déclencheur : type Événement Google Pub/Sub, renseignez le nom, l'identifiant du projet et l'id de l'abonnement, puis ajoutez la clé du compte de service dans les Options avancées.
  4. Associez un flux qui reçoit le message, traite le payload, puis est reconnu ou renvoyé selon le résultat.
  5. Déployez dans l'environnement cible : la consommation des messages démarre selon la configuration.

Voir aussi​