Connessioni Azure SQL - 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 Azure SQL

È possibile utilizzare AWS Glue per Spark per leggere da e scrivere su tabelle sulle le istanze gestite di Azure SQL in AWS Glue 4.0 e versioni successive. È possibile definire cosa leggere da Azure SQL con una query SQL. Connettiti ad Azure SQL utilizzando le credenziali utente e password memorizzate in AWS Secrets Manager tramite una connessione AWS Glue.

Per altre informazioni su Azure SQL, consulta la documentazione di Azure SQL.

Configurazione delle connessioni Azure SQL

Per connetterti ad Azure SQL da AWS Glue, dovrai creare e archiviare le tue credenziali Azure SQL in un segreto AWS Secrets Manager, quindi associare quel segreto a una connessione Azure SQL AWS Glue.

Per configurare una connessione ad Azure SQL:
  1. In AWS Secrets Manager, crea un segreto utilizzando le tue credenziali Azure SQL. 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 azuresqlUsername.

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

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

    • In Tipo di connessione, seleziona Azure SQL.

    • Quando fornisci l'URL SQL di Azure, fornisci un URL di endpoint JDBC.

      L'elenco deve essere nel seguente formato: jdbc:sqlserver://databaseServerName:databasePort;databaseName=azuresqlDBname;.

      AWS Glue richiede le seguenti proprietà URL:

      • databaseName - Un database predefinito in Azure SQL a cui connettersi.

      Per altre informazioni sugli URL JDBC per le istanze gestite di Azure SQL, consulta la documentazione di Microsoft.

    • Quando selezioni il Segreto AWS, fornisci secretName.

Dopo aver creato una connessione AWS Glue Azure SQL, è 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 SQL di Azure

Prerequisiti:

  • Una tabella Azure SQL da cui si desidera leggere. Avrai bisogno di informazioni di identificazione per la tabella, databaseName e tableIdentifier.

    Una tabella SQL di Azure è identificata dal database, dallo schema e dal nome. È necessario fornire il nome del database e della tabella durante la connessione ad Azure SQL. È inoltre necessario fornire lo schema se diverso da quello predefinito, "pubblico". Il database viene fornito tramite una proprietà URL in connectionName, il nome dello schema e della tabella tramite dbtable.

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

Ad esempio:

azuresql_read_table = glueContext.create_dynamic_frame.from_options( connection_type="azuresql", 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:

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

Scrittura su tabelle SQL di Azure

Questo esempio scrive informazioni a partire da un DynamicFrame esistente, dynamicFrame ad Azure SQL. Se la tabella contiene già informazioni, AWS Glue aggiungerà i dati da DynamicFrame.

Prerequisiti:

  • Una tabella di Azure SQL su cui scrivere. Avrai bisogno di informazioni di identificazione per la tabella, databaseName e tableIdentifier.

    Una tabella SQL di Azure è identificata dal database, dallo schema e dal nome. È necessario fornire il nome del database e della tabella durante la connessione ad Azure SQL. È inoltre necessario fornire lo schema se diverso da quello predefinito, "pubblico". Il database viene fornito tramite una proprietà URL in connectionName, il nome dello schema e della tabella tramite dbtable.

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

Ad esempio:

azuresql_write = glueContext.write_dynamic_frame.from_options( connection_type="azuresql", connection_options={ "connectionName": "connectionName", "dbtable": "tableIdentifier" } )

Indicazioni di riferimento alle opzioni di connessione ad Azure SQL

  • connectionName: obbligatorio. Utilizzato per la lettura/scrittura. Il nome di una connessione ad Azure SQL AWS Glue configurata per fornire informazioni di autenticazione al metodo di connessione.

  • databaseName: utilizzato per la lettura/scrittura. Valori validi: nomi di database di Azure SQL. Il nome del database in Azure SQL 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: nomi delle tabelle di Azure SQL o combinazioni di nomi di tabella/schema separate da punti. Utilizzato per specificare la tabella e lo schema che identificano la tabella a cui connettersi. Lo schema predefinito è "pubblico". Se la tabella rientra in uno schema non predefinito, fornisci queste informazioni nel modulo schemaName.tableName.

  • query: utilizzato per la lettura. Una query Transact-SQL SELECT che definisce cosa recuperare durante la lettura da Azure SQL. Per ulteriori informazioni, consulta la documentazione di Microsoft.