Connexions Azure SQL - AWS Glue

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Connexions Azure SQL

Vous pouvez utiliser AWS Glue pour Spark pour lire et écrire dans des tables dans des instances gérées par Azure SQL dans la version 4.0 et les versions ultérieures d'AWS Glue. Vous pouvez définir ce qu'il faut lire dans Azure SQL à l'aide d'une requête SQL. Vous vous connectez à Azure SQL à l’aide des informations d'identification (nom d'utilisateur et mot de passe) stockées dans AWS Secrets Manager via une connexion AWS Glue.

Pour plus d'informations sur Azure SQL, consultez la documentation Azure SQL.

Configuration des connexions Azure SQL

Pour vous connecter à Azure SQL depuis AWS Glue, vous devez créer et stocker vos informations d’identification Azure SQL dans un secret AWS Secrets Manager, puis associer ce secret à une connexion AWS Glue Azure SQL.

Pour configurer une connexion à Azure SQL :
  1. Dans AWS Secrets Manager, créez un secret à l'aide de vos informations d'identification Azure SQL. Pour créer un secret dans Secrets Manager, suivez le didacticiel disponible dans la section Créer un secret AWS Secrets Manager dans la documentation AWS Secrets Manager. Après avoir créé le secret, conservez le nom du secret, secretName, pour l'étape suivante.

    • Lorsque vous sélectionnez Paires clé/valeur, créez une paire pour la clé user avec la valeur azuresqlUsername.

    • Lorsque vous sélectionnez Paires clé/valeur, créez une paire pour la clé password avec la valeur azuresqlPassword.

  2. Dans la console AWS Glue, créez une connexion en suivant les étapes décrites dans Ajout d'une connexion AWS Glue. Après avoir créé la connexion, conservez le nom de la connexion, connectionName, pour une utilisation ultérieure dans AWS Glue.

    • Lorsque vous sélectionnez un type de connexion, sélectionnez Azure SQL.

    • Lorsque vous fournissez une URL Azure SQL, fournissez une URL de point de terminaison JDBC.

      La URL doit avoir le format suivant : jdbc:sqlserver://databaseServerName:databasePort;databaseName=azuresqlDBname;.

      AWS Glue nécessite les propriétés d'URL suivantes :

      • databaseName – une base de données par défaut dans Azure SQL à laquelle se connecter.

      Pour plus d'informations sur les URL JDBC pour les instances gérées par Azure SQL, consultez la documentation Microsoft.

    • Lorsque vous sélectionnez un Secret AWS, fournissez secretName.

Après avoir créé une connexion AWS Glue Azure SQL, vous devez effectuer les étapes suivantes avant d'exécuter votre tâche AWS Glue :

  • Accordez au rôle IAM associé à votre tâche AWS Glue l'autorisation de lire secretName.

  • Dans la configuration de votre tâche AWS Glue, indiquez connectionName en tant que connexion réseau supplémentaire.

Lire à partir de tables SQL Azure

Prérequis :

  • Une table Azure SQL à partir de laquelle vous souhaitez lire. Vous aurez besoin d'informations d'identification pour la table, databaseName et tableIdentifier.

    Une table Azure SQL est identifiée par sa base de données, son schéma et son nom de table. Vous devez fournir le nom de la base de données et le nom de la table lorsque vous vous connectez à Azure SQL. Vous devez également fournir le schéma s'il n'est pas « public » par défaut. La base de données est fournie via une propriété URL dans connectionName, le schéma et le nom de la table via dbtable.

  • Une connexion AWS Glue Azure SQL configurée pour fournir des informations d'authentification. Suivez les étapes de la procédure précédente Pour configurer une connexion à Azure SQL afin de configurer vos informations d'authentification. Vous aurez besoin du nom de la connexion AWS Glue, connectionName.

Par exemple :

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

Vous pouvez également fournir une requête SELECT SQL pour filtrer les résultats renvoyés à votre DynamicFrame. Vous devrez configurer query.

Par exemple :

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

Écrire dans des tables Azure SQL

Cet exemple écrit des informations à partir d'un DynamicFrame existant, dynamicFrame, dans Azure SQL. Si la table contient déjà des informations, AWS Glue ajoutera les données de votre DynamicFrame.

Prérequis :

  • Une table Azure SQL dans laquelle vous souhaitez écrire. Vous aurez besoin d'informations d'identification pour la table, databaseName et tableIdentifier.

    Une table Azure SQL est identifiée par sa base de données, son schéma et son nom de table. Vous devez fournir le nom de la base de données et le nom de la table lorsque vous vous connectez à Azure SQL. Vous devez également fournir le schéma s'il n'est pas « public » par défaut. La base de données est fournie via une propriété URL dans connectionName, le schéma et le nom de la table via dbtable.

  • Informations d'authentification Azure SQL. Suivez les étapes de la procédure précédente Pour configurer une connexion à Azure SQL afin de configurer vos informations d'authentification. Vous aurez besoin du nom de la connexion AWS Glue, connectionName.

Par exemple :

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

Référence des options de connexion Azure SQL

  • connectionName — Obligatoire. Utilisé pour la lecture/l'écriture. Nom d’une connexion AWS Glue Azure SQL configurée pour fournir des informations d'authentification à votre méthode de connexion.

  • databaseName : utilisé pour la lecture/l'écriture. Valeurs valides : noms des bases de données Azure SQL. Le nom de la base de données dans Azure SQL à laquelle se connecter.

  • dbtable — obligatoire pour l'écriture, obligatoire pour la lecture à moins qu'une query ne soit fournie. Utilisé pour la lecture/l'écriture. Valeurs valides : noms des tables Azure SQL ou combinaisons de noms de schéma et de table séparées par des points. Utilisées pour spécifier la table et le schéma qui identifient la table à laquelle se connecter. Le schéma par défaut est « public ». Si votre table n'est pas dans un schéma par défaut, fournissez ces informations dans le formulaire schemaName.tableName.

  • query : utilisé pour la lecture. Une requête Transact-SQL SELECT définissant ce qui doit être récupéré lors de la lecture à partir d'Azure SQL. Pour plus d'informations, consultez la documentation Microsoft.