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.
Azure-Cosmos-DB-Verbindungen
Sie können AWS Glue for Spark verwenden, um mithilfe der NoSQL-API in AWS Glue 4.0 und späteren Versionen aus vorhandenen Containern in Azure Cosmos DB zu lesen und in diese zu schreiben. Sie können definieren, was mit einer SQL-Abfrage aus Azure Cosmos DB gelesen werden soll. Sie stellen mithilfe eines Azure Cosmos DB-Schlüssels, der über eine AWS Glue-Verbindung gespeichert ist, eine Verbindung zu Azure Cosmos DB her. AWS Secrets Manager
Weitere Informationen zu Azure Cosmos DB for NoSQL finden Sie in der Azure-Dokumentation
Konfigurieren von Azure-Cosmos DB-Verbindungen
Um von AWS Glue aus eine Verbindung mit Azure Cosmos DB herzustellen, müssen Sie Ihren Azure Cosmos DB-Schlüssel erstellen und in einem AWS Secrets Manager Geheimnis speichern und dieses Geheimnis dann einer Azure Cosmos DB AWS Glue-Verbindung zuordnen.
Voraussetzungen:
In Azure müssen Sie einen Azure Cosmos DB-Schlüssel für die Verwendung durch AWS Glue identifizieren oder generieren.
cosmosKey
Weitere Informationen finden Sie unter Sicherer Zugriff auf Daten in Azure Cosmos DBin der Azure-Dokumentation.
Eine Verbindung zu Azure Cosmos DB konfigurieren Sie wie folgt:
Erstellen Sie AWS Secrets Manager unter Verwendung Ihres Azure Cosmos DB-Schlüssels 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
spark.cosmos.accountKey
mit dem Wert.cosmosKey
-
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 als Verbindungstyp Azure Cosmos DB aus.
Wenn Sie ein AWS Geheimnis auswählen, geben Sie an
secretName
.
Nachdem Sie eine AWS Glue Azure Cosmos DB-Verbindung erstellt 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.
Lesen aus Container in Azure Cosmos DB für NoSQL
Voraussetzungen:
-
Ein Container in Azure Cosmos DB für NoSQL, aus dem Sie lesen möchten. Sie benötigen Identifikationsinformationen für den Container.
Ein Container in Azure Cosmos DB für NoSQL wird anhand seiner Datenbank und seines Containers identifiziert. Sie müssen die Datenbank- und Container-Namen angeben
cosmosContainerName
, wenn Sie eine Verbindung zur Azure Cosmos for NoSQL-API herstellen.cosmosDBName
-
Eine AWS Glue Azure Cosmos DB-Verbindung, die so konfiguriert ist, dass sie Authentifizierungs- und Netzwerkstandortinformationen bereitstellt. Führen Sie dazu die Schritte im vorherigen Verfahren zum Konfigurieren einer Verbindung zu Azure Cosmos DB aus. Sie benötigen den Namen der AWS Glue-Verbindung,
connectionName
.
Zum Beispiel:
azurecosmos_read = glueContext.create_dynamic_frame.from_options( connection_type="azurecosmos", connection_options={ "connectionName":
connectionName
, "spark.cosmos.database":cosmosDBName
, "spark.cosmos.container":cosmosContainerName
, } )
Sie können auch eine SELECT-SQL-Abfrage angeben, um die an Ihre zurückgegebenen Ergebnisse zu filtern DynamicFrame. Sie müssen query
konfigurieren.
Zum Beispiel:
azurecosmos_read_query = glueContext.create_dynamic_frame.from_options( connection_type="azurecosmos", connection_options={ "connectionName": "
connectionName
", "spark.cosmos.database":cosmosDBName
, "spark.cosmos.container":cosmosContainerName
, "spark.cosmos.read.customQuery": "query
" } )
Schreiben in Container in Azure Cosmos DB für NoSQL
In diesem Beispiel werden Informationen aus einer vorhandenen DynamicFrame Datenbank dynamicFrame
in Azure Cosmos DB geschrieben. Wenn der Container bereits Informationen enthält, hängt AWS Glue Daten von Ihrem DynamicFrame an. Wenn die Informationen im Container ein anderes Schema haben als die Informationen, die Sie schreiben, treten Fehler auf.
Voraussetzungen:
-
Eine Azure-Cosmos-DB-Tabelle, in die Sie schreiben möchten. Sie benötigen Identifikationsinformationen für den Container. Sie müssen den Container erstellen, bevor Sie die Verbindungsmethode aufrufen.
Ein Container in Azure Cosmos DB für NoSQL wird anhand seiner Datenbank und seines Containers identifiziert. Sie müssen die Datenbank- und Container-Namen angeben
cosmosContainerName
, wenn Sie eine Verbindung zur Azure Cosmos for NoSQL-API herstellen.cosmosDBName
-
Eine AWS Glue Azure Cosmos DB-Verbindung, die so konfiguriert ist, dass sie Authentifizierungs- und Netzwerkstandortinformationen bereitstellt. Führen Sie dazu die Schritte im vorherigen Verfahren zum Konfigurieren einer Verbindung zu Azure Cosmos DB aus. Sie benötigen den Namen der AWS Glue-Verbindung,
connectionName
.
Zum Beispiel:
azurecosmos_write = glueContext.write_dynamic_frame.from_options( frame=
dynamicFrame
, connection_type="azurecosmos", connection_options={ "connectionName":connectionName
, "spark.cosmos.database":cosmosDBName
, "spark.cosmos.container":cosmosContainerName
)
Referenz zur Azure-Cosmos-DB-Verbindungsoption
-
connectionName
– Erforderlich. Wird für Lesen/Schreiben verwendet. Der Name einer AWS Glue Azure Cosmos DB-Verbindung, die so konfiguriert ist, dass sie Authentifizierungs- und Netzwerkstandortinformationen für Ihre Verbindungsmethode bereitstellt. -
spark.cosmos.database
– Erforderlich. Wird für Lesen/Schreiben verwendet. Zulässige Werte: Datenbanknamen. Name der Azure Cosmos DB für NoSQL-Datenbank. -
spark.cosmos.container
– Erforderlich. Wird für Lesen/Schreiben verwendet. Zulässige Werte: Containernamen. Name des Containers in Azure Cosmos DB für NoSQL. -
spark.cosmos.read.customQuery
– Wird zum Lesen verwendet. Gültige Werte: SELECT-SQL-Abfragen. Benutzerdefinierte Abfrage zur Auswahl von Dokumenten, die gelesen werden sollen.