RabbitMQ

Le connecteur RabbitMQ fournit une connectivité à RabbitMQ.

Avant de commencer

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

  • Dans votre projet Google Cloud :
    • Assurez-vous que la connectivité réseau est configurée. Pour en savoir plus sur les schémas de réseau, consultez Connectivité réseau.
    • 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 type spécial de compte Google 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 en savoir plus, consultez 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 Activer des services.

    Si ces services ou autorisations n'ont pas encore été activés pour votre projet, vous êtes invité à les activer au moment de configurer le connecteur.

Configurer le connecteur

Une connexion est propre à 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 > 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 Emplacements.

    2. Cliquez sur Suivant.
  4. Dans la section Détails de la 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, indiquez le nom de l'instance de connexion.

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

      • Ils peuvent contenir des lettres, des chiffres ou des traits d'union.
      • Les lettres doivent être en minuscules.
      • Ils doivent commencer par une lettre et se terminer par une lettre ou un chiffre.
      • Ils ne peuvent pas dépasser 49 caractères.
      • Pour les connecteurs qui acceptent les abonnements aux événements, les noms de connexion ne peuvent pas commencer par le préfixe "goog".
    4. (Facultatif) Saisissez une description de 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 les abonnements aux événements, sélectionnez Activer l'abonnement aux événements. Si vous sélectionnez cette option, l'abonnement à l'événement avec actions est activé.
    7. (Facultatif) Configurez les paramètres des nœuds 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 davantage de transactions pour une connexion, vous devez disposer de plus de nœuds. À l'inverse, moins de nœuds sont nécessaires si une connexion traite moins de transactions. Pour comprendre comment les nœuds affectent la tarification de votre connecteur, consultez 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 améliorer la disponibilité) et le nombre maximal de nœuds sur 50.

    8. Nom de la file d'attente par défaut : le nom de la file d'attente par défaut peut être remplacé quand vous exécutez une action.
    9. Hôte virtuel : hôte virtuel pour RabbitMQ.
    10. (Facultatif) Cliquez 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 magasin de confiance. Vous avez le choix entre Public, Privé ou Connexion non sécurisée.
      2. Sélectionnez les certificats tels qu'ils sont affichés en fonction du magasin de confiance que vous avez choisi.
      3. Si vous utilisez mTLS, sélectionnez les certificats du magasin de clés dans la section Magasin de clés.
      4. (Facultatif) Sélectionnez la version TLS.
      5. Saisissez la suite de chiffrement compatible. Pour indiquer plusieurs suites de chiffrement, séparez-les par une virgule. Pour en savoir plus, consultez Suites de chiffrement compatibles.
    12. Cliquez sur Suivant.
  5. Dans la section Destinations, saisissez des informations sur 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 de l'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 de point de terminaison dans la liste, puis sélectionnez le rattachement de point de terminaison requis dans la liste Rattachement de 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 savoir comment configurer ces types d'authentification, consultez Configurer l'authentification.

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

Configurer l'authentification

Saisissez les informations 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 par le biais de 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és. 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, alors que dans un connecteur de serveur de fichiers, ce sont les dossiers, et dans un connecteur de système de messagerie, ce sont les files d'attente.

    Toutefois, il est possible qu'un connecteur n'accepte 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é. Voici les opérations possibles :

    Lorsque vous sélectionnez une entité dans la liste proposée, cela 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 "Connecteurs". Cependant, si un connecteur n'accepte pas l'une des opérations d'entité, cette opération non compatible ne figure pas dans la liste Operations.

  • Action : une action est une fonction de première classe mise à la disposition de l'intégration par le biais de 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 n'accepte aucune action, auquel cas la liste Actions est vide.

Limites du système

Le connecteur RabbitMQ peut traiter le nombre de transactions par seconde et par nœud indiqué ci-dessous, et limite les transactions au-delà de ce seuil :

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

Par défaut, Integration Connectors alloue deux nœuds (pour améliorer la disponibilité) à une connexion.

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

Actions

La connexion RabbitMQ 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 Obligatoire Type de données Description
message Oui Chaîne Message à envoyer à la file d'attente RabbitMQ. Actuellement, la taille maximale acceptée pour les messages est de 10 Mo.
queueName Non Chaîne Nom de la file d'attente RabbitMQ. Si vous ne spécifiez pas de nom de file d'attente, le nom de file d'attente par défaut indiqué lors de la création de la connexion est utilisé.
messageContentType Oui Chaîne 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 sous la forme d'une 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 Chaîne Type de message que vous pouvez spécifier comme étant Datagram ou Reply.
topicName Non Chaîne Nom du sujet RabbitMQ. Si vous ne spécifiez pas de nom de sujet, le nom de file d'attente par défaut indiqué 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 Chaîne 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 Obligatoire Type de données Description
message Oui Chaîne Message à envoyer à la file d'attente RabbitMQ. La taille maximale acceptée pour les messages est de 10 Mo.
queueName Non Chaîne Nom de la file d'attente RabbitMQ. Si vous ne spécifiez pas de nom de file d'attente, le nom de file d'attente par défaut indiqué lors de la création de la connexion est utilisé.
messageContentType Oui Chaîne 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 sous la forme d'une 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 Chaîne File d'attente dans laquelle la réponse doit être écrite.
replyTimeout Oui Chaîne 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 Chaîne Message de réponse du système de réponse.

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 Commandes Terraform de base.

Pour afficher un exemple de modèle Terraform permettant de créer une connexion, consultez 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 Obligatoire Description
default_queue_name CHAÎNE Non Nom de la file d'attente par défaut ; peut être remplacé lors de l'exécution d'une action.
default_topic_name CHAÎNE Non Nom du sujet par défaut ; peut être remplacé quand vous exécutez une action.
virtual_host CHAÎNE Oui Hôte virtuel pour RabbitMQ.

Utiliser la connexion RabbitMQ dans une intégration

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

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