Elasticsearch
Le connecteur Elasticsearch vous permet de vous connecter à un moteur de recherche Elasticsearch et d'effectuer les opérations de moteur de recherche compatibles.
Avant de commencer
Avant d'utiliser le connecteur Elasticsearch, effectuez les tâches suivantes :
- Dans votre projet Google Cloud :
- Accorder à l'utilisateur le rôle IAM roles/connectors.admin configuration du 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 :
- 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.
- Cliquez sur + CRÉER pour ouvrir la page Créer une connexion.
- Dans la section Emplacement, choisissez l'emplacement de la connexion.
- 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.
- Cliquez sur NEXT (Suivant).
- Région : sélectionnez un emplacement dans la liste déroulante.
- Dans la section Détails de connexion, procédez comme suit :
- Connecteur : sélectionnez Elasticsearch dans la liste déroulante des connecteurs disponibles.
- Version du connecteur : sélectionnez la version du connecteur dans la liste déroulante des versions disponibles.
- 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 peuvent pas dépasser 63 caractères.
- Saisissez éventuellement une Description pour l'instance de connexion.
- Compte de service : sélectionnez un compte de service disposant des rôles requis.
- 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.
- Évaluation côté client : définissez ClientSideEvaluation sur "true" pour effectuer l'évaluation côté client sur des objets imbriqués.
- Modèle de données : spécifie le modèle de données à utiliser lors de l'analyse de documents Elasticsearch et de la génération des métadonnées de la base de données.
- Nombre max. de résultats : nombre total de résultats à renvoyer depuis Elasticsearch lorsque l'API Search est utilisée par défaut.
- Utiliser un proxy : cochez cette case pour configurer un serveur proxy pour la connexion, et spécifiez les valeurs suivantes :
-
Schéma d'authentification du proxy : sélectionnez le type d'authentification pour l'authentification auprès du serveur proxy. Les types d'authentification suivants sont compatibles :
- Basique : authentification HTTP de base.
- Condensé : authentification HTTP par condensé.
- Utilisateur du proxy : nom d'utilisateur à utiliser pour l'authentification auprès du serveur proxy.
- Mot de passe du proxy : secret Secret Manager du mot de passe de l'utilisateur.
-
Type SSL du proxy : type SSL à utiliser lors de la connexion au serveur proxy. Les types d'authentification suivants sont compatibles :
- Auto : paramètre par défaut. Dans le cas d'une URL HTTPS, l'option "Tunnel" est utilisée. Dans le cas d'une URL HTTP, l'option "JAMAIS" est utilisée.
- Toujours : la connexion SSL est toujours activée.
- Jamais : la connexion n'est pas activée pour SSL.
- Tunnel : la connexion s'effectue via un proxy de tunnelisation. Le serveur proxy ouvre une connexion à l'hôte distant et le trafic transite par le proxy.
- Dans la section Serveur proxy, saisissez les détails du serveur proxy.
- Cliquez sur + Ajouter une destination.
- Sélectionnez un type de destination.
- Adresse de l'hôte : spécifiez le nom d'hôte ou l'adresse IP de la destination.
Si vous souhaitez établir une connexion privée à votre système backend, procédez comme suit :
- Créez un rattachement de service PSC.
- Créez un rattachement de point de terminaison, puis saisissez les détails du rattachement de point de terminaison dans le champ Adresse de l'hôte.
- Adresse de l'hôte : spécifiez le nom d'hôte ou l'adresse IP de la destination.
- Vous pouvez également cliquer sur + AJOUTER UN LIBELLÉ pour ajouter un libellé à la connexion sous la forme d'une paire clé/valeur.
- Cliquez sur NEXT (Suivant).
- Dans la section Destinations, saisissez les informations concernant l'hôte distant (système backend) auquel vous souhaitez vous connecter.
- 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.
Pour saisir d'autres destinations, cliquez sur + AJOUTER UNE DESTINATION.
- Cliquez sur NEXT (Suivant).
- Type de destination : sélectionnez un type de destination.
-
Dans la section Authentification, saisissez les informations d'authentification.
- Sélectionnez un type d'authentification, puis saisissez les informations appropriées.
Les types d'authentification suivants sont compatibles avec la connexion Elasticsearch :
- Anonyme
- Nom d'utilisateur et mot de passe
- Cliquez sur NEXT (Suivant).
Pour comprendre comment configurer ces types d'authentification, consultez la section Configurer l'authentification.
- Sélectionnez un type d'authentification, puis saisissez les informations appropriées.
- Vérifiez vos informations de connexion et d'authentification.
- 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 du connecteur
- Mot de passe : Secret de Secret Manager contenant le mot de passe associé au connecteur.
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é, d'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 une 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 Elasticsearch peut traiter 10 transactions par seconde, par nœud, et régule toutes les transactions au-delà de cette limite. Par défaut, Integration Connectors alloue deux nœuds (pour une meilleure disponibilité) à une connexion.
Pour en savoir plus sur les limites applicables à Integration Connectors, consultez Limites.
Actions
Cette section liste les actions compatibles avec le connecteur. Pour comprendre comment configurer consultez la section Exemples d'actions.
Action CreateIndex
Cette action crée un index.
Paramètres d'entrée de l'action CreateIndex
Nom du paramètre | Type de données | Obligatoire | Description |
---|---|---|---|
AliasFilter | Chaîne | Non | Objet DSL de requête utilisé pour limiter les documents auxquels l'alias peut accéder. |
NumberOfShards | Chaîne | Non | Nombre de segments principaux que l'index créé doit avoir. |
AliasIsWriteIndex | Booléen | Non | Indique si l'index d'alias est accessible en écriture. |
Alias | Chaîne | Non | Alias de l'index. |
AliasIndexRouting | Chaîne | Non | Valeur utilisée pour l'alias afin d'acheminer les opérations d'indexation vers un segment spécifique. Si spécifié, cela écrase la valeur de routage pour les opérations d'indexation. |
Index | Chaîne | Oui | Nom de l'index. |
NumberOfRoutingShards | Chaîne | Non | Nombre utilisé par Elasticsearch en interne avec la valeur de NumberOfShards pour acheminer les documents vers un segment principal. |
OtherSettings | Chaîne | Non | Objet JSON de paramètres. Ce paramètre ne peut pas être utilisé conjointement avec NumberOfRoutingShards ou NumberOfShards. |
Mappages | Chaîne | Non | Objet JSON spécifiant le mappage de l'index. |
AliasIsHidden | Booléen | Non | Indique si l'alias est masqué. Tous les index de l'alias doivent avoir la même valeur is_hidden . |
AliasRouting | Chaîne | Non | Valeur utilisée pour l'alias afin d'acheminer les opérations d'indexation et de recherche vers un segment spécifique. Peut être écrasé par AliasIndexRouting ou AliasSearchRouting pour certaines opérations. |
Paramètres de sortie de l'action CreateIndex
Cette action renvoie l'état 200 (OK) si elle a abouti.
Pour comprendre comment configurer l'action CreateIndex
,
consultez les exemples d'actions.
Action ModifyIndexAliases
Cette action modifie un alias d'index.
Paramètres d'entrée de l'action ModifyIndexAliases
Nom du paramètre | Type de données | Obligatoire | Description |
---|---|---|---|
Alias | Chaîne | Non | Nom de l'alias. Les alias multiples sont séparés par un point-virgule. |
Filter | Chaîne | Non | Filtre à utiliser lors de la création de l'alias. Elle utilise le filtre JSON brut DSL de requête. Les filtres multiples sont séparés par un point-virgule. |
Routage | Chaîne | Non | Valeur de routage à associer à l'alias. Plusieurs valeurs de routage sont séparées par un point-virgule. |
SearchRouting | Chaîne | Non | Valeur de routage à associer à l'alias pour les opérations de recherche. Multiples les valeurs de routage de la recherche sont séparées par un point-virgule. |
IndexRouting | Chaîne | Non | Valeur de routage à associer à l'alias pour les opérations d'indexation. Index multiple les valeurs de routage sont séparées par un point-virgule. |
Action | Chaîne | Oui | L'action à effectuer, par exemple add , remove ou remove_index .
Les actions multiples sont séparées par un point-virgule. |
Index | Chaîne | Oui | Nom de l'index. Les index multiples sont séparés par un point-virgule. |
Paramètres de sortie de l'action ModifyIndexAliases
Cette action renvoie l'état 200 (OK) si elle aboutit.
Pour comprendre comment configurer l'action ModifyIndexAliases
,
consultez les exemples d'actions.
Action ExecuteCustomQuery
Cette action vous permet d'exécuter une requête personnalisée.
Pour créer une requête enregistrée, procédez comme suit :
- Suivez les instructions détaillées pour ajouter une tâche de connecteurs.
- Lorsque vous configurez la tâche de connecteur, sélectionnez Actions dans le type d'action à effectuer.
- Dans la liste Action, sélectionnez Exécuter une requête personnalisée, puis cliquez sur OK.
- Développez la section Entrée de la tâche, puis procédez comme suit :
- Dans le champ Délai d'inactivité après, saisissez le nombre de secondes d'attente jusqu'à l'exécution de la requête.
Valeur par défaut :
180
secondes. - Dans le champ Nombre maximal de lignes, saisissez le nombre maximal de lignes à renvoyer à partir de la base de données.
Valeur par défaut :
25
- Pour mettre à jour la requête personnalisée, cliquez sur Modifier le script personnalisé. La boîte de dialogue Éditeur de script s'affiche.
- Dans la boîte de dialogue Éditeur de script, saisissez la requête SQL, puis cliquez sur Enregistrer.
Vous pouvez utiliser un point d'interrogation (?) dans une instruction SQL pour représenter un seul paramètre devant être spécifié dans la liste des paramètres de requête. Par exemple, la requête SQL suivante sélectionne toutes les lignes de la table
Employees
correspondant aux valeurs spécifiées pour la colonneLastName
:SELECT * FROM Employees where LastName=?
- Si vous avez utilisé des points d'interrogation dans votre requête SQL, vous devez ajouter le paramètre en cliquant sur + Ajouter un nom de paramètre pour chaque point d'interrogation. Lors de l'exécution de l'intégration, ces paramètres remplacent les points d'interrogation (?) de la requête SQL de manière séquentielle. Par exemple, si vous avez ajouté trois points d'interrogation (?), vous devez ajouter trois paramètres dans l'ordre.
Pour ajouter des paramètres de requête, procédez comme suit :
- Dans la liste Type, sélectionnez le type de données du paramètre.
- Dans le champ Valeur, saisissez la valeur du paramètre.
- Pour ajouter plusieurs paramètres, cliquez sur + Ajouter un paramètre de requête.
- Dans le champ Délai d'inactivité après, saisissez le nombre de secondes d'attente jusqu'à l'exécution de la requête.
Si l'exécution réussit, cette action renvoie l'état 200 (OK) avec un corps de réponse contenant les résultats de la requête.
Exemples d'actions
Cette section décrit comment effectuer certaines actions dans ce connecteur.
Exemple : Créer un index
Cet exemple crée un index.
- Dans la boîte de dialogue
Configure connector task
, cliquez surActions
. - Sélectionnez l'action
CreateIndex
, puis cliquez sur OK. - Dans la section Task Input (Entrée de la tâche) de la tâche Connectors (Connecteurs), cliquez sur
connectorInputPayload
, puis saisissez une valeur semblable à celle-ci dans la section ChampDefault Value
:{ "Index": "new_index_1" }
Si l'action aboutit, la
Réponse connectorOutputPayload
de la tâche CreateIndex
aura une valeur semblable à celle-ci:
[{ "CompletedBeforeTimeout": "true", "ShardsAcknowledged": "true", "IndexName": "new_index_1" }]
Exemple – Modifier un alias d'index
Cet exemple montre comment modifier un alias d'index.
- Dans la boîte de dialogue
Configure connector task
, cliquez surActions
. - Sélectionnez l'action
ModifyIndexAliases
, puis cliquez sur OK. - Dans la section Task Input (Entrée de la tâche) de la tâche Connectors (Connecteurs), cliquez sur
connectorInputPayload
, puis saisissez une valeur semblable à celle-ci dans la section ChampDefault Value
:{ "Action": "remove_index", "Index": "postmanindex" }
Si l'action aboutit, la
Réponse connectorOutputPayload
de la tâche ModifyIndexAliases
aura une valeur semblable à celle-ci:
[{ }]
Exemples d'opérations sur les entités
Cette section explique comment effectuer certaines opérations sur les entités dans ce connecteur.
Exemple : Répertorier tous les enregistrements
Cet exemple répertorie tous les enregistrements de l'entité Demoindex
.
- Dans la boîte de dialogue
Configure connector task
, cliquez surEntities
. - Sélectionnez
Demoindex
dans la listeEntity
. - Sélectionnez l'opération
List
, puis cliquez sur OK. - Si vous le souhaitez, vous pouvez effectuer les actions suivantes dans la section Task Input (Entrée dans la tâche) de la tâche Connectors (Connecteurs). filtrer votre ensemble de résultats en spécifiant une clause de filtre. Spécifiez toujours la valeur de la clause de filtre entre guillemets simples (').
Exemple – Obtenir un enregistrement à partir d'une entité
Cet exemple récupère un enregistrement avec l'ID spécifié à partir de l'entité Demoindex
.
- Dans la boîte de dialogue
Configure connector task
, cliquez surEntities
. - Sélectionnez
Demoindex
dans la listeEntity
. - Sélectionnez l'opération
Get
, puis cliquez sur OK. - Dans la section Task Input (Entrée de la tâche) de la tâche Connectors (Connecteurs), cliquez sur EntityId (ID d'entité).
puis saisissez
23
dans le champ Default Value (Valeur par défaut).Ici,
23
est un ID d'enregistrement unique dans l'entitéDemoindex
.
Exemple – Créer un enregistrement dans une entité
Cet exemple crée un enregistrement dans l'entité Demoindex
.
- Dans la boîte de dialogue
Configure connector task
, cliquez surEntities
. - Sélectionnez
Demoindex
dans la listeEntity
. - Sélectionnez l'opération
Create
, puis cliquez sur OK. - Dans la section Task Input (Entrée de la tâche) de la tâche Connectors (Connecteurs), cliquez sur
connectorInputPayload
, puis saisissez une valeur semblable à celle-ci dans la section ChampDefault Value
:{ "message": "GET /search HTTP/1.1 200 1070000", "@timestamp": "2099-11-15 13:12:00.0" }
Si l'intégration réussit, le champ
connectorOutputPayload
de votre tâche de connecteur comportera un semblable à celle-ci:[{ "_id": "23" }]
Exemple : Mettre à jour un enregistrement
Cet exemple met à jour l'enregistrement avec l'ID spécifié dans l'entité Demoindex
.
- Dans la boîte de dialogue
Configure connector task
, cliquez surEntities
. - Sélectionnez
Demoindex
dans la listeEntity
. - Sélectionnez l'opération
Update
, puis cliquez sur OK. - Dans la section Task Input (Entrée de la tâche) de la tâche Connectors (Connecteurs), cliquez sur
connectorInputPayload
, puis saisissez une valeur semblable à celle-ci dans la section ChampDefault Value
:{ "message": "GET /search HTTP/1.1 200 1070000", "@timestamp": "2099-11-15 13:12:00.0", "name": "GoogleCloud_Update_docs", "price": 10.0}
- Cliquez sur entityId, puis saisissez
23
dans le champ Valeur par défaut.Si l'intégration réussit, le champ
connectorOutputPayload
de votre tâche de connecteur comportera un semblable à celle-ci:[{ "_id": "23" }]
Exemple : supprimer un enregistrement d'une entité
Cet exemple supprime l'enregistrement avec l'ID spécifié dans l'entité Demoindex
.
- Dans la boîte de dialogue
Configure connector task
, cliquez surEntities
. - Sélectionnez
Demoindex
dans la listeEntity
. - Sélectionnez l'opération
Delete
, puis cliquez sur OK. - Dans la section Task Input (Entrée de la tâche) de la tâche Connectors (Connecteurs), cliquez sur entityId et
puis saisissez
pcqT4wB4uQNUCuamh4N
dans le champ Default Value (Valeur par défaut).
Utiliser Terraform pour créer des connexions
Vous pouvez utiliser l'outil Terraform ressource pour créer une connexion.Pour savoir comment appliquer ou supprimer une configuration Terraform, consultez la page Commandes Terraform de base.
Pour afficher un exemple de modèle Terraform pour la création de connexions, consultez cet 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 |
---|---|---|---|
client_side_evaluation | VALEUR BOOLÉENNE | Faux | Définissez ClientSideEvaluation sur "true" pour effectuer l'évaluation côté client sur des objets imbriqués. |
data_model | ENUM | Faux | Spécifie le modèle de données à utiliser lors de l'analyse des documents Elasticsearch et de la génération des métadonnées de la base de données. Les valeurs acceptées sont: Document, FlattenedDocuments, Relational. |
max_results | STRING | Faux | Nombre maximal de résultats totaux à renvoyer par Elasticsearch en cas d'utilisation de l'API Search par défaut. |
verbosité | STRING | Faux | Niveau de verbosité de la connexion (varie de 1 à 5). Un niveau de verbosité plus élevé consigne tous les détails de la communication (certificats de requête,de réponse et SSL). |
proxy_enabled | VALEUR BOOLÉENNE | Faux | Cochez cette case pour configurer un serveur proxy pour la connexion. |
proxy_auth_scheme | ENUM | Faux | Type d'authentification à utiliser pour s'authentifier auprès du proxy ProxyServer. Les valeurs acceptées sont: BASIC, DIGEST, NONE |
proxy_user | STRING | Faux | Nom d'utilisateur permettant de s'authentifier auprès du proxy ProxyServer. |
proxy_password | SECRET | Faux | Mot de passe à utiliser pour l'authentification auprès du proxy ProxyServer. |
proxy_ssltype | ENUM | Faux | Type SSL à utiliser lors de la connexion au proxy ProxyServer. Les valeurs acceptées sont: AUTO, ALWAYS, NEVER et TUNNEL. |
Utiliser la connexion Elasticsearch dans une intégration
Une fois la connexion créée, elle devient disponible à la fois Apigee Integration et Application Integration. Vous pouvez utiliser la connexion lors d'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 découvrir comment créer et utiliser la tâche "Connecteurs" dans Application Integration, consultez la section Tâche Connecteurs.
Obtenir de l'aide auprès de la communauté Google Cloud
Vous pouvez publier vos questions et discuter de ce connecteur sur les forums Cloud de la communauté Google Cloud.Étape suivante
- Découvrez comment suspendre et réactiver une connexion.
- Découvrez comment surveiller l'utilisation des connecteurs.
- Découvrez comment afficher les journaux du connecteur.