Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
OpenSearch Serviceverbindungen
Sie können AWS Glue für Spark zum Lesen und Schreiben in Tabellen in OpenSearch Service in AWS Glue 4.0 und späteren Versionen verwenden. Sie können mit einer - OpenSearch Abfrage definieren, was aus dem OpenSearch Service gelesen werden soll. Sie stellen OpenSearch über HTTP-Basisauthentifizierungsanmeldeinformationen, die in gespeichert sindAWS Secrets Manager, über eine AWS -Glue-Verbindung eine Verbindung zum Service her. Diese Funktion ist nicht mit OpenSearch Service Serverless kompatibel.
Weitere Informationen zu Amazon OpenSearch Service finden Sie in der Amazon- OpenSearch Service-Dokumentation.
Konfigurieren von OpenSearch Serviceverbindungen
Um von AWS Glue aus eine Verbindung zu OpenSearch Service herzustellen, müssen Sie Ihre OpenSearch Service-Anmeldeinformationen erstellen und in einem AWS Secrets Manager Secret speichern und dieses Secret dann einer OpenSearch ServiceAWS-Glue-Verbindung zuordnen.
Voraussetzungen:
-
Identifizieren Sie den Domain-Endpunkt,
aosEndpoint
und Port,aosPort
, aus dem Sie lesen möchten, oder erstellen Sie die Ressource, indem Sie den Anweisungen in der Amazon- OpenSearch Service-Dokumentation folgen. Weitere Informationen zum Erstellen einer Domäne finden Sie unter Erstellen und Verwalten von Amazon- OpenSearch Service-Domänen in der Amazon- OpenSearch Service-Dokumentation.Ein Amazon- OpenSearch Service-Domain-Endpunkt hat das folgende Standardformat: https://search-
domainName
-unstructuredIdContent
.region
.es.amazonaws.com. Weitere Informationen zum Identifizieren Ihres Domänenendpunkts finden Sie unter Erstellen und Verwalten von Amazon- OpenSearch Service-Domänen in der Amazon- OpenSearch Service-Dokumentation.Identifizieren oder generieren Sie HTTP-Standardauthentifizierungsdaten (
aosUser und aosPassword
) für Ihre Domain.
So konfigurieren Sie eine Verbindung zu OpenSearch Service:
Erstellen Sie AWS Secrets Managerin ein Secret mit Ihren OpenSearch Service-Anmeldeinformationen. Um ein Geheimnis im Secrets Manager zu erstellen, befolgen Sie das Tutorial unter Erstellen eines AWS Secrets Manager-Secrets in der AWS Secrets Manager-Dokumentation. Behalten Sie nach dem Erstellen des Secrets den Namen des Secrets,
secretName
für den nächsten Schritt bei.-
Erstellen Sie bei der Auswahl von Schlüssel/Wert-Paaren ein Paar für den Schlüssel
opensearch.net.http.auth.user
mit dem WertaosUser
. -
Erstellen Sie bei der Auswahl von Schlüssel/Wert-Paaren ein Paar für den Schlüssel
opensearch.net.http.auth.pass
mit dem WertaosPassword
.
-
Erstellen Sie in der AWS-Glue-Konsole eine Verbindung, indem Sie die Schritte in Hinzufügen einer AWS Glue-Verbindung befolgen. Behalten Sie nach dem Erstellen der Verbindung den Verbindungsnamen
connectionName
zur künftigen Verwendung in AWS Glue bei.Wählen Sie bei der Auswahl eines Verbindungstyps die Option OpenSearch Service aus.
Geben Sie als Domain-Endpunkt
aosEndpoint
an.Geben Sie als Port
aosPort
an.Geben Sie als AWS-Secret die Option
secretName
an.
Nachdem Sie eine AWS Glue- OpenSearch Service-Verbindung erstellt haben, müssen Sie die folgenden Schritte ausführen, bevor Sie Ihren AWS Glue-Auftrag ausführen:
Erteilen Sie der mit Ihrem AWS Glue-Auftrag verknüpften IAM-Rolle die Berechtigung,
secretName
zu lesen.Geben Sie in Ihrer AWS-Glue-Auftragskonfiguration
connectionName
als zusätzliche Netzwerkverbindung an.
Lesen aus OpenSearch Service-Indizes
Voraussetzungen:
-
Ein OpenSearch Service-Index, aus dem Sie lesen möchten,
aosIndex
. -
Eine AWS -Glue- OpenSearch Service-Verbindung, die für die Bereitstellung von Authentifizierungs- und Netzwerkstandortinformationen konfiguriert ist. Um dies zu erhalten, führen Sie die Schritte im vorherigen Verfahren aus, So konfigurieren Sie eine Verbindung mit OpenSearch Service . Sie benötigen den Namen der AWS-Glue-Verbindung,
connectionName
.
In diesem Beispiel wird ein Index aus Amazon OpenSearch Service gelesen. Sie müssen den Parameter pushdown
angeben.
Beispielsweise:
opensearch_read = glueContext.create_dynamic_frame.from_options( connection_type="opensearch", connection_options={ "connectionName": "
connectionName
", "opensearch.resource": "aosIndex
", "pushdown": "true", } )
Sie können auch eine Abfragezeichenfolge angeben, um die in Ihrem zurückgegebenen Ergebnisse zu filtern DynamicFrame. Sie müssen opensearch.query
konfigurieren.
opensearch.query
kann eine URL-Abfrageparameterzeichenfolge queryString
oder ein Abfrage-DSL-JSON-Objekt queryObject
annehmen. Weitere Informationen zur Abfrage-DSL finden Sie unter Abfrage-DSL?q=
Ihrer Abfrage wie bei einer vollqualifizierten URL voran. Um ein DSL-Abfrageobjekt bereitzustellen, versehen Sie das JSON-Objekt in Escape-Zeichen, bevor Sie es bereitstellen.
Beispielsweise:
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", } )
Weitere Informationen zum Erstellen einer Abfrage außerhalb ihrer spezifischen Syntax finden Sie unter Abfragezeichenfolgensyntax in der -
Beim Lesen aus OpenSearch Sammlungen, die Daten vom Typ Array enthalten, müssen Sie mit dem opensearch.read.field.as.array.include
Parameter angeben, welche Felder in Ihrem Methodenaufruf vom Typ Array sind.
Wenn Sie beispielsweise das folgende Dokument lesen, stoßen Sie auf die Array-Felder genre
und 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 diesem Fall würden Sie diese Feldnamen in den Methodenaufruf aufnehmen. Beispielsweise:
"opensearch.read.field.as.array.include": "genre,actor"
Wenn ein Array-Feld innerhalb der Dokumentstruktur verschachtelt ist, verweisen Sie darauf in Punktnotation: "genre,actor,foo.bar.baz"
. Damit geben Sie das Array baz
in Ihrem Quelldokument an, und zwar über das eingebettete Dokument foo
, das das eingebettete Dokument bar
enthält.
Schreiben in OpenSearch Service-Tabellen
In diesem Beispiel werden Informationen aus einem vorhandenen DynamicFrame dynamicFrame
in OpenSearch den Service geschrieben. Wenn der Index bereits über Informationen verfügt, hängt AWS Glue Daten aus Ihrem an DynamicFrame. Sie müssen den Parameter pushdown
angeben.
Voraussetzungen:
-
Eine OpenSearch Servicetabelle, in die Sie schreiben möchten. Sie benötigen Identifikationsinformationen für die Tabelle. Wir nennen sie
tableName
. -
Eine AWS -Glue- OpenSearch Service-Verbindung, die für die Bereitstellung von Authentifizierungs- und Netzwerkstandortinformationen konfiguriert ist. Um dies zu erhalten, führen Sie die Schritte im vorherigen Verfahren aus, So konfigurieren Sie eine Verbindung zu OpenSearch Service . Sie benötigen den Namen der AWS-Glue-Verbindung,
connectionName
.
Beispielsweise:
glueContext.write_dynamic_frame.from_options( frame=
dynamicFrame
, connection_type="opensearch", connection_options={ "connectionName": "connectionName
", "opensearch.resource": "aosIndex
", }, )
OpenSearch Referenz zur Serviceverbindungsoption
-
connectionName
– Erforderlich. Wird für Lesen/Schreiben verwendet. Der Name einer AWS -Glue- OpenSearch Service-Verbindung, die so konfiguriert ist, dass sie Authentifizierungs- und Netzwerkstandortinformationen für Ihre Verbindungsmethode bereitstellt. -
opensearch.resource
– Erforderlich. Wird für Lesen/Schreiben verwendet. Gültige Werte: OpenSearch Indexnamen. Der Indexname, mit dem Ihre Verbindungsmethode interagieren wird. -
opensearch.query
– Wird zum Lesen verwendet. Gültige Werte: JSON, in der eine Zeichenfolge in Escape-Zeichen stehen, oder, wenn diese Zeichenfolge mit?
beginnt, der Suchteil einer URL. Eine OpenSearch Abfrage, die filtert, was beim Lesen abgerufen werden soll. Weitere Informationen zur Verwendung dieses Parameters finden Sie im vorherigen Abschnitt Lesen aus OpenSearch Service-Indizes. -
pushdown
– erforderlich. Wird zum Lesen verwendet. Zulässige Werte: Boolesch. Weist Spark an, Leseabfragen an zu übergeben, OpenSearch damit die Datenbank nur relevante Dokumente zurückgibt. -
opensearch.read.field.as.array.include
– Erforderlich, wenn Daten vom Typ Array gelesen werden. Wird zum Lesen verwendet. Gültige Werte: durch Kommas getrennte Listen von Feldnamen. Gibt Felder an, die als Arrays aus OpenSearch Dokumenten gelesen werden sollen. Weitere Informationen zur Verwendung dieses Parameters finden Sie im vorherigen Abschnitt Lesen aus OpenSearch Service-Indizes.