SAP-HANA-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.

SAP-HANA-Verbindungen

Sie können AWS Glue für Spark zum Lesen und Schreiben in Tabellen in SAP HANA in AWS Glue 4.0 und späteren Versionen verwenden. Sie können definieren, was mit einer SQL-Abfrage aus SAP-HANA gelesen werden soll. Sie stellen mithilfe von JDBC-Anmeldeinformationen, die über eine AWS-Glue-SAP-HANA-Verbindung in AWS Secrets Manager gespeichert sind, eine Verbindung zu SAP HANA her.

Weitere Informationen zu SAP HANA JDBC finden Sie in der SAP-HANA-Dokumentation.

Konfigurieren von SAP-HANA-Verbindungen

Um von AWS Glue aus eine Verbindung zu SAP HANA herzustellen, müssen Sie Ihre Anmeldeinformationen für SAP HANA erstellen und in einem AWS Secrets Manager-Secret speichern und dieses Secret dann mit einer Verbindung von SAP HANA und AWS Glue verknüpfen. Sie müssen die Netzwerkkonnektivität zwischen Ihrem SAP-HANA-Service und AWS Glue konfigurieren.

Voraussetzungen für eine Verbindung mit SAP HANA:

  • Wenn sich Ihr SAP-HANA-Service in einer Amazon-VPC befindet, konfigurieren Sie Amazon VPC so, dass Ihr AWS-Glue-Auftrag mit dem SAP-HANA-Service kommunizieren kann, ohne dass der Datenverkehr über das öffentliche Internet läuft.

    Identifizieren oder erstellen Sie in Amazon VPC eine VPC, ein Subnetz und eine Sicherheitsgruppe, die AWS Glue bei der Ausführung des Auftrags verwendet. Darüber hinaus muss Amazon VPC so konfiguriert sein, dass der Netzwerkdatenverkehr zwischen Ihrem SAP-HANA-Endpunkt und diesem Standort zugelassen wird. Ihr Auftrag muss eine TCP-Verbindung mit Ihrem SAP-HANA-JDBC-Port herstellen. Weitere Informationen zu SAP-HANA-Ports finden Sie in der Dokumentation von SAP HANA. Je nach Netzwerklayout kann dies Änderungen an den Sicherheitsgruppenregeln, Netzwerk-ACLs, NAT-Gateways und Peering-Verbindungen erfordern.

  • Es gibt keine zusätzlichen Voraussetzungen, wenn Ihr SAP-HANA-Endpunkt über das Internet zugänglich ist.

Konfigurieren Sie eine Verbindung zu SAP HANA wie folgt:
  1. Erstellen Sie in AWS Secrets Manager ein Secret mit Ihren SAP-HANA-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 user mit dem Wert saphanaUsername.

    • Erstellen Sie bei der Auswahl von Schlüssel/Wert-Paaren ein Paar für den Schlüssel password mit dem Wert saphanaPassword.

  2. 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 als Verbindungstyp SAP HANA aus.

    • Wenn Sie die SAP-HANA-URL angeben, geben Sie die URL für Ihre Instance an.

      SAP-HANA-JDBC-URLs haben das Format jdbc:sap://saphanaHostname:saphanaPort/?databaseName=saphanaDBname,ParameterName=ParameterValue.

      AWS Glue benötigt die folgenden JDBC-URL-Parameter:

      • databaseName – Eine Standarddatenbank in SAP HANA, mit der eine Verbindung hergestellt werden kann.

    • Geben Sie als AWS-Secret die Option secretName an.

Nachdem Sie eine AWS-Glue-SAP-HANA-Service-Verbindung hergestellt haben, müssen Sie die folgenden Schritte durchfü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 SAP-HANA-Tabellen

