

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
<a name="aws-glue-programming-etl-connect-saphana-home"></a>

Puoi usare AWS Glue for 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. Ti connetti a SAP HANA utilizzando le credenziali JDBC archiviate tramite Gestione dei segreti AWS una connessione AWS Glue SAP HANA.

Per ulteriori informazioni sulle porte SAP HANA JDBC, consulta la [documentazione SAP HANA](https://help.sap.com/docs/SAP_HANA_PLATFORM/0eec0d68141541d1b07893a39944924e/ff15928cf5594d78b841fbbe649f04b4.html).

## Configurazione delle connessioni SAP HANA
<a name="aws-glue-programming-etl-connect-saphana-configure"></a>

Per connetterti a SAP HANA da AWS Glue, dovrai creare e archiviare le tue credenziali SAP HANA in un Gestione dei segreti AWS segreto, quindi associare quel segreto a una connessione SAP HANA Glue. AWS 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 job 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 lavoro. 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.](https://help.sap.com/docs/HANA_SMART_DATA_INTEGRATION/7952ef28a6914997abc01745fef1b607/88e2e8bded9e4041ad3ad87dc46c7b55.html?locale=en-US) In base al layout della rete, ciò potrebbe richiedere modifiche alle regole del gruppo di sicurezza, alla rete ACLs, 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. Nel Gestione dei segreti AWS, crea un segreto utilizzando le tue credenziali SAP HANA. Per creare un segreto in Secrets Manager, segui il tutorial disponibile in [Crea un Gestione dei segreti AWS segreto](https://docs.aws.amazon.com//secretsmanager/latest/userguide/create_secret.html) nella Gestione dei segreti AWS documentazione. Dopo aver creato il segreto, mantieni il nome del segreto *secretName* per il passaggio successivo. 
   + Quando selezionate le **coppie chiave/valore**, create una coppia per la chiave `username/USERNAME` con il valore. *saphanaUsername*
   + Quando selezionate le **coppie chiave/valore**, create una coppia per la chiave `password/PASSWORD` con il valore. *saphanaPassword*

1. Nella console AWS Glue, crea una connessione seguendo i passaggi riportati di seguito[Aggiungere una AWS Glue connessione](console-connections.md). Dopo aver creato la connessione, mantieni il nome della connessione*connectionName*, per utilizzi futuri in AWS Glue. 
   + In **Tipo di connessione**, seleziona SAP HANA.
   + Quando fornisci l'**URL SAP HANA**, fornisci l'URL per la tua istanza.

     SAP HANA JDBC URLs sono nel formato `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 un **AWS segreto, fornisci**. *secretName*

Dopo aver creato una connessione AWS Glue SAP HANA, dovrai eseguire i seguenti passaggi prima di eseguire il lavoro AWS Glue:
+ Concedi al ruolo IAM associato al tuo lavoro AWS Glue il permesso di lettura*secretName*.
+ Nella configurazione del lavoro AWS Glue, fornisci *connectionName* una **connessione di rete aggiuntiva**.

## Lettura da tabelle SAP HANA
<a name="aws-glue-programming-etl-connect-saphana-read"></a>

**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". Chiama questo*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. Avrai bisogno del nome della connessione AWS Glue,*connectionName*. 

Esempio: 

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

Puoi anche fornire una query SQL SELECT per filtrare i risultati restituiti al tuo DynamicFrame. Sarà necessario configurare `query`.

Esempio:

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

## Scrittura su tabelle SAP HANA
<a name="aws-glue-programming-etl-connect-saphana-write"></a>

Questo esempio scrive informazioni da un sistema esistente DynamicFrame *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". Chiama questo*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. Avrai bisogno del nome della connessione AWS Glue,*connectionName*. 

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
<a name="aws-glue-programming-etl-connect-saphana-reference"></a>
+ `connectionName`: obbligatorio. Utilizzato per la lettura/scrittura. Il nome di una connessione AWS Glue SAP HANA configurata per fornire informazioni di autenticazione e di 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](https://help.sap.com/docs/SAP_HANA_PLATFORM/4fe29514fd584807ac9f2a04f6754767/20fcf24075191014a89e9dc7b8408b26.html#loio20fcf24075191014a89e9dc7b8408b26__from_clause) 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.