

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

Puoi usare AWS Glue for Spark per leggere e scrivere su tabelle in Vertica in AWS Glue 4.0 e versioni successive. È possibile definire cosa leggere da Vertica con una query SQL. Ti connetti a Vertica utilizzando le credenziali di nome utente e password memorizzate AWS Secrets Manager tramite una connessione Glue. AWS 

Per ulteriori informazioni su Vertica, consulta la [documentazione di Vertica](https://www.vertica.com/docs/9.3.x/HTML/Content/Authoring/UsingVerticaOnAWS/UsingVerticaOnAWS.htm).

## Configurazione delle connessioni Vertica
<a name="aws-glue-programming-etl-connect-vertica-configure"></a>

Per connetterti a Vertica da AWS Glue, dovrai creare e archiviare le tue credenziali Vertica in un AWS Secrets Manager segreto, quindi associare quel segreto a una connessione Vertica Glue. AWS Se la tua istanza Vertica si trova in un Amazon VPC, dovrai anche fornire opzioni di rete alla tua connessione Glue Vertica. AWS Ti servirà un bucket o una cartella Amazon S3 da utilizzare per l'archiviazione temporanea durante la lettura e la scrittura sul database.

Per connetterti a Vertica da AWS Glue, avrai bisogno di alcuni prerequisiti:
+ Un bucket o una cartella Amazon S3 da utilizzare per l'archiviazione temporanea durante la lettura e la scrittura nel database, a cui fa riferimento. {{tempS3Path}}
**Nota**  
Quando si utilizza Vertica nelle anteprime dei dati dei lavori di AWS Glue, i file temporanei potrebbero non essere rimossi automaticamente. {{tempS3Path}} Per garantire la rimozione dei file temporanei, interrompi direttamente la sessione di anteprima dei dati scegliendo **Termina sessione** nel riquadro **Anteprima dei dati**.  
Se non sei in grado di terminare direttamente la sessione di anteprima dei dati, valuta la possibilità di impostare la configurazione del ciclo di vita di Amazon S3 per rimuovere i dati obsoleti. Consigliamo di rimuovere i dati più vecchi di 49 ore, in base al runtime massimo del processo in aggiunta a un margine. Per ulteriori informazioni sulla configurazione del ciclo di vita di Amazon S3, consulta [Gestione del ciclo di vita dello storage](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lifecycle-mgmt.html) nella documentazione di Amazon S3.
+ Una policy IAM con le autorizzazioni appropriate per il tuo percorso Amazon S3 che puoi associare al tuo AWS ruolo lavorativo in Glue.
+ Se la tua istanza Vertica si trova in un Amazon VPC, configura Amazon VPC per consentire al tuo job AWS Glue di comunicare con l'istanza Vertica 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 Glue utilizzerà durante l'esecuzione del job. AWS Inoltre, assicurati che Amazon VPC sia configurato per consentire il traffico di rete tra l'istanza Vertica e questa posizione. Il tuo processo dovrà stabilire una connessione TCP con la tua porta del client Vertica, (per impostazione predefinita, 5433). In base al layout di rete, potrebbero essere necessarie modifiche alle regole dei gruppi di sicurezza, alle liste di controllo accessi di rete, ai gateway NAT e alle connessioni peering.

Puoi quindi procedere alla configurazione di AWS Glue per l'uso con Vertica.

**Per configurare una connessione a Vertica:**

1. In AWS Secrets Manager, crea un segreto utilizzando le tue credenziali Vertica e. {{verticaUsername}} {{verticaPassword}} Per creare un segreto in Secrets Manager, segui il tutorial disponibile in [ Crea un AWS Secrets Manager segreto ](https://docs.aws.amazon.com/secretsmanager/latest/userguide/create_secret.html) nella AWS Secrets Manager documentazione. Dopo aver creato il segreto, mantieni il nome del segreto, {{secretName}} per il passaggio successivo. 
   + Quando selezioni ** Key/value le coppie**, crea una coppia per la chiave `user` con il valore{{verticaUsername}}.
   + Quando selezionate ** Key/value le coppie**, create una coppia per la chiave `password` con il valore{{verticaPassword}}.

1. Nella console AWS Glue, create una connessione seguendo i passaggi indicati in[Aggiungere una AWS Glue connessione](console-connections.md). Dopo aver creato la connessione, mantieni il nome della connessione{{connectionName}}, per il passaggio successivo. 
   + In **Tipo di connessione**, seleziona Vertica.
   + In **Host Vertica**, fornisci il nome host dell'installazione Vertica.
   + In **Porta Vertica**, indica la porta tramite cui è disponibile l'installazione di Vertica.
   + Quando selezioni un **AWS segreto**, fornisci{{secretName}}.

1. Nelle seguenti situazioni, potresti aver bisogno di una configurazione aggiuntiva:
   + 

     Per le istanze Vertica ospitate su un AWS Amazon VPC
     + Fornisci le informazioni sulla connessione Amazon VPC alla connessione AWS Glue che definisce le tue credenziali di sicurezza Vertica. Durante la creazione o l'aggiornamento della connessione, imposta **VPC**, **sottorete** e **Gruppi di sicurezza** nelle **opzioni di rete**.

Dopo aver creato una connessione AWS Glue Vertica, dovrai eseguire i seguenti passaggi prima di chiamare il tuo metodo di connessione.
+ Concedi il ruolo IAM associato ai permessi di lavoro di AWS Glue a. {{tempS3Path}}
+ Concedi il permesso di lettura {{secretName}} al ruolo IAM associato al tuo lavoro AWS Glue.
+ Nella configurazione del job AWS Glue, {{connectionName}} forniscilo come connessione di rete ** aggiuntiva**.

## Lettura da Vertica
<a name="aws-glue-programming-etl-connect-vertica-read"></a>

**Prerequisiti:** 
+ Una tabella Vertica da cui si desidera leggere. Avrai bisogno del nome del database Vertica {{dbName}} e del nome della tabella. {{tableName}}
+ Una connessione AWS Glue Vertica configurata per fornire informazioni di autenticazione. Completa i passaggi della procedura precedente, *Per configurare una connessione a Vertica* per configurare le informazioni di autenticazione. Avrai bisogno del nome della connessione AWS Glue,. {{connectionName}} 
+ Un bucket o una cartella Amazon S3 da utilizzare per lo storage temporaneo, menzionato in precedenza. Avrai bisogno del nome,{{tempS3Path}}. Dovrai connetterti a questa posizione utilizzando il protocollo `s3a`.

Ad esempio: 

```
dynamicFrame = glueContext.create_dynamic_frame.from_options(
    connection_type="vertica",
    connection_options={
        "connectionName": "{{connectionName}}",
        "staging_fs_url": "s3a://{{tempS3Path}}",
        "db": "{{dbName}}",
        "table": "{{tableName}}",
    }
)
```

Puoi anche fornire una query SQL SELECT, per filtrare i risultati restituiti DynamicFrame o per accedere a un set di dati da più tabelle.

Ad esempio:

```
dynamicFrame = glueContext.create_dynamic_frame.from_options(
    connection_type="vertica",
    connection_options={
        "connectionName": "{{connectionName}}",
        "staging_fs_url": "s3a://{{tempS3Path}}",
        "db": "{{dbName}}",
        "query": "select * FROM {{tableName}}",
    },
)
```

## Scrittura su tabelle Vertica
<a name="aws-glue-programming-etl-connect-vertica-write"></a>

Questo esempio scrive informazioni da un file esistente DynamicFrame {{dynamicFrame}} a Vertica. Se la tabella contiene già informazioni, AWS Glue aggiungerà i dati del tuo. DynamicFrame

**Prerequisiti:** 
+ Un nome di tabella attuale o desiderato su cui desideri scrivere. {{tableName}} Avrai anche bisogno del nome del database Vertica corrispondente,{{dbName}}.
+ Una connessione AWS Glue Vertica configurata per fornire informazioni di autenticazione. Completa i passaggi della procedura precedente, *Per configurare una connessione a Vertica* per configurare le informazioni di autenticazione. Avrai bisogno del nome della connessione AWS Glue,. {{connectionName}} 
+ Un bucket o una cartella Amazon S3 da utilizzare per lo storage temporaneo, menzionato in precedenza. Avrai bisogno del nome,{{tempS3Path}}. Dovrai connetterti a questa posizione utilizzando il protocollo `s3a`.

Ad esempio: 

```
glueContext.write_dynamic_frame.from_options(
    frame={{dynamicFrame}},
    connection_type="vertica",
    connection_options={
        "connectionName": "{{connectionName}}",
        "staging_fs_url": "s3a://{{tempS3Path}}",
        "db": "{{dbName}}",
        "table": "{{tableName}}",
    }
)
```

## Indicazioni di riferimento alle opzioni di connessione a Vertica
<a name="aws-glue-programming-etl-connect-vertica-reference"></a>
+ `connectionName`: obbligatorio. Usato per Read/Write. Il nome di una connessione AWS Glue Vertica configurata per fornire informazioni di autenticazione e di rete al metodo di connessione utilizzato.
+ `db`: obbligatorio. Usato per. Read/Write Il nome dell'indice in Vertica con cui interagirà il metodo di connessione.
+ `dbSchema` — Obbligatorio se necessario per identificare la tabella. Usato per Read/Write. Default: `public`. Il nome di uno schema con cui interagirà il metodo di connessione.
+ `table` — Richiesto per la scrittura, richiesto per la lettura a meno che non `query` sia fornito. Usato per Read/Write. Il nome di una tabella con cui interagirà il metodo di connessione.
+ `query`: utilizzato per la lettura. Una query SELECT SQL che definisce cosa recuperare durante la lettura da Teradata.
+ `staging_fs_url`: obbligatorio. Usato per Read/Write. Valori validi: URL `s3a`. L'URL di un bucket o di una cartella Amazon S3 da utilizzare per l'archiviazione temporanea.