

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.

# Connexion à Snowflake dans AWS Glue Studio
<a name="connecting-to-data-snowflake"></a>

**Note**  
 Vous pouvez utiliser AWS Glue pour Spark pour lire et écrire dans des tables dans Snowflake dans AWS Glue 4.0 et versions ultérieures. Pour configurer une connexion Snowflake avec des tâches AWS Glue par programmation, consultez [Connexions Redshift](aws-glue-programming-etl-connect-redshift-home.md). 

 AWS Glue fournit une prise en charge intégrée pour Snowflake. AWS Glue Studio fournit une interface visuelle pour se connecter à Snowflake, créer des tâches d'intégration de données et les exécuter sur l'exécution Spark AWS Glue Studio sans serveur. 

 AWS Glue Studio crée une connexion unifiée pour Snowflake. Pour de plus amples informations, veuillez consulter [Considérations](using-connectors-unified-connections.md#using-connectors-unified-connections-considerations). 

**Topics**
+ [Création d’une connexion Snowflake](creating-snowflake-connection.md)
+ [Création d'un nœud source Snowflake](creating-snowflake-source-node.md)
+ [Création d'un nœud cible Snowflake](creating-snowflake-target-node.md)
+ [Options avancées](#creating-snowflake-connection-advanced-options)

# Création d’une connexion Snowflake
<a name="creating-snowflake-connection"></a>

**Note**  
 Les connexions unifiées (connexion v2) normalisent toutes les connexions pour utiliser les clés `USERNAME` et `PASSWORD` pour les informations d’identification d’authentification de base. Vous pouvez toujours créer une connexion v1 via l’API avec des secrets contenant `sfUser`, `sfPassword`. 

 Lorsque vous ajoutez une **source de données - nœud Snowflake**AWS Glue Studio, vous pouvez choisir une connexion AWS Glue Snowflake existante ou créer une nouvelle connexion. Vous devez choisir un type de connexion `SNOWFLAKE` et non un type de connexion `JDBC` configuré pour se connecter à Snowflake. Suivez la procédure suivante pour créer une connexion AWS Glue Snowflake :

**Pour créer une connexion Snowflake**

1. Dans Snowflake, générez un utilisateur *snowflakeUser* et un mot de passe. *snowflakePassword* 

1. Déterminez avec quel entrepôt Snowflake cet utilisateur va interagir,. *snowflakeWarehouse* Vous pouvez le `DEFAULT_WAREHOUSE` définir comme forme *snowflakeUser* dans Snowflake ou vous en souvenir pour l'étape suivante.

1. Dans AWS Secrets Manager, créez un secret à l'aide de vos informations d'identification Snowflake. Pour créer un secret dans Secrets Manager, suivez le didacticiel disponible dans la [section Créer un AWS Secrets Manager secret](https://docs.aws.amazon.com/secretsmanager/latest/userguide/create_secret.html#create_secret_cli) 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 *snowflakeUser* avec la clé. `sfUser`
   + Lorsque vous sélectionnez des **paires clé/valeur**, créez une paire pour *snowflakePassword* avec la clé. `sfPassword`
   + Lorsque vous sélectionnez des **paires clé/valeur**, créez une paire pour *snowflakeWarehouse* avec la clé. `sfWarehouse` Cela n’est pas nécessaire si une paire par défaut est définie dans Snowflake. 

1. Dans le catalogue de AWS Glue données, créez une connexion en suivant les étapes décrites dans [Ajouter une AWS Glue connexion](https://docs.aws.amazon.com//glue/latest/dg/console-connections.html). Après avoir créé la connexion, conservez le nom de la connexion pour l'étape suivante. *connectionName* 
   + Lorsque vous sélectionnez un **type de connexion**, sélectionnez Snowflake.
   + Lorsque vous sélectionnez **URL Snowflake**, indiquez le nome d’hôte de votre instance Snowflake. L’URL utilisera un nom d’hôte sous la forme `account_identifier.snowflakecomputing.com`.
   + Lorsque vous sélectionnez un **AWS secret**, fournissez*secretName*.

# Création d'un nœud source Snowflake
<a name="creating-snowflake-source-node"></a>

## Autorisations nécessaires
<a name="creating-snowflake-source-node-permissions"></a>

 AWS Glue Studio les tâches utilisant des sources de données Snowflake nécessitent des autorisations supplémentaires. Pour plus d'informations sur la façon d'ajouter des autorisations aux tâches ETL, consultez [Review IAM permissions needed for ETL jobs](https://docs.aws.amazon.com/glue/latest/ug/setting-up.html#getting-started-min-privs-job). 

 `SNOWFLAKE` AWS Glue les connexions utilisent un AWS Secrets Manager secret pour fournir des informations d'identification. Vos rôles de prévisualisation des tâches et des données AWS Glue Studio doivent être autorisés à lire ce secret.

## Ajout d'une source de données Snowflake
<a name="creating-snowflake-source-node-add"></a>

**Prérequis :**
+ Un AWS Secrets Manager secret pour vos identifiants Snowflake
+ Une connexion au catalogue de AWS Glue données de type Snowflake

**Pour ajouter un nœud **Source de données – Snowflake** :**

1.  Choisissez la connexion pour votre source de données Snowflake. Cela suppose que la connexion existe déjà et que vous pouvez la sélectionner parmi les connexions existantes. Si vous devez créer une connexion, choisissez **Créer une connexion Snowflake**. Pour en savoir plus, consultez [ Overview of using connectors and connections ](https://docs.aws.amazon.com/glue/latest/ug/connectors-chapter.html#using-connectors-overview). 

    Une fois que vous avez choisi une connexion, vous pouvez afficher ses propriétés en cliquant sur **Afficher les propriétés**. Les informations relatives à la connexion sont visibles, notamment l'URL, les groupes de sécurité, le sous-réseau, la zone de disponibilité, la description et les horodatages de création (UTC) et de dernière mise à jour (UTC). 

1.  Choisissez une option de source Snowflake : 
   +  **Choisir une seule table** : il s'agit de la table qui contient les données auxquelles vous souhaitez accéder à partir d'une seule table Snowflake. 
   +  **Saisir une requête personnalisée** : vous permet d'accéder à un jeu de données à partir de plusieurs tables Snowflake en fonction de votre requête personnalisée. 

1.  Si vous avez choisi une seule table, saisissez le nom d'un schéma Snowflake. 

    Vous pouvez également choisir **Saisir une requête personnalisée**. Choisissez cette option pour accéder à un jeu de données personnalisé à partir de plusieurs tables Snowflake. Lorsque vous choisissez cette option, saisissez la requête Snowflake. 

1.  Dans les options **Performance et sécurité** (facultatif), 
   +  **Activer le pushdown de requêtes** : choisissez cette option si vous souhaitez décharger le travail vers l'instance Snowflake. 

1.  Dans **Propriétés Snowflake personnalisées** (facultatif), saisissez les paramètres et les valeurs nécessaires. 

# Création d'un nœud cible Snowflake
<a name="creating-snowflake-target-node"></a>

## Autorisations nécessaires
<a name="creating-snowflake-target-node-permissions"></a>

 AWS Glue Studio les tâches utilisant des sources de données Snowflake nécessitent des autorisations supplémentaires. Pour plus d'informations sur la façon d'ajouter des autorisations aux tâches ETL, consultez [Review IAM permissions needed for ETL jobs](https://docs.aws.amazon.com/glue/latest/ug/setting-up.html#getting-started-min-privs-job). 

 `SNOWFLAKE` AWS Glue les connexions utilisent un AWS Secrets Manager secret pour fournir des informations d'identification. Vos rôles de prévisualisation des tâches et des données AWS Glue Studio doivent être autorisés à lire ce secret.

## Ajout d'une cible de données Snowflake
<a name="creating-snowflake-target-node-add"></a>

**Pour créer un nœud cible Snowflake :**

1.  Choisissez une table Snowflake existante comme cible ou saisissez un nouveau nom de table. 

1.  Lorsque vous utilisez le nœud cible **Cible de données – Snowflake**, vous pouvez choisir l'une des options suivantes : 
   +  **APPREND** : si une table existe déjà, insérez toutes les nouvelles données dans la table sous forme d'insertion. Si la table n'existe pas, créez-la, puis insérez toutes les nouvelles données. 
   +  **MERGE** : AWS Glue met à jour ou ajoute des données à votre table cible en fonction des conditions que vous spécifiez. 

      Choisissez parmi les options : 
     + **Choisir des clés et des actions simples** : choisissez les colonnes à utiliser comme clés de correspondance entre les données source et votre jeu de données cible. 

       Spécifiez les options suivantes lorsqu'elles correspondent :
       + Mettez à jour l'enregistrement dans votre jeu de données cible avec les données de la source.
       + Supprimez l'enregistrement dans votre jeu de données cible.

       Spécifiez les options suivantes lorsqu'elles ne correspondent pas :
       + Insérez les données source en tant que nouvelle ligne dans votre jeu de données cible.
       + Ne rien faire.
     + **Saisir une instruction MERGE personnalisée** : vous pouvez ensuite choisir **Valider l'instruction de fusion** pour vérifier si l'instruction est valide ou non.
   +  **TRUNCATE** : si une table existe déjà, tronquez les données de la table en effaçant d'abord le contenu de la table cible. Si la troncature est réussie, insérez toutes les données. Si la table n'existe pas, créez-la, puis insérez toutes les nouvelles données. Si la troncature échoue, l'opération échouera. 
   +  **DROP** : si une table existe déjà, supprimez les métadonnées et les données de la table. Si la suppression est réussie, insérez toutes les données. Si la table n'existe pas, créez-la, puis insérez toutes les nouvelles données. Si la suppression échoue, l'opération échouera. 

## Options avancées
<a name="creating-snowflake-connection-advanced-options"></a>

Consultez la section [Connexions Snowflake](https://docs.aws.amazon.com//glue/latest/dg/aws-glue-programming-etl-connect-snowflake-home.html) dans le guide du AWS Glue développeur. 