Voraussetzungen:

  • Eine SAP-HANA-Tabelle, aus der gelesen werden soll. Sie benötigen Identifikationsinformationen für die Tabelle.

    Eine Tabelle kann mit einem SAP-HANA-Tabellennamen und -Schemanamen im folgenden Format angegeben werden: schemaName.tableName. Der Schemaname und das Trennzeichen „.“ sind nicht erforderlich, wenn sich die Tabelle im Standardschema „public“ befindet. Rufen Sie diesen tableIdentifier auf. Beachten Sie, dass die Datenbank als JDBC-URL-Parameter in connectionName bereitgestellt wird.

  • Eine AWS-Glue-SAP-HANA-Verbindung, die für die Bereitstellung von Authentifizierungsinformationen konfiguriert ist. Gehen Sie wie im vorherigen Verfahren beschrieben vor, um eine Verbindung zu SAP HANA zu konfigurieren, um Ihre Authentifizierungsinformationen zu konfigurieren. Sie benötigen den Namen der AWS-Glue-Verbindung, connectionName.

Beispiele:

saphana_read_table = glueContext.create_dynamic_frame.from_options( connection_type="saphana", connection_options={ "connectionName": "connectionName", "dbtable": "tableIdentifier", } )

Sie können auch eine SELECT-SQL-Abfrage angeben, um die an Ihren DynamicFrame zurückgegebenen Ergebnisse zu filtern. Sie müssen query konfigurieren.

Beispiele:

saphana_read_query = glueContext.create_dynamic_frame.from_options( connection_type="saphana", connection_options={ "connectionName": "connectionName", "query": "query" } )

Schreiben in SAP-HANA-Tabellen

In diesem Beispiel werden Informationen aus einem vorhandenen DynamicFrame, dynamicFrame, in SAP HANA geschrieben. Wenn die Tabelle bereits Informationen enthält, gibt AWS Glue einen Fehler aus.

Voraussetzungen:

  • Eine SAP-HANA-Tabelle, in die geschrieben werden soll.

    Eine Tabelle kann mit einem SAP-HANA-Tabellennamen und -Schemanamen im folgenden Format angegeben werden: schemaName.tableName. Der Schemaname und das Trennzeichen „.“ sind nicht erforderlich, wenn sich die Tabelle im Standardschema „public“ befindet. Rufen Sie diesen tableIdentifier auf. Beachten Sie, dass die Datenbank als JDBC-URL-Parameter in connectionName bereitgestellt wird.

  • SAP-HANA-Authentifizierungsinformationen. Gehen Sie wie im vorherigen Verfahren beschrieben vor, um eine Verbindung zu SAP HANA zu konfigurieren, um Ihre Authentifizierungsinformationen zu konfigurieren. Sie benötigen den Namen der AWS-Glue-Verbindung, connectionName.

Beispiele:

options = { "connectionName": "connectionName", "dbtable": 'tableIdentifier' } saphana_write = glueContext.write_dynamic_frame.from_options( frame=dynamicFrame, connection_type="saphana", connection_options=options )

Referenz zur SAP-HANA-Verbindungsoption

  • connectionName – Erforderlich. Wird für Lesen/Schreiben verwendet. Der Name einer AWS-Glue-SAP-HANA-Verbindung, die so konfiguriert ist, dass sie Authentifizierungs- und Netzwerkinformationen für Ihre Verbindungsmethode bereitstellt.

  • databaseName – Wird zum Lesen/Schreiben verwendet. Gültige Werte: Namen von Datenbanken in SAP HANA. Name der Datenbank, mit der eine Verbindung hergestellt werden soll.

  • dbtable – Zum Schreiben erforderlich, zum Lesen erforderlich, sofern query nicht angegeben ist. Wird für Lesen/Schreiben verwendet. Gültige Werte: Inhalt einer SQL-FROM-Klausel in SAP HANA. Identifiziert eine Tabelle in SAP HANA, zu der eine Verbindung hergestellt werden soll. Sie können auch anderes SQL als einen Tabellennamen angeben, z. B. eine Unterabfrage. Weitere Informationen finden Sie unter From clause in der Dokumentation von SAP HANA.

  • query – Wird zum Lesen verwendet. Eine SQL-SELECT-Abfrage von SAP HANA, die definiert, was beim Lesen aus SAP HANA abgerufen werden soll.