Lapin MQ

Le connecteur Rabbit MQ fournit une connectivité à Rabbit MQ.

Avant de commencer

Avant d'utiliser le connecteur Rabbit MQ, effectuez les tâches suivantes :

  • Dans votre projet Google Cloud :
    • Attribuez le rôle IAM roles/connectors.admin à l'utilisateur qui configure le connecteur.
    • Attribuez les rôles IAM suivants au compte de service que vous souhaitez utiliser pour le connecteur :
      • roles/secretmanager.viewer
      • roles/secretmanager.secretAccessor

      Un compte de service est un compte Google spécial destiné à représenter un utilisateur non humain qui doit s'authentifier et obtenir les autorisations permettant d'accéder aux données des API Google. Si vous ne possédez pas de compte de service, vous devez en créer un. Pour plus d'informations, consultez la section Créer un compte de service.

    • Activez les services suivants :
      • secretmanager.googleapis.com (API Secret Manager)
      • connectors.googleapis.com (API Connectors)

      Pour savoir comment activer des services, consultez la page Activer des services.

    Si ces services ou autorisations n'ont pas encore été activés pour votre projet, vous êtes invité à les activer lors de la configuration du connecteur.

Configurer le connecteur

Pour configurer le connecteur, vous devez créer une connexion à votre source de données (système backend). Une connexion est spécifique à une source de données. Cela signifie que si vous disposez de nombreuses sources de données, vous devez créer une connexion distincte pour chacune d'elles. Pour créer une connexion, procédez comme suit :

  1. Dans la console Cloud, accédez à la page Integration Connectors > Connections (Connecteurs d'intégration > Connexions), puis sélectionnez ou créez un projet Google Cloud.

    Accéder à la page "Connexions"

  2. Cliquez sur + CRÉER pour ouvrir la page Créer une connexion.
  3. Dans la section Emplacement, choisissez l'emplacement de la connexion.
    1. Région : sélectionnez un emplacement dans la liste déroulante.

      Pour obtenir la liste de toutes les régions disponibles, consultez la page Emplacements.

    2. Cliquez sur Next (Suivant).
  4. Dans la section Détails de connexion, procédez comme suit :
    1. Connecteur : sélectionnez RabbitMQ dans la liste déroulante des connecteurs disponibles.
    2. Version du connecteur : sélectionnez la version du connecteur dans la liste déroulante des versions disponibles.
    3. Dans le champ Nom de connexion, saisissez un nom pour l'instance de connexion.

      Les noms de connexion doivent répondre aux critères suivants :

      • Les noms de connexion peuvent contenir des lettres, des chiffres ou des traits d'union.
      • Les lettres doivent être en minuscules.
      • Les noms de connexion doivent commencer par une lettre et se terminer par une lettre ou un chiffre.
      • Les noms de connexion ne doivent pas dépasser 49 caractères.
      • Pour les connecteurs compatibles avec l'abonnement aux événements, les noms de connexion ne peuvent pas commencer par le préfixe "goog".
    4. Saisissez éventuellement une Description pour l'instance de connexion.
    5. Compte de service : sélectionnez un compte de service disposant des rôles requis.
    6. Pour utiliser la connexion pour souscrire des abonnements à des événements, sélectionnez Activer l'abonnement aux événements. Sélection... active l'abonnement à l'événement avec des actions.
    7. Vous pouvez également configurer les paramètres du nœud de connexion :

      • Nombre minimal de nœuds : saisissez le nombre minimal de nœuds de connexion.
      • Nombre maximal de nœuds : saisissez le nombre maximal de nœuds de connexion.

      Un nœud est une unité (ou instance répliquée) de connexion qui traite des transactions. Pour traiter plus de transactions pour une connexion, plus de nœuds sont nécessaires. À l'inverse, moins de nœuds sont nécessaires pour traiter moins de transactions. Pour comprendre comment les nœuds affectent la tarification de votre connecteur, consultez la section Tarifs des nœuds de connexion. Si vous ne saisissez aucune valeur, le nombre minimal de nœuds est défini par défaut sur 2 (pour une meilleure disponibilité) et le nombre maximal sur 50.

    8. Nom de la file d'attente par défaut : nom de la file d'attente par défaut, peut être remplacé lors de l'exécution d'une action.
    9. Hôte virtuel : hôte virtuel pour RabbitMQ.
    10. Vous pouvez également cliquer sur + Ajouter une étiquette pour ajouter une étiquette à la connexion sous la forme d'une paire clé/valeur.
    11. Si vous souhaitez utiliser SSL, sélectionnez Activer SSL. Les détails de la configuration SSL s'affichent.
      1. Sélectionnez un type de truststore. Il peut s'agir de Public, Privé ou Connexion non sécurisée.
      2. Sélectionnez les certificats comme affiché en fonction de votre choix de truststore.
      3. Si vous utilisez mTLS, sélectionnez les certificats du magasin de clés dans la section Magasin de clés.
      4. Si vous le souhaitez, sélectionnez la version TLS.
      5. Saisissez la suite de chiffrement compatible. Saisissez plusieurs suites de chiffrement sous forme de valeurs séparées par des virgules. Pour en savoir plus, consultez la page Suites de chiffrement compatibles.
    12. Cliquez sur Suivant.
  5. Dans la section Destinations, saisissez les informations concernant l'hôte distant (système backend) auquel vous souhaitez vous connecter.
    1. Type de destination : sélectionnez un type de destination.
      • Sélectionnez Adresse hôte dans la liste pour spécifier le nom d'hôte ou l'adresse IP de la destination.
      • Si vous souhaitez établir une connexion privée à vos systèmes backend, sélectionnez Rattachement du point de terminaison dans la liste, puis sélectionnez le rattachement du point de terminaison requis dans la liste Rattachement du point de terminaison.

      Si vous souhaitez établir une connexion publique à vos systèmes backend avec une sécurité supplémentaire, vous pouvez envisager de configurer des adresses IP sortantes statiques pour vos connexions, puis de configurer vos règles de pare-feu pour ajouter à la liste d'autorisation uniquement les adresses IP statiques spécifiques.

    2. Cliquez sur Suivant.
  6. Dans la section Authentification, saisissez les informations d'authentification.
    1. Sélectionnez un type d'authentification, puis saisissez les informations appropriées.

      Les types d'authentification suivants sont compatibles avec la connexion RabbitMQ :

      • Anonyme
      • Nom d'utilisateur et mot de passe
    2. Pour comprendre comment configurer ces types d'authentification, consultez la section Configurer l'authentification.

    3. Cliquez sur Suivant.
  7. Dans la section Détails de l'abonnement aux événements, configurez les détails de l'événement.
    • Saisissez la configuration de lettres mortes. Si vous configurez une lettre morte, la connexion écrit les événements non traités dans le sujet Pub/Sub spécifié. Saisissez les informations suivantes:
      1. ID de projet de boîte à lettres morte : ID du projet Google Cloud dans lequel vous avez configuré le sujet Pub/Sub de boîte à lettres morte.
      2. Sujet de lettre morte : sujet Pub/Sub dans lequel vous souhaitez écrire les détails de l'événement non traité.
  8. Vérifiez vos informations de connexion et d'authentification.
  9. Cliquez sur Créer.

Configurer l'authentification

Saisissez les détails en fonction de l'authentification que vous souhaitez utiliser.

  • Anonyme

    Si vous souhaitez utiliser la connexion anonyme, sélectionnez Non disponible.

  • Nom d'utilisateur et mot de passe
    • Nom d'utilisateur : nom d'utilisateur RabbitMQ à utiliser pour la connexion.
    • Mot de passe : secret Secret Manager contenant le mot de passe associé au nom d'utilisateur RabbitMQ.

Entités, opérations et actions

Tous les connecteurs Integration Connectors fournissent une couche d'abstraction pour les objets de l'application connectée. Vous ne pouvez accéder aux objets d'une application que via cette abstraction. L'abstraction vous est présentée en tant qu'entités, opérations et actions.

  • Entité : une entité peut être considérée comme un objet ou un ensemble de propriétés dans l'application ou le service connecté. La définition d'une entité diffère d'un connecteur à l'autre. Par exemple, dans un connecteur de base de données, les tables sont les entités, dans un connecteur de serveur de fichiers, les dossiers sont les entités et, dans un connecteur de système de messagerie, les files d'attente sont les entités.

    Toutefois, il est possible qu'un connecteur ne soit pas compatible ou ne possède aucune entité. Dans ce cas, la liste Entities est vide.

  • Opération : une opération est l'activité que vous pouvez effectuer sur une entité. Vous pouvez effectuer l'une des opérations suivantes sur une entité :

    La sélection d'une entité dans la liste disponible génère une liste d'opérations disponibles pour l'entité. Pour obtenir une description détaillée des opérations, consultez les opérations d'entité de la tâche de connecteur. Toutefois, si un connecteur n'accepte aucune des opérations d'entité, opérations ne sont pas répertoriées dans la liste Operations.

  • Action : une action est une fonction de première classe mise à la disposition de l'intégration via l'interface du connecteur. Une action vous permet de modifier une ou plusieurs entités, et varie d'un connecteur à l'autre. Normalement, une action comporte des paramètres d'entrée et un paramètre de sortie. Toutefois, il est possible qu'un connecteur ne prenne en charge aucune action, auquel cas la liste Actions est vide.

Limites du système

Le connecteur Rabbit MQ peut traiter le nombre suivant de transactions par seconde et par node, et régule tout au-delà de cette limite:

  • 9 transactions maximum si vous utilisez principalement l'action sendMessage.
  • 1 transaction, si vous utilisez principalement l'action requestReply.

Par défaut, les connecteurs d'intégration allouent deux nœuds (pour une meilleure disponibilité) à une connexion.

Pour en savoir plus sur les limites applicables à Integration Connectors, consultez la section Limites.

Actions

La connexion Rabbit MQ permet les actions suivantes :

  • sendMessage : envoie un message à une file d'attente.
  • requestReply : envoie un message à une file d'attente et spécifie également la file d'attente de réponse dans laquelle la réponse doit être écrite.

Action sendMessage

Les tableaux suivants décrivent les paramètres d'entrée et de sortie de l'action sendMessage.

Paramètres d'entrée de l'action sendMessage

Nom du paramètre Requis Type de données Description
Message Oui Chaîne Message à envoyer à la file d'attente Rabbit MQ. Actuellement, la taille maximale de message acceptée est de 10 Mo.
queueName Non Chaîne Nom de la file d'attente Rabbit MQ. Si vous ne spécifiez pas de nom de file d'attente, le nom de file d'attente par défaut spécifié lors de la création de la connexion est utilisé.
messageContentType Oui String Type de contenu du message, que vous pouvez spécifier comme étant Text ou Bytes. Vous devez définir le type sur Bytes si vous envoyez des données binaires.

Pour envoyer un message au format binaire, vous devez effectuer les tâches suivantes :

  • Encodez le message binaire en tant que chaîne en Base64, puis définissez le paramètre message sur la valeur encodée.
  • Définissez la valeur du paramètre messageContentType sur Bytes.
messageType Oui String Type de message que vous pouvez spécifier en tant que Datagram ou Reply.
topicName Non Chaîne Nom du sujet Rabbit MQ. Si vous ne spécifiez pas de nom de sujet, le nom de file d'attente par défaut spécifié lors de la création de la connexion est utilisé.

Paramètres de sortie de l'action sendMessage

Nom du paramètre Type de données Description
messageId String ID du message envoyé.

Action requestReply

Les tableaux suivants décrivent les paramètres d'entrée et de sortie de l'action requestReply.

Paramètres d'entrée de l'action requestReply

Nom du paramètre Requis Type de données Description
Message Oui Chaîne Message à envoyer à la file d'attente Rabbit MQ. La taille maximale de message acceptée est de 10 Mo.
queueName Non Chaîne Nom de la file d'attente Rabbit MQ. Si vous ne spécifiez pas de nom de file d'attente, le nom de file d'attente par défaut spécifié lors de la création de la connexion est utilisé.
messageContentType Oui String Type de contenu du message, que vous pouvez spécifier comme étant Text ou Bytes. Vous devez définir le type sur Bytes si vous envoyez des données binaires.

Pour envoyer un message au format binaire, vous devez effectuer les tâches suivantes :

  • Encodez le message binaire en tant que chaîne en Base64, puis définissez le paramètre message sur la valeur encodée.
  • Définissez la valeur du paramètre messageContentType sur Bytes.
replyToQueue Oui String File d'attente sur laquelle la réponse doit être écrite.
replyTimeout Oui String Délai (en millisecondes) pendant lequel le connecteur attend la réponse dans la file d'attente. La valeur maximale acceptée est de 180 000 millisecondes (3 minutes).

Si la file d'attente de réponses reçoit un message après le délai d'expiration, ce message n'est pas traité par le connecteur. Toutefois, vous pouvez afficher les détails des messages expirés dans les journaux d'exécution de votre intégration.

Paramètres de sortie de l'action requestReply

Nom du paramètre Type de données Description
replyMessage String Message de réponse du répondeur.

Utiliser Terraform pour créer des connexions

Vous pouvez utiliser la ressource Terraform pour créer une connexion.

Pour savoir comment appliquer ou supprimer une configuration Terraform, consultez la page Commandes Terraform de base.

Pour consulter un exemple de modèle Terraform permettant de créer une connexion, consultez l'exemple de modèle.

Lorsque vous créez cette connexion à l'aide de Terraform, vous devez définir les variables suivantes dans votre fichier de configuration Terraform :

Nom du paramètre Type de données Requis Description
default_queue_name STRING Faux Le nom de la file d'attente par défaut peut être remplacé lors de l'exécution de l'action.
default_topic_name STRING Faux Nom du thème par défaut, peut être remplacé lors de l'exécution d'une action.
virtual_host STRING Vrai Hôte virtuel pour RabbitMQ.

Utiliser la connexion Rabbit MQ dans une intégration

Une fois la connexion créée, elle devient disponible à la fois dans Apigee Integration et Application Integration. Vous pouvez utiliser la connexion dans une intégration via la tâche Connecteurs.

  • Pour comprendre comment créer et utiliser la tâche "Connecteurs" dans Apigee Integration, consultez la section Tâche Connecteurs.
  • Pour savoir comment créer et utiliser la tâche Connecteurs dans Application Integration, consultez la section Tâche Connecteurs.