View a markdown version of this page

Azure-Cosmos-DB-Verbindungen - AWS Glue

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 eine Verbindung zu Azure Cosmos DB mithilfe eines Azure Cosmos DB-Schlüssels her, der AWS Secrets Manager über eine Glue-Verbindung gespeichert ist. AWS

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 zu Azure Cosmos DB herzustellen, müssen Sie Ihren Azure Cosmos DB-Schlüssel in einem AWS Secrets Manager Secret erstellen und speichern und dieses Geheimnis dann mit einer Azure Cosmos DB Glue-Verbindung verknüpfen. AWS

Voraussetzungen:

  • In Azure müssen Sie einen Azure Cosmos DB-Schlüssel für die Verwendung durch Glue identifizieren oder generieren. AWS cosmosKey Weitere Informationen finden Sie unter Sicherer Zugriff auf Daten in Azure Cosmos DB in der Azure-Dokumentation.

Eine Verbindung zu Azure Cosmos DB konfigurieren Sie wie folgt:
  1. 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 unter Create an AWS Secrets Manager Secret in der AWS Secrets Manager Dokumentation. Nachdem Sie das Geheimnis erstellt haben, behalten Sie den Namen des Geheimnisses secretName für den nächsten Schritt bei.

    • Erstellen Sie bei der Auswahl von Key/value Paaren ein Paar für den Schlüssel spark.cosmos.accountKey mit dem WertcosmosKey.

  2. Erstellen Sie in der AWS Glue-Konsole eine Verbindung, indem Sie den Schritten unter folgenAWS Glue Verbindung hinzufügen. Nachdem Sie die Verbindung hergestellt haben, behalten Sie den Verbindungsnamen für die zukünftige Verwendung in AWS Glue bei. connectionName

    • Wählen Sie als Verbindungstyp Azure Cosmos DB aus.

    • Geben Sie bei der Auswahl eines AWS Geheimnisses Folgendes ansecretName.

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 können:

  • Erteilen Sie der IAM-Rolle, die Ihrem AWS Glue-Job zugeordnet ist, die Leseberechtigung. secretName

  • Geben connectionName Sie in Ihrer AWS Glue-Job-Konfiguration eine zusätzliche Netzwerkverbindung an.

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 angebencosmosContainerName, 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

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 bereitstellen, um die an Sie zurückgegebenen Ergebnisse zu filtern DynamicFrame. Sie müssen query konfigurieren.

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 dynamicFrame in Azure Cosmos DB geschrieben. Wenn der Container bereits Informationen enthält, hängt AWS Glue Daten von Ihnen an. DynamicFrame 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 angebencosmosContainerName, 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

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. Verwendet für Read/Write. 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. Verwendet für. Read/Write Zulässige Werte: Datenbanknamen. Name der Azure Cosmos DB für NoSQL-Datenbank.

  • spark.cosmos.container – Erforderlich. Verwendet für Read/Write. 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.