Connessioni SAP HANA - AWS Glue

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Connessioni SAP HANA

È possibile utilizzare AWS Glue per Spark per leggere e scrivere su tabelle in SAP HANA in AWS Glue 4.0 e versioni successive. È possibile definire cosa leggere da SAP HANA con una query SQL. Ci si connette a SAP HANA utilizzando le credenziali JDBC archiviate in AWS Secrets Manager tramite una connessione SAP HANA AWS Glue.

Per ulteriori informazioni sulle porte SAP HANA JDBC, consulta la documentazione SAP HANA.

Configurazione delle connessioni SAP HANA

Per connetterti a SAP HANA da AWS Glue, dovrai creare e archiviare le tue credenziali SAP HANA in un segreto AWS Secrets Manager, quindi associare tale segreto a una connessione SAP HANA AWS Glue. Dovrai configurare la connettività di rete tra il tuo servizio SAP HANA e AWS Glue.

Per connetterti a SAP HANA, potrebbero essere necessari alcuni prerequisiti:

  • Se il tuo servizio SAP HANA si trova in un Amazon VPC, configura Amazon VPC per consentire al processo AWS Glue di comunicare con il servizio SAP HANA senza che il traffico attraversi la rete Internet pubblica.

    In Amazon VPC, identifica o crea un VPC, una sottorete e un gruppo di sicurezza che AWS Glue utilizzerà durante l'esecuzione del processo. Inoltre, assicurati che Amazon VPC sia configurato per consentire il traffico di rete tra l'endpoint SAP HANA e questa posizione. Il tuo processo dovrà stabilire una connessione TCP con la tua porta SAP HANA JDBC. Per ulteriori informazioni sulle porte SAP HANA, consulta la documentazione SAP HANA. In base al layout di rete, potrebbe richiedere modifiche alle regole dei gruppi di sicurezza, alle liste di controllo accessi di rete, ai gateway NAT e alle connessioni peering.

  • Non ci sono prerequisiti aggiuntivi se l'endpoint SAP HANA è accessibile a Internet.

Per configurare una connessione a SAP HANA:
  1. In AWS Secrets Manager, crea un segreto utilizzando le tue credenziali SAP HANA. Per creare un segreto in Secrets Manager, segui il tutorial disponibile in Create an AWS Secrets Manager secret nella documentazione di AWS Secrets Manager. Dopo aver creato il segreto, prendi nota del nome, secretName, per il passaggio successivo.

    • Quando selezioni le coppie chiave/valore, crea una coppia per la chiave user con il valore saphanaUsername.

    • Quando selezioni le coppie chiave/valore, crea una coppia per la chiave password con il valore saphanaPassword.

  2. Nella console AWS Glue, crea una connessione seguendo i passaggi riportati in Aggiungere una AWS Glue connessione. Dopo aver creato la connessione, prendi nota del nome, connectionName, per l'uso futuro in AWS Glue.

    • In Tipo di connessione, seleziona SAP HANA.

    • Quando fornisci l'URL SAP HANA, fornisci l'URL per la tua istanza.

      Gli URL SAP HANA JDBC sono nel modulo jdbc:sap://saphanaHostname:saphanaPort/?databaseName=saphanaDBname,ParameterName=ParameterValue

      AWS Glue richiede i seguenti parametri URL JDBC:

      • databaseName - Un database predefinito in SAP HANA a cui connettersi.

    • Quando selezioni il Segreto AWS, fornisci secretName.

Dopo aver creato una connessione AWS Glue SAP HANA, è necessario eseguire le seguenti operazioni prima di eseguire il processo AWS Glue:

  • Concedi al ruolo IAM associato al tuo processo AWS Glue il permesso di leggere secretName.

  • Nella configurazione del processo AWS Glue, fornisci connectionName come Connessione di rete aggiuntiva.

Lettura da tabelle SAP HANA

Prerequisiti:

  • Una tabella SAP HANA da cui si desidera leggere. Avrai bisogno delle informazioni di identificazione per la tabella.

    Una tabella può essere specificata con un nome di tabella SAP HANA e di schema, nel modulo schemaName.tableName. Il nome dello schema e il separatore ""." non sono necessari se la tabella si trova nello schema predefinito, "pubblico". Chiamalo tableIdentifier. Il database viene fornito come parametro URL JDBC in connectionName.

  • Una connessione AWS Glue SAP HANA configurata per fornire informazioni di autenticazione. Completa i passaggi della procedura precedente, Per configurare una connessione a SAP HANA per configurare le informazioni di autenticazione. Sarà necessario il nome della connessione AWS Glue, connectionName.

Ad esempio:

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

È possibile anche fornire una query SELECT SQL per filtrare i risultati restituiti al DynamicFrame. Sarà necessario configurare query.

Ad esempio:

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

Scrittura su tabelle SAP HANA

Questo esempio scrive informazioni a partire da un DynamicFrame esistente, dynamicFrame a SAP HANA. Se la tabella contiene già informazioni, AWS Glue genererà un errore.

Prerequisiti:

  • Una tabella SAP HANA su cui scrivere.

    Una tabella può essere specificata con un nome di tabella SAP HANA e di schema, nel modulo schemaName.tableName. Il nome dello schema e il separatore ""." non sono necessari se la tabella si trova nello schema predefinito, "pubblico". Chiamalo tableIdentifier. Il database viene fornito come parametro URL JDBC in connectionName.

  • Informazioni di autenticazione SAP HANA. Completa i passaggi della procedura precedente, Per configurare una connessione a SAP HANA per configurare le informazioni di autenticazione. Sarà necessario il nome della connessione AWS Glue, connectionName.

Ad esempio:

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

Indicazioni di riferimento alle opzioni di connessione a SAP HANA

  • connectionName: obbligatorio. Utilizzato per la lettura/scrittura. Il nome di una connessione a SAP HANA AWS Glue configurata per fornire informazioni di autenticazione e sulla rete al metodo di connessione.

  • databaseName: utilizzato per la lettura/scrittura. Valori validi: nomi dei database in SAP HANA. Nome del database a cui connettersi.

  • dbtable — Richiesto per la scrittura, richiesto per la lettura a meno che non query sia fornito. Utilizzato per la lettura/scrittura. Valori validi: contenuto di una clausola SAP HANA SQL FROM. Identifica una tabella in SAP HANA a cui connettersi. È inoltre possibile fornire un codice SQL diverso dal nome della tabella, ad esempio una sottoquery. Per ulteriori informazioni, consulta la clausola From nella documentazione di SAP HANA.

  • query: utilizzato per la lettura. Una query SAP HANA SQL SELECT che definisce cosa recuperare durante la lettura da SAP HANA.