Déclencheur Cloud Pub/Sub

Le déclencheur Cloud Pub/Sub vous permet d'exécuter votre intégration en fonction des événements de votre middleware Pub/Sub.

Ce déclencheur vous permet d'exécuter une intégration dès qu'un éditeur écrit un message dans le sujet de votre choix. Le sujet peut exister dans le même projet Google Cloud que l'intégration ou dans un autre projet Google Cloud . Lorsque ce déclencheur s'exécute, il écrit également le message publié dans la variable de sortie CloudPubSubMessage. Selon vos besoins, vous pouvez utiliser cette variable dans vos déclencheurs ou vos tâches en aval.

Pour découvrir comment créer un exemple d'intégration à l'aide d'Application Integration et du déclencheur Cloud Pub/Sub, consultez Écouter un sujet Cloud Pub/Sub et envoyer un e-mail.

Ce déclencheur vous permet d'exécuter une intégration dès qu'un éditeur écrit un message dans le sujet de votre choix. Lorsque ce déclencheur s'exécute, il écrit également le message publié dans la variable de sortie CloudPubSubMessage. Selon vos besoins, vous pouvez utiliser cette variable dans vos déclencheurs ou vos tâches en aval.

Avant de commencer

Assurez-vous d'effectuer les tâches suivantes dans votre projet Google Cloud avant de configurer le déclencheur Cloud Pub/Sub.

  • Attribuez le rôle Administrateur IAM du projet (roles/resourcemanager.projectIamAdmin) à l'utilisateur qui crée ce déclencheur.
  • Activez l'API Pub/Sub pour le projet Google Cloud qui contient votre intégration.
  • Si l'API Pub/Sub est protégée par un périmètre de service, assurez-vous de définir les rôles IAM suivants pour gérer ces périmètres de service :

    • Administrateur Access Context Manager (roles/accesscontextmanager.policyAdmin)
    • Éditeur Access Context Manager (roles/accesscontextmanager.policyEditor)
    • Lecteur Access Context Manager (roles/accesscontextmanager.policyReader)

  • Vérifiez que vous disposez d'un sujet Cloud Pub/Sub. Pour créer un sujet Pub/Sub :
    1. Accédez à la page "Sujets Pub/Sub" dans Cloud Console.

      Accéder à la page "Sujets Pub/Sub"

    2. Cliquez sur Create a topic (Créer un sujet).
    3. Dans le champ ID du sujet, indiquez un nom de sujet unique.
    4. Cliquez sur Enregistrer.
Pour en savoir plus sur la gestion des accès à l'aide des rôles IAM, consultez la page Contrôle des accès.

Pour plus d'informations sur l'attribution de rôles aux comptes principaux, consultez la page Accorder, modifier et révoquer les accès.

Ajouter un déclencheur Cloud Pub/Sub

Pour ajouter un déclencheur Cloud Pub/Sub à une intégration nouvelle ou existante, procédez comme suit :
  1. Dans la console Google Cloud , accédez à la page Application Integration.

    Accéder à Application Integration

  2. Dans le menu de navigation, cliquez sur Intégrations.

    La page Liste des intégrations s'affiche et répertorie toutes les intégrations disponibles dans le projet Google Cloud.

  3. Sélectionnez une intégration existante ou cliquez sur Créer une intégration pour en créer une autre.

    Si vous créez une intégration :

    1. Saisissez un nom et une description dans le volet Créer une intégration.
    2. Sélectionnez une région pour l'intégration.
    3. Sélectionnez un compte de service pour l'intégration. Vous pouvez modifier ou mettre à jour les informations du compte de service d'une intégration à tout moment depuis le volet Résumé de l'intégration  de la barre d'outils d'intégration.
    4. Cliquez sur Créer.

    L'intégration que vous venez de créer s'ouvre dans l'éditeur d'intégration.

  4. Dans la barre de navigation de l'éditeur d'intégrations, cliquez sur Déclencheurs pour afficher la liste des déclencheurs disponibles.
  5. Cliquez sur l'élément de déclencheur Cloud Pub/Sub et placez-le au niveau du concepteur.

Configurer un déclencheur Cloud Pub/Sub

