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.
Vous pouvez utiliser AWS Glue for Spark pour lire et écrire dans des tables sur des instances gérées Azure SQL dans AWS Glue 4.0 et versions ultérieures. 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 d'utilisateur et de mot de passe stockées 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 AWS Secrets Manager secret, puis associer ce secret à une connexion Azure SQL AWS Glue.
Pour configurer une connexion à Azure SQL :
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 AWS Secrets Manager secret dans la AWS Secrets Manager documentation. Après avoir créé le secret, conservez le nom du secret
secretName
pour l'étape suivante.-
Lorsque vous sélectionnez des paires clé/valeur, créez une paire pour la clé
user
contenant la valeur.azuresqlUsername
-
Lorsque vous sélectionnez des paires clé/valeur, créez une paire pour la clé
password
contenant la valeur.azuresqlPassword
-
Dans la console AWS Glue, créez une connexion en suivant les étapes décrites dansAjouter une AWS Glue connexion. Après avoir créé la connexion, conservez le nom de la connexion pour une utilisation future dans AWS Glue.
connectionName
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 JDBC URLs pour Azure SQL Managed Instances, consultez la documentation Microsoft
. Lorsque vous sélectionnez un AWS secret, indiquez-le
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
connectionName
, fournissez une 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
ettableIdentifier
.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é d'URL dans
connectionName
, un schéma et un nom de table via ledbtable
. -
Une connexion SQL AWS Glue Azure 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 SQL SELECT 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 fichier existant dynamicFrame
dans Azure SQL. Si le tableau 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
ettableIdentifier
.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é d'URL dans
connectionName
, un schéma et un nom de table via ledbtable
. -
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. Le nom d'une connexion SQL AWS Glue Azure 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'unequery
ne soit fournie. Utilisé pour les combinaisons de Read/Write. Valid Values: Names of Azure SQL tables, or period separated schema/table noms. 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.