

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 Teradata Vantage NOS
<a name="connecting-to-data-teradata-nos"></a>

 La connexion Teradata NOS (Native Object Store) est une nouvelle connexion pour Teradata Vantage qui utilise la requête Teradata WRITE\_NOS pour lire des tables existantes et la requête READ\_NOS pour écrire dans des tables. Ces requêtes utilisent Amazon S3 comme répertoire intermédiaire. Par conséquent, le connecteur Teradata NOS est plus rapide que le connecteur Teradata existant (JDBC-based), en particulier lorsqu'il s'agit de gérer de grandes quantités de données. 

 Vous pouvez utiliser la connexion Teradata NOS dans Spark AWS Glue pour lire et écrire dans des tables existantes dans Teradata Vantage dans les AWS Glue versions 5.0 et ultérieures. Vous pouvez définir ce qu'il faut lire dans Teradata à l'aide d'une requête SQL. Vous pouvez vous connecter à Teradata à l'aide des identifiants de nom d'utilisateur et de mot de passe enregistrés AWS Secrets Manager via une AWS Glue connexion. 

 Pour plus d’informations sur Teradata, veuillez consulter la [documentation Teradata](https://docs.teradata.com/) 

**Topics**
+ [Création d’une connexion Teradata NOS](#creating-teradata-nos-connection)
+ [Lecture à partir de tables Teradata](#reading-from-teradata-nos-tables)
+ [Écrire dans les tables Teradata](#writing-to-teradata-nos-tables)
+ [Référence des options de connexion Teradata](#teradata-nos-connection-option-reference)
+ [Fournir des options dans AWS Glue Interface utilisateur Visual ETL](#teradata-nos-connection-option-visual-etl-ui)

## Création d’une connexion Teradata NOS
<a name="creating-teradata-nos-connection"></a>

Pour vous connecter à Teradata NOS depuis AWS Glue, vous devez créer et stocker vos informations d'identification Teradata dans un AWS Secrets Manager secret, puis associer ce secret à une connexion AWS Glue Teradata NOS. Si votre instance Teradata se trouve dans un Amazon VPC, vous devrez également fournir des options réseau à AWS Glue votre connexion Teradata NOS. 

 **Prérequis :** 
+  Si vous accédez à votre environnement Teradata via Amazon VPC, configurez Amazon VPC pour permettre à AWS Glue votre tâche de communiquer avec l'environnement Teradata. Nous vous déconseillons d'accéder à l'environnement Teradata via l'Internet public. 
+  Dans Amazon VPC, identifiez ou créez un VPC, un sous-réseau et un groupe de sécurité qui AWS Glue seront utilisés lors de l'exécution de la tâche. En outre, vous devez vous assurer qu'Amazon VPC est configuré pour autoriser le trafic réseau entre votre instance Teradata et cet emplacement. Votre tâche devra établir une connexion TCP avec votre port client Teradata. Pour plus d’informations sur les ports Teradata, consultez [Security Groups for Teradata Vantage](https://docs.teradata.com/r/Teradata-VantageTM-on-AWS-DIY-Installation-and-Administration-Guide/April-2020/Before-Deploying-Vantage-on-AWS-DIY/Security-Groups-and-Ports). 
+  Selon la configuration de votre réseau, la connectivité VPC sécurisée peut nécessiter des modifications dans Amazon VPC et dans d'autres services réseau. Pour plus d'informations sur AWS la connectivité, consultez la section [Options de AWS connectivité](https://docs.teradata.com/r/Teradata-VantageCloud-Enterprise/Get-Started/Connecting-Your-Environment/AWS-Connectivity-Options) dans la documentation Teradata. 

### Pour configurer un AWS Glue Connexion Teradata NOS :
<a name="creating-teradata-nos-connection-procedure"></a>

1.  Dans votre configuration Teradata, identifiez ou créez un {{teradataUsername}} et auquel {{teradataPassword}} AWS Glue vous vous connecterez. Pour plus d’informations, consultez [Vantage Security Overview](https://docs.teradata.com/r/Configuring-Teradata-VantageTM-After-Installation/January-2021/Security-Overview/Vantage-Security-Overview) dans la documentation Teradata. 

1.  Dans AWS Secrets Manager, créez un secret à l'aide de vos informations d'identification Teradata. Pour créer un secret dans AWS Secrets Manager, suivez le didacticiel disponible dans la [section Créer un AWS Secrets Manager secret dans la AWS Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/create_secret.html) documentation. Après avoir créé le secret, conservez le nom du secret {{secretName}} pour l'étape suivante. 
   +  Lorsque vous sélectionnez des Key/value paires, créez une paire pour la clé USERNAME avec la valeur{{teradataUsername}}. 
   +  Lorsque vous sélectionnez des Key/value paires, créez une paire pour la clé PASSWORD avec la valeur{{teradataPassword}}. 

1.  Dans la AWS Glue console, 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 Teradata Vantage NOS. 
   +  Lorsque vous fournissez l'URL JDBC, indiquez l'URL de votre instance. Vous pouvez également coder en dur certains paramètres de connexion séparés par des virgules dans votre URL JDBC. L'URL doit être conforme au format suivant :` jdbc:teradata://teradataHostname/ParameterName=ParameterValue,ParameterName=ParameterValue `. 
   +  Les paramètres d'URL pris en charge sont les suivants : 
     +  `DATABASE` – nom de la base de données sur l'hôte à laquelle accéder par défaut. 
     +  `DBS_PORT` – le port de base de données utilisé lors de l'exécution sur un port non standard. 
   +  Lorsque vous sélectionnez un **type d'identifiant**, sélectionnez AWS Secrets Manager, puis définissez ** AWS Secret** sur{{secretName}}. 

1.  Dans les situations suivantes, vous pouvez avoir besoin d'une configuration supplémentaire : 
   +  Pour les instances Teradata hébergées AWS dans un Amazon VPC, vous devrez fournir les informations de connexion Amazon VPC à AWS Glue la connexion qui définit vos informations de sécurité Teradata. Lorsque vous créez ou mettez à jour votre connexion, définissez le **VPC**, le **sous-réseau** et les **groupes de sécurité** dans les **options réseau**. 

 Après avoir créé une connexion AWS Glue Teradata Vantage NOS, vous devez effectuer les étapes suivantes avant d'appeler votre méthode de connexion. 

1.  Accordez au rôle IAM associé à votre AWS Glue travail l'autorisation de lire{{secretName}}. 

1.  Dans la configuration de votre AWS Glue tâche, {{connectionName}} indiquez une **connexion réseau supplémentaire** sous **Connexions**. 

## Lecture à partir de tables Teradata
<a name="reading-from-teradata-nos-tables"></a>

### Prérequis :
<a name="w2aac67c11c24b8c41c17b3"></a>
+  Une table Teradata à partir de laquelle vous souhaitez lire. Vous aurez besoin du nom de la table,{{tableName}}. 
+  L'environnement Teradata dispose d'un accès en écriture au chemin Amazon S3 spécifié par l'`staging_fs_url`option,{{stagingFsUrl}}. 
+  Le rôle IAM associé à la AWS Glue tâche dispose d'un accès en écriture à l'emplacement Amazon S3 spécifié par `staging_fs_url` option. 
+  Une connexion AWS Glue Teradata NOS configurée pour fournir des informations d'authentification. Suivez la procédure [Pour configurer un AWS Glue Connexion Teradata NOS :](#creating-teradata-nos-connection-procedure) pour configurer vos informations d’authentification. Vous aurez besoin du nom de la AWS Glue connexion,{{connectionName}}. 

 Exemple : 

```
teradata_read_table = glueContext.create_dynamic_frame.from_options(
    connection_type= {{"teradatanos"}},
    connection_options={
        "connectionName": {{"connectionName"}},
        "dbtable": {{"tableName"}},
        "staging_fs_url": {{"stagingFsUrl"}}
    }
)
```

 Vous pouvez également fournir une requête SQL SELECT pour filtrer les résultats renvoyés à votre DynamicFrame. Vous devrez configurer query. Si vous configurez à la fois dbTable et query, le connecteur ne parvient pas à lire les données. Par exemple : 

```
teradata_read_query = glueContext.create_dynamic_frame.from_options(
    connection_type={{"teradatanos"}},
    connection_options={
        "connectionName": {{"connectionName"}},
        "query": {{"query"}},
        "staging_fs_url": {{"stagingFsUrl"}}
    }
)
```

 En outre, vous pouvez utiliser l' DataFrame API Spark pour lire des tables Teradata. Par exemple : 

```
options = {
    "url": {{"JDBC_URL"}},
    "dbtable": {{"tableName"}},
    "user": {{"teradataUsername"}}, # or use "username" as key here
    "password": {{"teradataPassword"}},
    "staging_fs_url": {{"stagingFsUrl}}"
}
teradata_read_table = spark.read.format("teradatanos").option(**options).load()
```

## Écrire dans les tables Teradata
<a name="writing-to-teradata-nos-tables"></a>

### Conditions préalables
<a name="writing-to-teradata-nos-tables-prerequisites"></a>
+  Une table Teradata dans laquelle vous souhaitez écrire :{{tableName}}. 
+  L'environnement Teradata dispose d'un accès en lecture à l'emplacement Amazon S3 spécifié par l'`staging_fs_url`option,{{ stagingFsUrl }}. 
+  Le rôle IAM associé à la AWS Glue tâche dispose d'un accès en écriture à l'emplacement Amazon S3 spécifié par `staging_fs_url` option. 
+  Une connexion AWS Glue Teradata configurée pour fournir des informations d'authentification. Suivez la procédure indiquée dans [Pour configurer un AWS Glue Connexion Teradata NOS :](#creating-teradata-nos-connection-procedure) pour configurer vos informations d’authentification. Vous aurez besoin du nom de la AWS Glue connexion,{{connectionName}}. 

   Par exemple : 

  ```
  teradata_write = glueContext.write_dynamic_frame.from_options(
      frame=dynamicFrame,
      connection_type= {{"teradatanos"}},
      connection_options={
          "connectionName": {{"connectionName"}}, 
          "dbtable": {{"tableName"}},
          "staging_fs_url": {{"stagingFsUrl"}}
      }
  )
  ```

## Référence des options de connexion Teradata
<a name="teradata-nos-connection-option-reference"></a>

 **Options de connexion et d’opération :** 
+  `connectionName` — Obligatoire. Utilisé pour Read/Write. Nom d'une connexion AWS Glue Teradata configurée pour fournir des informations d'authentification et de mise en réseau à votre méthode de connexion. 
+  `staging_fs_url` — Obligatoire. Utilisé pour Read/Write. Emplacement accessible en écriture dans Amazon S3, à utiliser pour les données déchargées lors de la lecture depuis Teradata, et pour les données Parquet à charger dans Redshift lors de l’écriture sur Teradata. Le compartiment S3 doit se trouver dans la même région que celle de vos AWS Glue tâches. 
+  `dbtable` — obligatoire pour l'écriture, obligatoire pour la lecture à moins qu'une `query` ne soit fournie. Utilisé pour Read/Write. Le nom de la table avec lequelle votre méthode de connexion va interagir. 
+  `query` : utilisé pour la lecture. Une requête SELECT SQL définissant ce qui doit être récupéré lors de la lecture à partir de Teradata. Vous ne pouvez pas réussir si l’option `dbtable` est fournie. 
+  `clean_staging_s3_dir`— Facultatif. Utilisé pour Read/Write. Si la valeur est true, nettoyez les objets Amazon S3 intermédiaires après une lecture ou une écriture. La valeur par défaut est True. 
+  `pre_actions`— Facultatif. Utilisé pour écrire. Semicolon-separated liste des commandes SQL exécutées avant le transfert des données entre Spark et Teradata Vantage. 
+  `post_actions`— Facultatif. Utilisé pour écrire. Semicolon-separated liste des commandes SQL exécutées après le transfert de données entre Spark et Teradata Vantage. 
+  `truncate`— Facultatif. Utilisé pour écrire. Si la valeur est true, le connecteur tronque la table lors de l’écriture en mode de réécriture. Si la valeur est false, le connecteur supprime la table lors de l’écriture en mode de réécriture. La valeur par défaut est false. 
+  `create_table_script`— Facultatif. Utilisé pour écrire. Une instruction SQL pour créer une table lors de l’écriture sur Teradata Vantage. Cette option est utile lorsque vous souhaitez créer une table avec des métadonnées personnalisées (par exemple, table CREATE MULTISET ou SET ou modifier l’index principal). Notez que le nom de table utilisé dans le script de création de table doit correspondre au nom de table spécifié dans l’option `dbtable`. 
+  `partition_size_in_mb`— Facultatif. Utilisé pour la lecture. Taille maximale d’une partition Spark en mégaoctets lors de la lecture d’objets Amazon S3 intermédiaires. La valeur par défaut est 128. 

 Vous pouvez fournir des options avancées lors de la création d’un nœud Teradata. Ces options sont les mêmes que celles disponibles lors de la programmation AWS Glue de scripts Spark.

 Consultez [Connexions Teradata Vantage](aws-glue-programming-etl-connect-teradata-home.md). 

 **Options d’autorisation :** 

 Vous trouverez ci-dessous les options utilisées pour fournir les informations d'identification du AWS compte que le connecteur utilise pour accéder au compartiment Amazon S3 intermédiaire. Vous pouvez choisir (1) de ne fournir aucune option d'autorisation et d'utiliser des informations d'identification temporaires générées à partir de votre rôle d' AWS Glue exécution ; ou (2) de fournir un objet d'autorisation `auth_object` que vous avez créé ; ou (3) de le fournir `aws_access_key_id and aws_secret_access_key` si vous utilisez des informations d'identification à long terme, ou de fournir `aws_access_key``aws_secret_access_key`, et `aws_session_token` si vous utilisez des informations d'identification temporaires. 
+  `auth_object` : facultatif. Utilisé pour accéder au compartiment Amazon S3 intermédiaire. Chaîne d’objets d’autorisation créée dans une instance Teradata. Si elle est fournie, le connecteur utilisera cet objet d’autorisation pour accéder au compartiment Amazon S3 intermédiaire. Si elles ne sont pas fournies, `aws_access_key_id` et qu'elles ne le `aws_secret_access_key` sont pas non plus, une information d'identification temporaire sera extraite du rôle AWS Glue d'exécution et utilisée par le connecteur. Le AWS compte associé à cet objet d'autorisation doit se trouver dans la même région que vos AWS Glue tâches et votre compartiment Amazon S3 intermédiaire ou être configuré avec la confiance entre comptes. 
+  `aws_access_key_id` : facultatif. Utilisé pour accéder au compartiment Amazon S3 intermédiaire. Fait partie d'un identifiant de sécurité du AWS compte. Si `auth_object` n’est pas fourni et si `aws_access_key_id` est fourni avec `aws_secret_access_key`, le connecteur les utilisera pour accéder au compartiment Amazon S3 intermédiaire. Le AWS compte associé à cette clé d'accès doit se trouver dans la même région que vos AWS Glue tâches et votre compartiment Amazon S3 intermédiaire ou être configuré avec la confiance entre comptes. 
+  `aws_secret_access_key` : facultatif. Utilisé pour accéder au compartiment Amazon S3 intermédiaire. Fait partie d'un identifiant de sécurité du AWS compte. Si `auth_object` n’est pas fourni et si `aws_secret_access_key` est fourni avec `aws_access_key_id`, le connecteur les utilisera pour accéder au compartiment Amazon S3 intermédiaire. Le AWS compte associé à cette clé secrète doit se trouver dans la même région que vos AWS Glue tâches et votre compartiment Amazon S3 intermédiaire ou être configuré avec la confiance entre comptes. 
+  `aws_session_token` : facultatif. Utilisé pour accéder au compartiment Amazon S3 intermédiaire. Fait partie d'un identifiant de sécurité temporaire d'un AWS compte. Doit être fourni avec `aws_access_key_id` et `aws_secret_access_key`. 

## Fournir des options dans AWS Glue Interface utilisateur Visual ETL
<a name="teradata-nos-connection-option-visual-etl-ui"></a>

 Vous pouvez indiquer toutes les options ci-dessus dans l’interface utilisateur de votre tâche ETL visuel. Pour l’option connectionName, vous devez choisir dans la liste déroulante des connexions Teradata Vantage NOS. Pour toutes les autres options, vous devez les fournir via les propriétés personnalisées de Teradata Vantage NOS sous forme de paires clé-valeur. 

![Le volet de la fenêtre indique que la connexion Teradata NOS Vantage est sélectionnée.](http://docs.aws.amazon.com/fr_fr/glue/latest/dg/images/teradata-nos-vantage-connection-options.png)