Cliquez sur l'élément Déclencheur Cloud Pub/Sub dans l'éditeur d'intégrations pour afficher le volet de configuration du déclencheur, puis effectuez les tâches suivantes :

  1. Spécifiez le sujet que le déclencheur doit écouter dans le champ Sujet Pub/Sub au format suivant :
    projects/PROJECT_ID/topics/TOPIC_ID

    Pour afficher tous les sujets disponibles dans votre projet Google Cloud , consultez la colonne Nom du sujet dans la section Sujets. Vous pouvez également sélectionner un thème dans un autre projet Google Cloud .

    Remplacez l'élément suivant :
    • PROJECT_ID : le projet Google Cloud dans lequel votre sujet a été créé.
    • TOPIC_ID : l'ID de votre sujet Pub/Sub. Le sujet peut se trouver dans le même projet Google Cloud que celui de votre intégration ou dans un autre projet Google Cloud .
  2. Sélectionnez le compte de service que vous souhaitez utiliser pour appeler l'intégration. Vous pouvez également choisir une variable de configuration que vous avez créée dans l'intégration. La valeur de la variable de configuration doit être une adresse e-mail de compte de service au format suivant : SERVICE_ACCOUNT_NAME@project-id.iam.gserviceaccount.com. Par exemple, application-integration-invoke@project123.iam.gserviceaccount.com.

    Pour savoir comment créer une variable de configuration, consultez Créer une variable. Pour savoir comment créer un compte de service, consultez Créer un compte de service.

    Si vous choisissez une variable de configuration, vous devez attribuer les rôles requis au compte de service auquel la variable de configuration fait référence. Pour en savoir plus sur l'attribution de rôles, consultez Rôles IAM requis.

    S'il n'y en a pas, créez-en un en cliquant sur Créer dans la liste Compte de service.

Par défaut, l'option de délai d'expiration pour les abonnements est définie sur never expire. Si vous souhaitez définir une autre valeur d'expiration, accédez à la page Abonnement Pub/Sub dans la console Google Cloud , puis modifiez l'abonnement.

Rôles IAM requis pour les comptes de service

Lorsque vous sélectionnez un compte de service et cliquez sur Accorder, les rôles suivants sont automatiquement attribués aux différents comptes de service.

Compte de service Rôle IAM accordé
Compte de service Application Integration par défaut : service-PROJECT_NUMBER@gcp-sa-integrations.iam.gserviceaccount.com
  • Éditeur Pub/Sub (roles/pubsub.editor)
  • Utilisateur du compte de service (roles/iam.serviceAccountUser)

Si le projet Google Cloud du sujet Pub/Sub est différent du projet Google Cloudde l'intégration, le compte de service par défaut doit disposer du rôle "Éditeur Pub/Sub" dans le projet Google Cloud du sujet.

Compte de service que vous sélectionnez pour ce déclencheur Demandeur Application Integration (roles/integrations.integrationInvoker)

Sortie du déclencheur

Pour chaque événement, le déclencheur Cloud Pub/Sub génère une variable de sortie CloudPubSubMessage que vous pouvez utiliser dans vos tâches en aval. La variable est au format JSON et possède la structure PubsubMessage.

Créer un abonnement avec un filtre pour votre intégration

Si vous souhaitez définir un filtre pour l'abonnement Pub/Sub afin de traiter des événements spécifiques dans votre intégration, procédez comme suit :

  1. Publiez l'intégration avec le déclencheur Cloud Pub/Sub configuré. Cette étape crée l'abonnement dans le projet d'intégration.
  2. Dans la console Google Cloud , accédez à la page Abonnements.

    Accéder aux abonnements

  3. Ouvrez l'abonnement et copiez tous les détails, y compris son nom.
  4. Supprimez l'abonnement existant.
  5. Créez un abonnement en saisissant tous les détails de l'abonnement supprimé (y compris son nom) que vous avez copiés à l'étape 3, puis ajoutez un filtre à ce nouvel abonnement.

    L'abonnement nouvellement créé déclenche l'intégration avec les messages filtrés.

Exclusions du Contrat de niveau de service

Le déclencheur Cloud Pub/Sub dépend du produit Pub/Sub. Étant donné que cette dépendance est externe à Application Integration, les conditions d'utilisation du contrat de niveau de service (SLA) Application Integration ne s'appliquent que lorsque le déclencheur Cloud Pub/Sub démarre correctement l'exécution d'une intégration active.

Utiliser des déclencheurs Pub/Sub avec VPC Service Controls

