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 Serviceanschlüsse
Sie können AWS Glue for Spark verwenden, um in OpenSearch Service in AWS Glue 4.0 und späteren Versionen aus Tabellen zu lesen und in Tabellen zu schreiben. Sie können mit einer OpenSearch Abfrage definieren, was aus OpenSearch Service gelesen werden soll. Sie stellen eine Verbindung mit dem OpenSearch Dienst her, indem Sie die Anmeldeinformationen für die HTTP-Standardauthentifizierung verwenden, AWS Secrets Manager die über eine AWS Glue-Verbindung gespeichert sind. Diese Funktion ist nicht mit OpenSearch Service Serverless kompatibel.
Weitere Informationen zu Amazon OpenSearch Service finden Sie in der Amazon OpenSearch Service-Dokumentation.
Konfiguration von OpenSearch Service-Verbindungen
Um von AWS Glue aus eine Verbindung zu OpenSearch Service herzustellen, müssen Sie Ihre OpenSearch Service-Anmeldeinformationen in einem AWS Secrets Manager Secret erstellen und speichern und dieses Secret dann mit einer OpenSearch Service AWS Glue-Verbindung verknüpfen.
Voraussetzungen:
-
Identifizieren Sie den Domain-Endpunkt
aosEndpoint
und den Port, von demaosPort
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 Domain finden Sie unter Amazon OpenSearch Service-Domains erstellen und verwalten 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 zur Identifizierung Ihres Domain-Endpunkts finden Sie unter Amazon OpenSearch Service-Domains erstellen und verwalten in der Amazon OpenSearch Service-Dokumentation.Identifizieren oder generieren Sie Anmeldeinformationen für die HTTP-Basisauthentifizierung
aosUser
undaosPassword
für Ihre Domain.
Um eine Verbindung zum OpenSearch Service zu konfigurieren:
Erstellen Sie AWS Secrets Manager unter Verwendung Ihrer OpenSearch Dienstanmeldedaten ein Geheimnis. Um ein Geheimnis in Secrets Manager zu erstellen, folgen Sie dem Tutorial, das in der AWS Secrets Manager Dokumentation unter Create an AWS Secrets Manager Secret verfügbar ist. Nachdem Sie das Geheimnis erstellt haben, behalten Sie den Geheimnamen
secretName
für den nächsten Schritt bei.-
Wenn Sie Schlüssel/Wert-Paare auswählen, erstellen Sie ein Paar für den Schlüssel
USERNAME
mit dem Wert.aosUser
-
Wenn Sie Schlüssel/Wert-Paare auswählen, erstellen Sie ein Paar für den Schlüssel
PASSWORD
mit dem Wert.aosPassword
-
Stellen Sie in der AWS Glue-Konsole eine Verbindung her, indem Sie den Schritten unter folgenAWS Glue Verbindung hinzufügen. Nachdem Sie die Verbindung hergestellt haben, behalten Sie den Verbindungsnamen für die future Verwendung in AWS Glue bei.
connectionName
Wählen Sie bei der Auswahl eines Verbindungstyps OpenSearch Service aus.
Geben Sie bei der Auswahl eines Domänenendpunkts Folgendes an
aosEndpoint
.Geben Sie bei der Auswahl eines Ports an
aosPort
.Geben Sie bei der Auswahl eines AWS Secrets Folgendes an
secretName
.
Nachdem Sie eine AWS OpenSearch Glue-Service-Verbindung hergestellt haben, müssen Sie die folgenden Schritte ausführen, bevor Sie Ihren AWS Glue-Job ausführen:
Erteilen Sie der mit Ihrem AWS Glue-Job verknüpften IAM-Rolle
secretName
Leserechte.Stellen
connectionName
Sie in Ihrer AWS Glue-Job-Konfiguration eine zusätzliche Netzwerkverbindung bereit.
Aus OpenSearch Dienstindizes lesen
Voraussetzungen:
-
Ein OpenSearch Serviceindex, aus dem Sie lesen möchten,
aosIndex
. -
Eine AWS Glue OpenSearch Service-Verbindung, die so konfiguriert ist, dass sie Authentifizierungs- und Netzwerkstandortinformationen bereitstellt. Um dies zu erhalten, führen Sie die Schritte im vorherigen Verfahren, So konfigurieren Sie eine Verbindung zum OpenSearch Service, durch. Sie benötigen den Namen der AWS Glue-Verbindung,
connectionName
.
In diesem Beispiel wird ein Index von Amazon OpenSearch Service gelesen. Sie müssen den Parameter pushdown
angeben.
Zum Beispiel:
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 DSL-JSON-Abfrageobjekt queryObject
verwenden. Weitere Informationen zur DSL-Abfrage finden Sie in der Dokumentation unter Query-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.
Zum Beispiel:
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 in der Dokumentation unter Syntax von Abfragezeichenfolgen
Wenn Sie aus OpenSearch Sammlungen lesen, die Daten vom Typ Array enthalten, müssen Sie in Ihrem Methodenaufruf mithilfe des opensearch.read.field.as.array.include
Parameters angeben, welche Felder 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. Zum Beispiel:
"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.
In OpenSearch Service-Tabellen schreiben
In diesem Beispiel werden Informationen aus einem vorhandenen DynamicFrame OpenSearch Dienst dynamicFrame
in einen Dienst geschrieben. Wenn der Index bereits Informationen enthält, hängt AWS Glue Daten von Ihrem DynamicFrame an. Sie müssen den Parameter pushdown
angeben.
Voraussetzungen:
-
Eine OpenSearch Service-Tabelle, in die Sie schreiben möchten. Sie benötigen Identifikationsinformationen für die Tabelle. Nennen wir das
tableName
. -
Eine AWS Glue OpenSearch Service-Verbindung, die so konfiguriert ist, dass sie Authentifizierungs- und Netzwerkstandortinformationen bereitstellt. Um dies zu erhalten, führen Sie die Schritte im vorherigen Verfahren, So konfigurieren Sie eine Verbindung zum OpenSearch Service, durch. Sie benötigen den Namen der AWS Glue-Verbindung,
connectionName
.
Zum Beispiel:
glueContext.write_dynamic_frame.from_options( frame=
dynamicFrame
, connection_type="opensearch", connection_options={ "connectionName": "connectionName
", "opensearch.resource": "aosIndex
", }, )
OpenSearch Referenz zur Dienstverbindungsoption
-
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 Aus OpenSearch Dienstindizes lesen. -
pushdown
– erforderlich. Wird zum Lesen verwendet. Zulässige Werte: Boolesch. Weist Spark an, Leseabfragen OpenSearch so weiterzuleiten, dass 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 Aus OpenSearch Dienstindizes lesen.