Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
OpenSearch Connessioni di servizio
Puoi usare AWS Glue for Spark per leggere e scrivere su tabelle in OpenSearch Service in AWS Glue 4.0 e versioni successive. Puoi definire cosa leggere da OpenSearch Service con una OpenSearch query. Ti connetti al OpenSearch Servizio utilizzando le credenziali di autenticazione di base HTTP archiviate AWS Secrets Manager tramite una connessione AWS Glue. Questa funzionalità non è compatibile con OpenSearch Service serverless.
Per ulteriori informazioni su Amazon OpenSearch Service, consulta la documentazione di Amazon OpenSearch Service.
Configurazione delle connessioni OpenSearch al servizio
Per connetterti a OpenSearch Service from AWS Glue, dovrai creare e archiviare le tue credenziali di OpenSearch Service in modo AWS Secrets Manager segreto, quindi associare quel segreto a una connessione OpenSearch Service AWS Glue.
Prerequisiti:
-
Identifica il dominio, l'endpoint
aosEndpointe la porta daaosPortcui desideri leggere o crea la risorsa seguendo le istruzioni nella documentazione di Amazon OpenSearch Service. Per ulteriori informazioni sulla creazione di un dominio, consulta Creazione e gestione dei domini Amazon OpenSearch Service nella documentazione di Amazon OpenSearch Service.Un endpoint OpenSearch di dominio Amazon Service avrà il seguente modulo predefinito, https://search-
domainName-.unstructuredIdContentregion.es.amazonaws.com. Per ulteriori informazioni sull'identificazione dell'endpoint di dominio, consulta Creazione e gestione dei domini Amazon Service nella documentazione OpenSearch di Amazon Service. OpenSearchIdentifica o genera le credenziali di autenticazione HTTP di base
aosUsereaosPasswordper il tuo dominio.
Per configurare una connessione al OpenSearch servizio:
In AWS Secrets Manager, crea un segreto utilizzando le tue credenziali OpenSearch di servizio. Per creare un segreto in Secrets Manager, segui il tutorial disponibile in Creare un AWS Secrets Manager segreto nella AWS Secrets Manager documentazione. Dopo aver creato il segreto, mantieni il nome del segreto,
secretNameper il passaggio successivo.-
Quando selezioni Key/value le coppie, crea una coppia per la chiave
USERNAMEcon il valoreaosUser. -
Quando selezionate Key/value le coppie, create una coppia per la chiave
PASSWORDcon il valoreaosPassword.
-
Nella console AWS Glue, create una connessione seguendo i passaggi indicati inAggiungere una AWS Glue connessione. Dopo aver creato la connessione, mantieni il nome della connessione
connectionName, per un uso futuro in AWS Glue.Quando si seleziona un tipo di connessione, seleziona OpenSearch Servizio.
Quando si seleziona un endpoint di dominio, fornire
aosEndpoint.Quando si seleziona una porta, fornire
aosPort.Quando si seleziona un AWS segreto, fornisci
secretName.
Dopo aver creato una connessione OpenSearch al servizio AWS Glue, dovrai eseguire i seguenti passaggi prima di eseguire il processo AWS Glue:
Concedi il permesso di lettura al ruolo IAM associato al tuo lavoro AWS Glue
secretName.Nella configurazione del job AWS Glue,
connectionNameforniscilo come connessione di rete aggiuntiva.
Lettura dagli indici OpenSearch di servizio
Prerequisiti:
-
Un indice OpenSearch di servizio da cui vorresti leggere,
aosIndex. -
Una connessione AWS Glue OpenSearch Service configurata per fornire informazioni di autenticazione e posizione di rete. Per acquisirla, completa i passaggi della procedura precedente, Per configurare una connessione al OpenSearch Servizio. Avrai bisogno del nome della connessione AWS Glue,
connectionName.
Questo esempio legge un indice di Amazon OpenSearch Service. Dovrai fornire il parametro pushdown.
Ad esempio:
opensearch_read = glueContext.create_dynamic_frame.from_options( connection_type="opensearch", connection_options={ "connectionName": "connectionName", "opensearch.resource": "aosIndex", "pushdown": "true", } )
Puoi anche fornire una stringa di query per filtrare i risultati restituiti nel tuo DynamicFrame. Sarà necessario configurare opensearch.query.
opensearch.querypuò accettare una stringa di parametri di interrogazione URL queryString o un oggetto JSON DSL di query. queryObject Per ulteriori informazioni sulla query DSL, vedere Query DSL ?q= alla query, come faresti con un URL completo. Per fornire un oggetto di query DSL, la stringa evita l'oggetto JSON prima di fornirlo.
Ad esempio:
queryObject = "{ "query": { "multi_match": { "query": "Sample", "fields": [ "sample" ] } } }" queryString = "?q=queryString" opensearch_read_query = glueContext.create_dynamic_frame.from_options( connection_type="opensearch", connection_options={ "connectionName": "connectionName", "opensearch.resource": "aosIndex", "opensearch.query": queryString, "pushdown": "true", } )
Per ulteriori informazioni su come creare una query al di fuori della sua sintassi specifica, vedi Query string syntax
Quando si legge da OpenSearch raccolte che contengono dati di tipo array, è necessario specificare quali campi sono di tipo di matrice nella chiamata al metodo utilizzando il opensearch.read.field.as.array.include parametro.
Ad esempio, durante la lettura del documento seguente incontrerai i campi di array genre e actor:
{ "_index": "movies", "_id": "2", "_version": 1, "_seq_no": 0, "_primary_term": 1, "found": true, "_source": { "director": "Frankenheimer, John", "genre": [ "Drama", "Mystery", "Thriller", "Crime" ], "year": 1962, "actor": [ "Lansbury, Angela", "Sinatra, Frank", "Leigh, Janet", "Harvey, Laurence", "Silva, Henry", "Frees, Paul", "Gregory, James", "Bissell, Whit", "McGiver, John", "Parrish, Leslie", "Edwards, James", "Flowers, Bess", "Dhiegh, Khigh", "Payne, Julie", "Kleeb, Helen", "Gray, Joe", "Nalder, Reggie", "Stevens, Bert", "Masters, Michael", "Lowell, Tom" ], "title": "The Manchurian Candidate" } }
In questo caso, dovrai includere i nomi dei campi in questione nella chiamata al metodo. Ad esempio:
"opensearch.read.field.as.array.include": "genre,actor"
Se il campo dell'array è annidato all'interno della struttura del documento, fai riferimento a esso utilizzando la notazione a punti: "genre,actor,foo.bar.baz". Ciò specificherebbe un array baz incluso nel documento di origine tramite il documento incorporato foo contenente il documento incorporato bar.
Scrittura nelle tabelle OpenSearch di servizio
Questo esempio scrive informazioni da un servizio esistente DynamicFrame dynamicFrame a un OpenSearch servizio. Se l'indice contiene già informazioni, AWS Glue aggiungerà i dati del tuo DynamicFrame. Dovrai fornire il parametro pushdown.
Prerequisiti:
-
Una tabella OpenSearch di servizio su cui vorresti scrivere. Avrai bisogno delle informazioni di identificazione per la tabella. Chiamiamolo così
tableName. -
Una connessione al OpenSearch servizio AWS Glue configurata per fornire informazioni sull'autenticazione e sulla posizione della rete. Per acquisirla, completa i passaggi della procedura precedente, Per configurare una connessione al OpenSearch Servizio. Avrai bisogno del nome della connessione AWS Glue,
connectionName.
Ad esempio:
glueContext.write_dynamic_frame.from_options( frame=dynamicFrame, connection_type="opensearch", connection_options={ "connectionName": "connectionName", "opensearch.resource": "aosIndex", }, )
OpenSearch Riferimento all'opzione di connessione al servizio
-
connectionName: obbligatorio. Usato per Read/Write. Il nome di una connessione AWS Glue OpenSearch Service configurata per fornire informazioni di autenticazione e posizione di rete al metodo di connessione utilizzato. -
opensearch.resource: obbligatorio. Usato per Read/Write. Valori validi: nomi di OpenSearch indice. Il nome dell'indice con cui interagirà il metodo di connessione. -
opensearch.query: utilizzato per la lettura. Valori validi: stringa con escape JSON o, quando inizia con?, la parte di ricerca di un URL. Una OpenSearch query che filtra ciò che deve essere recuperato durante la lettura. Per ulteriori informazioni sull'utilizzo di questo parametro, consulta la sezione precedente Lettura dagli indici OpenSearch di servizio. -
pushdown— Richiesto se. Utilizzato per la lettura. Valori validi: booleani. Indica a Spark di trasmettere le query di lettura a in OpenSearch modo che il database restituisca solo i documenti pertinenti. -
opensearch.read.field.as.array.include: richiesto se si leggono dati di tipo array. Utilizzato per la lettura. Valori validi: elenchi di nomi di campi separati da virgole. Specifica i campi da leggere come matrici dai documenti. OpenSearch Per ulteriori informazioni sull'utilizzo di questo parametro, consulta la sezione precedente Lettura dagli indici OpenSearch di servizio.