Elasticsearch
Il connettore Elasticsearch ti consente di connetterti a un motore di ricerca Elasticsearch ed eseguire le operazioni del motore di ricerca supportate.
Prima di iniziare
Prima di utilizzare il connettore Elasticsearch, esegui le seguenti attività:
- Nel tuo progetto Google Cloud:
- Concedi il ruolo IAM roles/connectors.admin all'utente. configurazione del connettore.
- Concedi i seguenti ruoli IAM all'account di servizio che vuoi utilizzare per il connettore:
roles/secretmanager.viewer
roles/secretmanager.secretAccessor
Un account di servizio è un tipo speciale di Account Google destinato a rappresentare un utente "non umano" che deve eseguire l'autenticazione ed essere autorizzato ad accedere ai dati nelle API Google. Se non hai un account di servizio, devi crearne uno. Per maggiori informazioni, consulta Creare un account di servizio.
- Attiva i seguenti servizi:
secretmanager.googleapis.com
(API Secret Manager)connectors.googleapis.com
(API Connectors)
Per informazioni su come attivare i servizi, consulta Abilitazione dei servizi.
Se questi servizi o autorizzazioni non sono stati attivati in precedenza per il tuo progetto, ti verrà chiesto di attivarli durante la configurazione del connettore.
Configura il connettore
Per configurare il connettore devi creare una connessione all'origine dati (sistema di backend). Una connessione è specifica per un'origine dati. Ciò significa che se hai molte origini dati, devi creare una connessione distinta per ciascuna. Per creare una connessione:
- Nella console Cloud, vai alla pagina Connettori di integrazione > Connessioni, quindi seleziona o crea un progetto Google Cloud.
- Fai clic su + CREA NUOVO per aprire la pagina Crea connessione.
- Nella sezione Località, scegli la località della connessione.
- Regione: seleziona una località dall'elenco a discesa.
Per l'elenco di tutte le aree geografiche supportate, consulta la sezione Località.
- Fai clic su AVANTI.
- Regione: seleziona una località dall'elenco a discesa.
- Nella sezione Dettagli connessione, completa quanto segue:
- Connettore: seleziona Elasticsearch dall'elenco a discesa dei connettori disponibili.
- Versione del connettore: seleziona la versione del connettore dall'elenco a discesa delle versioni disponibili.
- Nel campo Nome connessione, inserisci un nome per l'istanza di connessione.
I nomi delle connessioni devono soddisfare i seguenti criteri:
- I nomi delle connessioni possono contenere lettere, numeri o trattini.
- Le lettere devono essere minuscole.
- I nomi delle connessioni devono iniziare con una lettera e terminare con una lettera o un numero.
- I nomi delle connessioni non possono contenere più di 49 caratteri.
- Facoltativamente, inserisci una descrizione per l'istanza di connessione.
- Facoltativamente, abilita Cloud Logging,
e poi seleziona un livello di log. Per impostazione predefinita, il livello di log è impostato su
Error
. - Account di servizio: seleziona un account di servizio con i ruoli richiesti.
- Facoltativamente, configura le impostazioni del nodo di connessione:
- Numero minimo di nodi: inserisci il numero minimo di nodi di connessione.
- Numero massimo di nodi: inserisci il numero massimo di nodi di connessione.
Un nodo è un'unità (o una replica) di una connessione che elabora le transazioni. Sono necessari più nodi per elaborare più transazioni per una connessione e, al contrario, meno nodi per elaborare meno transazioni. Per comprendere in che modo i nodi influiscono sui prezzi dei connettori, consulta Prezzi per i nodi di connessione. Se non inserisci alcun valore, per impostazione predefinita il numero minimo di nodi è impostato su 2 (per una maggiore disponibilità) e il numero massimo di nodi è impostato su 50.
- Valutazione lato client: imposta ClientSideEvaluation su true per eseguire la valutazione lato client su oggetti nidificati.
- Modello di dati: specifica il modello di dati da utilizzare durante l'analisi dei documenti Elasticsearch e la generazione dei metadati del database.
- Risultati massimi: il numero massimo di risultati totali da restituire da Elasticsearch quando si utilizza l'API Search predefinita.
- Utilizza proxy: seleziona questa casella di controllo per configurare un server proxy per la connessione e configurare i seguenti valori:
-
Schema di autenticazione proxy: seleziona il tipo di autenticazione per l'autenticazione con il server proxy. Sono supportati i seguenti tipi di autenticazione:
- Di base: autenticazione HTTP di base.
- Digest: autenticazione HTTP digest.
- Utente proxy: un nome utente da utilizzare per l'autenticazione con il server proxy.
- Password proxy: il segreto di Secret Manager della password dell'utente.
-
Tipo SSL proxy: il tipo di SSL da utilizzare per la connessione al server proxy. Sono supportati i seguenti tipi di autenticazione:
- Automatica: l'impostazione predefinita. Se l'URL è HTTPS, viene utilizzata l'opzione Tunnel. Se l'URL è un URL HTTP, viene utilizzata l'opzione MAI.
- Sempre: la connessione è sempre SSL abilitata.
- Mai: la connessione non è abilitata per SSL.
- Tunnel: la connessione avviene attraverso un proxy di tunneling. Il server proxy apre una connessione all'host remoto e il traffico fluisce avanti e indietro attraverso il proxy.
- Nella sezione Server proxy, inserisci i dettagli del server proxy.
- Fai clic su + Aggiungi destinazione.
- Seleziona un Tipo di destinazione.
- Indirizzo host: specifica il nome host o l'indirizzo IP della destinazione.
Per stabilire una connessione privata al sistema di backend:
- Crea un collegamento del servizio PSC.
- Crea un collegamento dell'endpoint e poi inserisci i dettagli del collegamento dell'endpoint nel campo Indirizzo host.
- Indirizzo host: specifica il nome host o l'indirizzo IP della destinazione.
- Se vuoi, fai clic su + AGGIUNGI ETIQUETTA per aggiungere un'etichetta alla connessione sotto forma di coppia chiave/valore.
- Fai clic su AVANTI.
- Nella sezione Destinazioni, inserisci i dettagli dell'host remoto (sistema di backend) a cui vuoi connetterti.
- Tipo di destinazione: seleziona un Tipo di destinazione.
- Seleziona Indirizzo host dall'elenco per specificare il nome host o l'indirizzo IP della destinazione.
- Se vuoi stabilire una connessione privata ai tuoi sistemi di backend, seleziona Collegamento endpoint dall'elenco, quindi seleziona il collegamento dell'endpoint richiesto. dall'elenco Allegato endpoint.
Se vuoi stabilire una connessione pubblica ai tuoi sistemi di backend con maggiore sicurezza, puoi valuta la possibilità di configurare una rete statica in uscita indirizzi IP per le tue connessioni, quindi configura le regole del firewall per inserire nella lista consentita solo gli indirizzi IP statici specifici.
Per inserire destinazioni aggiuntive, fai clic su + AGGIUNGI DESTINAZIONE.
- Fai clic su AVANTI.
- Tipo di destinazione: seleziona un Tipo di destinazione.
-
Nella sezione Autenticazione, inserisci i dettagli di autenticazione.
- Seleziona un Tipo di autenticazione e inserisci i dettagli pertinenti.
La connessione Elasticsearch supporta i seguenti tipi di autenticazione:
- Anonimo
- Nome utente e password
- Fai clic su AVANTI.
Per capire come configurare questi tipi di autenticazione, consulta Configurare l'autenticazione.
- Seleziona un Tipo di autenticazione e inserisci i dettagli pertinenti.
- Rivedi: controlla i dettagli di connessione e autenticazione.
- Fai clic su Crea.
Configura autenticazione
Inserisci i dettagli in base all'autenticazione che vuoi utilizzare.
-
Anonimo
Se vuoi utilizzare l'accesso anonimo, seleziona Non disponibile.
-
Nome utente e password
- Nome utente: nome utente del connettore
- Password: il segreto Secret Manager contenente la password associata al connettore.
Entità, operazioni e azioni
Tutti gli Integration Connectors forniscono un livello di astrazione per gli oggetti dell'applicazione collegata. Puoi accedere agli oggetti di un'applicazione solo tramite questa astrazione. L'astrazione ti viene esposta sotto forma di entità, operazioni e azioni.
- Entità: un'entità può essere considerata un oggetto o una raccolta di proprietà nell'applicazione o nel servizio collegato. La definizione di un'entità differisce da un connettore
di rete. Ad esempio, in un connettore di database le tabelle sono le entità, in un connettore di file server le cartelle sono le entità e in un connettore di sistema di messaggistica le code sono le entità.
Tuttavia, è possibile che un connettore non supporti o non abbia entità, nel qual caso l'elenco
Entities
sarà vuoto. - Operazione: un'operazione è l'attività che puoi eseguire su un'entità. Puoi eseguire su un'entità una delle seguenti operazioni:
La selezione di un'entità dall'elenco disponibile genera un elenco di operazioni disponibili per l'entità. Per una descrizione dettagliata delle operazioni, consulta operazioni relative a entità. Tuttavia, se un connettore non supporta nessuna delle operazioni relative all'entità, come quelle non supportate operazioni non sono elencate nell'elenco
Operations
. - Azione: un'azione è una funzione di prima classe resa disponibile all'integrazione tramite l'interfaccia del connettore. Un'azione consente di apportare modifiche a una o più entità
variano da connettore a connettore. Normalmente, un'azione ha alcuni parametri di input e un output
. Tuttavia, è possibile
che un connettore non supporti alcuna azione, nel qual caso l'elenco
Actions
sarà vuoto.
Limitazioni di sistema
Il connettore Elasticsearch può elaborare 10 transazioni al secondo, per nodo, e throttles qualsiasi transazione oltre questo limite. Per impostazione predefinita, Integration Connectors alloca 2 nodi (per una maggiore disponibilità) per una connessione.
Per informazioni sui limiti applicabili a Integration Connectors, vedi Limiti.
Azioni
Questa sezione elenca le azioni supportate dal connettore. Per capire come configurare le azioni, consulta Esempi di azioni.
Azione CreateIndex
Questa azione crea un indice.
Parametri di input dell'azione CreateIndex
Nome parametro | Tipo di dati | Obbligatorio | Descrizione |
---|---|---|---|
AliasFilter | Stringa | No | Oggetto DSL di query utilizzato per limitare i documenti a cui può accedere l'alias. |
NumberOfShards | Stringa | No | Il numero di shard primari che l'indice creato dovrebbe avere. |
AliasIsWriteIndex | Booleano | No | Specifica se l'indice dell'alias è scrivibile. |
Alias | Stringa | No | Un alias per l'indice. |
AliasIndexRouting | Stringa | No | Valore utilizzato per l'alias per instradare le operazioni di indicizzazione a uno specifico shard. Se specificato, questo sostituisce il valore di routing per le operazioni di indicizzazione. |
Indice | Stringa | Sì | Il nome dell'indice. |
NumberOfRoutingShards | Stringa | No | Numero utilizzato internamente da Elasticsearch con il valore di NumberOfShards per instradare i documenti a uno shard principale. |
OtherSettings | Stringa | No | Un oggetto JSON di impostazioni. Questa impostazione non può essere utilizzata insieme a NumberOfRoutingShards o NumberOfShards. |
Mappature | Stringa | No | Un oggetto JSON che specifica il mapping per l'indice. |
AliasIsHidden | Booleano | No | Specifica se l'alias è nascosto. Tutti gli indici dell'alias devono avere lo stesso valore is_hidden . |
AliasRouting | Stringa | No | Valore utilizzato dall'alias per instradare le operazioni di indicizzazione e ricerca a uno shard specifico. Potrebbe essere sovrascritto da AliasIndexRouting o AliasSearchRouting per determinate operazioni. |
Parametri di output dell'azione CreateIndex
Se l'azione è riuscita, questa azione restituisce lo stato 200 (OK).
Per capire come configurare l'azione CreateIndex
, consulta Esempi di azioni.
Azione EditIndexAliases
Questa azione modifica un alias di indice.
Parametri di input dell'azione ModificaAliasIndice
Nome parametro | Tipo di dati | Obbligatorio | Descrizione |
---|---|---|---|
Alias | Stringa | No | Il nome dell'alias. Gli alias multipli sono separati da punto e virgola. |
Filtro | Stringa | No | Un filtro da utilizzare quando crei l'alias. Prende il filtro JSON non elaborato utilizzando Esegui una query su DSL. I filtri multipli sono separati da punto e virgola. |
Routing | Stringa | No | Il valore di routing da associare all'alias. Più valori di routing sono separati da punto e virgola. |
SearchRouting | Stringa | No | Il valore di routing da associare all'alias per le operazioni di ricerca. Più di uno i valori di routing della ricerca sono separati da punto e virgola. |
IndexRouting | Stringa | No | Il valore di routing da associare all'alias per le operazioni di indicizzazione. I valori di routing degli indici multipli sono separati da punto e virgola. |
Azione | Stringa | Sì | L'azione da eseguire, ad esempio add , remove o remove_index .
Le azioni multiple sono separate da punto e virgola. |
Indice | Stringa | Sì | Il nome dell'indice. Più indici sono separati da punto e virgola. |
Parametri di output dell'azione ModificaAliasIndice
Se l'azione è riuscita, questa azione restituisce lo stato 200 (OK).
Per capire come configurare l'azione ModifyIndexAliases
:
consulta gli esempi di azioni.
azione Esecuzione CustomQuery
Questa azione ti consente di eseguire una query personalizzata.
Per creare una query personalizzata:
- Segui le istruzioni dettagliate per aggiungere un'attività di connettori.
- Quando configuri l'attività del connettore, seleziona Azioni nel tipo di azione che vuoi eseguire.
- Nell'elenco Azione, seleziona Esegui query personalizzata e poi fai clic su Fine.
- Espandi la sezione Input attività e segui questi passaggi:
- Nel campo Timeout dopo, inserisci il numero di secondi di attesa prima che la query venga eseguita.
Valore predefinito:
180
secondi. - Nel campo Numero massimo di righe, inserisci il numero massimo di righe da restituire dal database.
Valore predefinito:
25
. - Per aggiornare la query personalizzata, fai clic su Modifica script personalizzato. Viene visualizzata la finestra di dialogo Editor di script.
- Nella finestra di dialogo Editor di script, inserisci la query SQL e fai clic su Salva.
Puoi utilizzare un punto interrogativo (?) in un'istruzione SQL per rappresentare un singolo parametro che deve essere specificato nell'elenco dei parametri di ricerca. Ad esempio, la seguente query SQL seleziona tutte le righe della tabella
Employees
che corrispondono ai valori specificati per la colonnaLastName
:SELECT * FROM Employees where LastName=?
- Se hai utilizzato dei punti interrogativi nella query SQL, devi aggiungere il parametro facendo clic su + Aggiungi nome parametro per ciascun punto. Durante l'esecuzione dell'integrazione, questi parametri sostituiscono in modo sequenziale i punti interrogativi (?) nella query SQL. Ad esempio, se hai aggiunto tre punti interrogativi (?), devi aggiungere tre parametri in ordine sequenziale.
Per aggiungere i parametri di query:
- Nell'elenco Tipo, seleziona il tipo di dati del parametro.
- Nel campo Valore, inserisci il valore del parametro.
- Per aggiungere più parametri, fai clic su + Aggiungi parametro di query.
- Nel campo Timeout dopo, inserisci il numero di secondi di attesa prima che la query venga eseguita.
In caso di esecuzione riuscita, questa azione restituisce lo stato 200 (OK) con un corpo di risposta contenente i risultati della query.
Esempi di azioni
Questa sezione descrive come eseguire alcune delle azioni in questo connettore.
Esempio: creare un indice
Questo esempio crea un indice.
- Nella finestra di dialogo
Configure connector task
, fai clic suActions
. - Seleziona l'azione
CreateIndex
e poi fai clic su Fine. - Nella sezione Input attività dell'attività Connettori, fai clic su
connectorInputPayload
e poi inserisci un valore simile al seguente nel campoDefault Value
:{ "Index": "new_index_1" }
Se l'azione viene eseguita correttamente,
Risposta connectorOutputPayload
dell'attività CreateIndex
avrà un valore simile al seguente:
[{ "CompletedBeforeTimeout": "true", "ShardsAcknowledged": "true", "IndexName": "new_index_1" }]
Esempio - Modificare un alias di un indice
Questo esempio mostra come modificare un alias di indice.
- Nella finestra di dialogo
Configure connector task
, fai clic suActions
. - Seleziona l'azione
ModifyIndexAliases
e fai clic su Fine. - Nella sezione Input attività dell'attività Connettori, fai clic su
connectorInputPayload
e poi inserisci un valore simile al seguente nel campoDefault Value
:{ "Action": "remove_index", "Index": "postmanindex" }
Se l'azione ha esito positivo, il parametro di risposta connectorOutputPayload
della task ModifyIndexAliases
avrà un valore simile al seguente:
[{ }]
Esempi di operazioni sulle entità
Questa sezione mostra come eseguire alcune delle operazioni sulle entità in questo connettore.
Esempio: elenca tutti i record
In questo esempio sono elencati tutti i record nell'entità Demoindex
.
- Nella finestra di dialogo
Configure connector task
, fai clic suEntities
. - Seleziona
Demoindex
dall'elencoEntity
. - Seleziona l'operazione
List
e poi fai clic su Fine. - Se vuoi, nella sezione Input dell'attività dell'attività Connettori, puoi filtrare il set di risultati specificando una clausola di filtro. Specifica il valore della clausola di filtro sempre tra virgolette singole (').
Esempio: recupero di un record da un'entità
Questo esempio ottiene un record con l'ID specificato dall'entità Demoindex
.
- Nella finestra di dialogo
Configure connector task
, fai clic suEntities
. - Seleziona
Demoindex
dall'elencoEntity
. - Seleziona l'operazione
Get
e fai clic su Fine. - Nella sezione Input dell'attività dell'attività Connettori, fai clic su EntityId e poi inserisci
23
nel campo Valore predefinito.In questo caso,
23
è un ID record univoco nell'entitàDemoindex
.
Esempio: crea un record in un'entità
Questo esempio crea un record nell'entità Demoindex
.
- Nella finestra di dialogo
Configure connector task
, fai clic suEntities
. - Seleziona
Demoindex
dall'elencoEntity
. - Seleziona l'operazione
Create
e fai clic su Fine. - Nella sezione Input attività dell'attività Connettori, fai clic su
connectorInputPayload
e poi inserisci un valore simile al seguente nel campoDefault Value
:{ "message": "GET /search HTTP/1.1 200 1070000", "@timestamp": "2099-11-15 13:12:00.0" }
Se l'integrazione ha esito positivo, il campo
connectorOutputPayload
dell'attività del connettore avrà un simile al seguente:[{ "_id": "23" }]
Esempio: aggiornare un record
Questo esempio aggiorna il record con l'ID specificato nell'entità Demoindex
.
- Nella finestra di dialogo
Configure connector task
, fai clic suEntities
. - Seleziona
Demoindex
dall'elencoEntity
. - Seleziona l'operazione
Update
e fai clic su Fine. - Nella sezione Input attività dell'attività Connettori, fai clic su
connectorInputPayload
e poi inserisci un valore simile al seguente nelDefault Value
campo:{ "message": "GET /search HTTP/1.1 200 1070000", "@timestamp": "2099-11-15 13:12:00.0", "name": "GoogleCloud_Update_docs", "price": 10.0}
- Fai clic su entityId e inserisci
23
nel campo Valore predefinito.Se l'integrazione ha esito positivo, il campo
connectorOutputPayload
dell'attività del connettore avrà un simile al seguente:[{ "_id": "23" }]
Esempio: eliminare un record da un'entità
Questo esempio elimina il record con l'ID specificato nell'entità Demoindex
.
- Nella finestra di dialogo
Configure connector task
, fai clic suEntities
. - Seleziona
Demoindex
dall'elencoEntity
. - Seleziona l'operazione
Delete
e fai clic su Fine. - Nella sezione Input attività dell'attività Connettori, fai clic su entityId e
quindi inserisci
pcqT4wB4uQNUCuamh4N
nel campo Valore predefinito.
Utilizzare Terraform per creare connessioni
Puoi utilizzare la risorsa Terraform per creare una nuova connessione.Per scoprire come applicare o rimuovere una configurazione Terraform, consulta Comandi Terraform di base.
Per visualizzare un modello Terraform di esempio per la creazione di connessioni, vedi il modello di esempio.
Quando crei questa connessione utilizzando Terraform, devi impostare le seguenti variabili nel file di configurazione Terraform:
Nome parametro | Tipo di dati | Obbligatorio | Descrizione |
---|---|---|---|
client_side_evaluation | BOOLEANO | Falso | Imposta ClientSideEvaluation su true per eseguire la valutazione lato client su oggetti nidificati. |
data_model | ENUM | Falso | Specifica il modello di dati da utilizzare durante l'analisi dei documenti Elasticsearch e la generazione dei metadati del database. I valori supportati sono: Document, FlattenedDocuments, Relational |
max_results | STRING | Falso | Il numero massimo di risultati totali da restituire da Elasticsearch quando si utilizza l'API Search predefinita. |
livello di dettaglio | STRING | Falso | Livello di dettaglio per la connessione, da 1 a 5. Con un livello di dettaglio più elevato, verranno registrati tutti i dettagli della comunicazione (certificati di richiesta, risposta e SSL). |
proxy_enabled | BOOLEANO | Falso | Seleziona questa casella di controllo per configurare un server proxy per la connessione. |
proxy_auth_scheme | ENUM | Falso | Il tipo di autenticazione da utilizzare per l'autenticazione sul proxy ProxyServer. I valori supportati sono: BASIC, DIGEST, NONE |
proxy_user | STRING | Falso | Un nome utente da utilizzare per l'autenticazione sul proxy ProxyServer. |
proxy_password | SECRET | Falso | Una password da utilizzare per l'autenticazione sul proxy ProxyServer. |
proxy_ssltype | ENUM | Falso | Il tipo di SSL da utilizzare per la connessione al proxy ProxyServer. I valori supportati sono: AUTO, ALWAYS, NEVER, TUNNEL |
Utilizzare la connessione Elasticsearch in un'integrazione
Dopo aver creato la connessione, questa diventa disponibile in Apigee Integration e Application Integration. Puoi utilizzare la connessione in un'integrazione tramite l'attività Connettori.
- Per capire come creare e utilizzare l'attività Connectors in Apigee Integration, vedi Attività connettori.
- Per capire come creare e utilizzare l'attività Connettori in Application Integration, vedi Attività connettori.
Ricevere assistenza dalla community Google Cloud
Puoi pubblicare le tue domande e discutere di questo connettore in Google Cloud nei forum di Cloud.Passaggi successivi
- Scopri come sospendere e riprendere una connessione.
- Scopri come monitorare l'utilizzo dei connettori.
- Scopri come visualizzare i log del connettore.