Lorsque vous configurez un déclencheur Pub/Sub dans Application Integration et que vous tentez de publier l'intégration, la création de l'abonnement Pub/Sub requis échoue si l'API Pub/Sub est protégée par un périmètre de service dans VPC Service Controls.

Les périmètres de service appliquent des limites de sécurité autour de vos ressources Google Cloud . Ces règles peuvent empêcher Application Integration de créer l'abonnement Pub/Sub nécessaire lors de la publication de l'intégration.

Pour configurer et publier un déclencheur Pub/Sub dans ces scénarios, procédez comme suit :

  1. Supprimez temporairement l'API Pub/Sub du périmètre de service :
    1. Dans la console Google Cloud , accédez à la page VPC Service Controls.

      Accéder à VPC Service Controls

    2. Sélectionnez le projet Google Cloud contenant le sujet Pub/Sub à utiliser dans l'intégration.
    3. (Facultatif) Si aucune règle d'accès n'est configurée pour le projet sélectionné, le message Aucun périmètre de service VPC trouvé dans le champ d'application actuel s'affiche. Dans ce cas, cliquez sur Passer au champ d'application "Organisation" pour accéder au niveau de l'organisation.
    4. Sur la page VPC Service Controls, dans le tableau, cliquez sur le nom du périmètre de service que vous souhaitez modifier.
    5. Sur la page Détails du périmètre de service, cliquez sur Modifier.
    6. Dans le volet Services restreints, filtrez et sélectionnez le service pubsub.googleapis.com.
    7. Cliquez sur Supprimer la sélection.
    8. Cliquez sur Enregistrer. Dans la boîte de dialogue de confirmation, cliquez sur Confirmer pour supprimer l'API Pub/Sub de votre périmètre de service VPC Service Controls.
  2. Ajoutez et configurez le déclencheur Pub/Sub dans votre intégration.
  3. Publiez l'intégration.
  4. Ajoutez de nouveau l'API Pub/Sub au périmètre de service :
    1. Accédez à la page VPC Service Controls.

      Accéder à VPC Service Controls

    2. Sur la page VPC Service Controls, dans le tableau, cliquez sur le périmètre de service que vous avez modifié précédemment.
    3. Sur la page Détails du périmètre de service, cliquez sur Modifier.
    4. Dans le volet Services restreints, cliquez sur Ajouter des services.
    5. Filtrez et sélectionnez le service pubsub.googleapis.com.
    6. Cliquez sur Ajouter les services sélectionnés.
    7. Cliquez sur Enregistrer. Dans la boîte de dialogue de confirmation, cliquez sur Confirmer pour ajouter à nouveau l'API Pub/Sub à votre périmètre de service VPC Service Controls.

Tarifs

Les déclencheurs Cloud Pub/Sub et Salesforce ne nécessitent pas la création d'un connecteur. Toutefois, si vous utilisez la tâche Connecteurs pour vous connecter à Pub/Sub ou Salesforce, l'utilisation du connecteur vous sera facturée. Pour en savoir plus sur les tarifs, consultez la page Tarifs d'Application Integration.

Remarques

  • La taille maximale d'un message Pub/Sub est de 10 Mo. Pour comprendre toutes les limitations de Pub/Sub, consultez la page Quotas et limites de Pub/Sub.
  • Il est possible que Pub/Sub écrive le même message plusieurs fois dans un sujet. Pour comprendre ce comportement de Pub/Sub, consultez la section Distribution de type "au moins une fois". Par conséquent, vous devez concevoir votre intégration de manière à ce qu'elle soit idempotente afin qu'un message ne puisse pas être écrit plusieurs fois dans un sujet.

    Le champ message_id de l'en-tête du message identifie de manière unique un message Pub/Sub.

  • Le déclencheur Cloud Pub/Sub n'est pas compatible avec l'ordre des messages. Le tri des messages Pub/Sub est désactivé pour l'abonnement créé par le déclencheur Cloud Pub/Sub et ne peut pas être activé.
  • Si vous annulez la publication d'une intégration, l'abonnement Pub/Sub n'est pas supprimé pour éviter toute perte de messages. Toutefois, si vous supprimez la version publiée ou toutes les versions d'une intégration, l'abonnement Pub/Sub est également supprimé.

Quotas et limites

Pour plus d'informations sur les quotas et les limites, consultez la section Quotas et limites.

Étape suivante