

 Amazon Redshift ne prendra plus en charge la création de nouveaux Python à UDFs partir du patch 198. UDFs Le Python existant continuera de fonctionner jusqu'au 30 juin 2026. Pour plus d’informations, consultez le [ billet de blog ](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/). 

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.

# Interroger une base de données
<a name="query-databases"></a>

Pour interroger les bases de données hébergées par votre cluster Amazon Redshift, deux options s’offrent à vous :
+ Connectez-vous à votre cluster et exécutez des requêtes à l' AWS Management Console aide de l'éditeur de requêtes. 

  Si vous utilisez l’éditeur de requête sur la console Amazon Redshift, vous n’avez pas besoin de télécharger et configurer une application cliente SQL. 
+ Connectez-vous à votre cluster via un outil client SQL, tel que SQL Workbench/J. 

  Amazon Redshift prend en charge les outils clients SQL qui se connectent via Java DataBase Connectivity (JDBC) et Open DataBase Connectivity (ODBC). Amazon Redshift ne fournit ni n’installe aucun outil ou bibliothèque client SQL, vous devez donc les installer sur votre ordinateur client ou votre instance Amazon EC2 pour les utiliser. Vous pouvez utiliser la plupart des outils clients SQL qui prennent en charge les pilotes ODBC ou JDBC.

**Note**  
 Lorsque vous écrivez des procédures stockées, nous vous recommandons une bonne pratique pour sécuriser les valeurs sensibles :   
 Ne codez pas en dur des informations sensibles dans la logique des procédures stockées. Par exemple, n’attribuez pas de mot de passe utilisateur dans une instruction CREATE USER dans le corps d’une procédure stockée. Cela présente un risque de sécurité, car les valeurs codées en dur peuvent être enregistrées sous forme de métadonnées de schéma dans les tables du catalogue. Transmettez plutôt des valeurs sensibles, telles que des mots de passe, en tant qu’arguments à la procédure stockée, au moyen de paramètres.   
Pour plus d’informations sur les procédures stockées, consultez [PROCÉDURE DE CRÉATION](https://docs.aws.amazon.com/redshift/latest/dg/r_CREATE_PROCEDURE.html) et [Création de procédures stockées dans Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/dg/stored-procedure-overview.html). Pour plus d’informations sur les tables catalogue, consultez [Tables de catalogue système](https://docs.aws.amazon.com/redshift/latest/dg/c_intro_catalog_views.html).

# Connexion à Amazon Redshift
<a name="cluster-syntax"></a>

Vous pouvez vous connecter à votre base de données à l’aide de la syntaxe suivante.

```
cluster-name.account-number.aws-region.redshift.amazonaws.com/database-name
```

Les éléments de syntaxe sont définis comme suit.
+  `cluster-name` 

   Le nom de votre cluster. 
+  `account-number` 

   L'identifiant unique associé à votre numéro de AWS compte est donné Région AWS. Tous les clusters créés par un compte donné dans une Région AWS donnée ont le même `account-number`. 
+  `aws-region` 

   Le code dans Région AWS lequel se trouve le cluster. 
+  `database-name` 

   Le nom de votre base de données. 

Par exemple, la chaîne de connexion suivante indique la `my-db` base de données du `my-cluster` cluster dans us-east-1 Région AWS.

```
my-cluster.123456789012.us-east-1.redshift.amazonaws.com/my-db
```

# Interrogation d’une base de données à l’aide de l’éditeur de requête v2
<a name="query-editor-v2"></a>

L’éditeur de requête v2 est une application client SQL web distincte que vous utilisez pour créer et exécuter des requêtes sur votre entrepôt des données Amazon Redshift. L’éditeur de requête v2 est principalement utilisé pour modifier et exécuter des requêtes, consulter les résultats et partager votre travail avec votre équipe. Avec l'éditeur de requêtes v2, vous pouvez créer des bases de données, des schémas, des tables et des fonctions définies par l'utilisateur ()UDFs. Dans un panneau d’arborescence, pour chacune de vos bases de données, vous pouvez afficher ses schémas. Pour chaque schéma, vous pouvez consulter ses tables, ses vues et ses procédures stockées. UDFs L’éditeur de requête v2 remplace l’éditeur de requête précédent. 

**Note**  
L'éditeur de requêtes v2 est disponible dans le commerce Régions AWS. Pour une liste des Régions AWS endroits où l'éditeur de requêtes v2 est disponible, consultez les points de terminaison répertoriés pour l'[éditeur de requêtes Redshift](https://docs.aws.amazon.com/general/latest/gr/redshift-service.html) v2 dans le. *Référence générale d'Amazon Web Services* 

Pour une démonstration de l’éditeur de requête v2, regardez les vidéos suivantes. 

[![AWS Videos](http://img.youtube.com/vi/https://www.youtube.com/embed/IwZNIroJUnc/0.jpg)](http://www.youtube.com/watch?v=https://www.youtube.com/embed/IwZNIroJUnc)


[![AWS Videos](http://img.youtube.com/vi/https://www.youtube.com/embed/4EIV4XTE9iI/0.jpg)](http://www.youtube.com/watch?v=https://www.youtube.com/embed/4EIV4XTE9iI)


[![AWS Videos](http://img.youtube.com/vi/https://www.youtube.com/embed/7y-f1wlyVhI/0.jpg)](http://www.youtube.com/watch?v=https://www.youtube.com/embed/7y-f1wlyVhI)


L’éditeur de requête v2 dispose d’un riche ensemble de fonctions permettant de gérer et d’exécuter vos instructions SQL. Les rubriques des sections suivantes vous permettent de commencer à utiliser plusieurs de ces fonctions. Explorez vous-même l’éditeur de requête v2 pour vous familiariser avec ses capacités. 

# Configuration de votre Compte AWS
<a name="query-editor-v2-getting-started"></a>

Vous pouvez effectuer cet ensemble de tâches pour configurer l'éditeur de requêtes v2 afin d'interroger une base de données Amazon Redshift. Avec les autorisations appropriées, vous pouvez accéder aux données d'un cluster ou d'un groupe de travail Amazon Redshift dont vous êtes propriétaire et qui se trouve actuellement dans le cluster Amazon Redshift. Compte AWS Région AWS

La première fois qu'un administrateur configure l'éditeur de requêtes v2 pour vous Compte AWS, il choisit AWS KMS key celui qui est utilisé pour chiffrer les ressources de l'éditeur de requêtes v2. Par défaut, une clé AWS détenue est utilisée pour chiffrer les ressources. Un administrateur peut également utiliser une clé gérée par le client en choisissant l’Amazon Resource Name (ARN) pour la clé dans la page de configuration. 

Après avoir configuré un compte, les paramètres de AWS KMS chiffrement ne peuvent pas être modifiés. Pour plus d’informations sur la création et l’utilisation d’une clé gérée par le client avec l’éditeur de requête v2, consultez [Création d'une clé gérée par le AWS KMS client à utiliser avec l'éditeur de requêtes v2](#query-editor-v2-kms-key). L’administrateur peut éventuellement choisir un compartiment S3 et le chemin utilisé pour certaines fonctionnalités, telles que le chargement de données à partir d’un fichier. Pour de plus amples informations, veuillez consulter [Chargement de données à partir d'un fichier local : configuration et flux de travail](query-editor-v2-loading-data-local.md). 

L’éditeur de requête v2 Amazon Redshift prend en charge l’authentification, le chiffrement, l’isolement et la conformité pour protéger vos données au repos et en transit. Pour plus d’informations sur la sécurité des données et l’éditeur de requête v2, consultez les rubriques suivantes : 
+ [Chiffrement au repos](security-server-side-encryption.md)
+ [Chiffrement en transit](security-encryption-in-transit.md)
+ [Configuration et analyse des vulnérabilités dans Amazon Redshift](security-vulnerability-analysis-and-management.md)

AWS CloudTrail capture les appels d'API et les événements associés effectués par vous ou en votre nom Compte AWS et envoie les fichiers journaux dans un compartiment Amazon S3 que vous spécifiez. Vous pouvez identifier les utilisateurs et les comptes appelés AWS, l'adresse IP source à partir de laquelle les appels ont été effectués et la date des appels. Pour en savoir plus sur la manière dont l’éditeur de requête v2 s’exécute sur AWS CloudTrail, consultez [Journalisation avec CloudTrail](logging-with-cloudtrail.md). Pour plus d'informations CloudTrail, consultez le [guide de AWS CloudTrail l'utilisateur](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-user-guide.html). 

L’éditeur de requête v2 dispose de quotas réglables pour certaines de ses ressources. Pour plus d'informations, consultez [Quotas pour les objets Amazon Redshift](amazon-redshift-limits.md#amazon-redshift-limits-quota). 

## Ressources créées à l’aide de l’éditeur de requête v2
<a name="query-editor-v2-resources"></a>

Dans l’éditeur de requête v2, vous pouvez créer des ressources telles que des requêtes enregistrées et des diagrammes. Toutes les ressources de l’éditeur de requête v2 sont associées à un rôle IAM ou à un utilisateur. Nous vous recommandons d’associer des politiques à un rôle IAM et de l’attribuer à un utilisateur.

Dans l’éditeur de requête v2, vous pouvez ajouter et supprimer des balises pour les requêtes et les diagrammes enregistrés. Vous pouvez utiliser ces balises lorsque vous configurez des politiques IAM personnalisées ou pour rechercher des ressources. Vous pouvez également gérer les balises à l'aide de l'éditeur de Groupes de ressources AWS balises.

Vous pouvez configurer des rôles IAM avec des politiques IAM afin de partager des requêtes avec d'autres utilisateurs du même nom Compte AWS dans le. Région AWS

## Création d'une clé gérée par le AWS KMS client à utiliser avec l'éditeur de requêtes v2
<a name="query-editor-v2-kms-key"></a>

**Pour créer une clé de chiffrement symétrique gérée par le client** :

Vous pouvez créer une clé de chiffrement symétrique gérée par le client pour chiffrer les ressources de l'éditeur de requêtes v2 à l'aide de la AWS KMS console ou des opérations de l' AWS KMS API. Pour obtenir des instructions sur la création d'une clé, consultez la section [Création d'une AWS KMS clé de chiffrement symétrique](https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html#create-symmetric-cmk) dans le *manuel du AWS Key Management Service développeur*.

**Stratégie de clé**

Les stratégies de clé contrôlent l’accès à votre clé gérée par le client. Chaque clé gérée par le client doit avoir exactement une stratégie de clé, qui contient des instructions qui déterminent les personnes pouvant utiliser la clé et comment elles peuvent l’utiliser. Lorsque vous créez votre clé gérée par le client, vous pouvez spécifier une stratégie de clé. Pour plus d'informations, consultez [la section Gestion de l'accès aux AWS KMS clés](https://docs.aws.amazon.com/kms/latest/developerguide/control-access-overview.html#managing-access) dans le *Guide du AWS Key Management Service développeur*. 

Pour utiliser votre clé gérée par le client avec Amazon Redshift Query Editor V2, les opérations API suivantes doivent être autorisées dans la stratégie de clé : 
+ `kms:GenerateDataKey` – Génère une clé de données symétrique unique pour chiffrer vos données.
+ `kms:Decrypt` – Déchiffre les données chiffrées à l’aide de la clé gérée par le client.
+ `kms:DescribeKey` – Fournit les détails des clés gérées par le client pour permettre au service de valider la clé. 

Voici un exemple de AWS KMS politique pour Compte AWS `111122223333`. Dans la première section, le `kms:ViaService` limite l’utilisation de la clé au service de l’éditeur de requête v2 (nommé `sqlworkbench.region.amazonaws.com` dans la politique). L' Compte AWS utilisation de la clé doit être`111122223333`. Dans la deuxième section, l'utilisateur root et les administrateurs clés de Compte AWS `111122223333` peuvent accéder à la clé.

 Lorsque vous créez un Compte AWS, vous commencez par une seule identité de connexion appelée *utilisateur Compte AWS root* qui dispose d'un accès complet à toutes Services AWS les ressources. Il est vivement déconseillé d’utiliser l’utilisateur racine pour vos tâches quotidiennes. Pour les tâches qui requièrent des informations d’identification de l’utilisateur racine, consultez [Tâches qui requièrent les informations d’identification de l’utilisateur racine](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_root-user.html#root-user-tasks) dans le *Guide de l’utilisateur IAM*. 

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Id": "key-consolepolicy",
    "Statement": [
        {
            "Sid": "Allow access to principals authorized to use Amazon Redshift Query Editor V2",
            "Effect": "Allow",
            "Principal": {
                "AWS": "*"
            },
            "Action": [
                "kms:GenerateDataKey",
                "kms:Decrypt",
                "kms:DescribeKey"
            ],
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "kms:ViaService": "sqlworkbench.us-east-1.amazonaws.com",
                    "kms:CallerAccount": "111122223333"
                }
            }
        },
        {
            "Sid": "Allow access for key administrators",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::111122223333:root"
            },
            "Action": [
                "kms:*"
            ],
            "Resource": "arn:aws:kms:us-east-1:111122223333:key/key_ID"
        }
    ]
}
```

------

Les ressources suivantes fournissent des informations supplémentaires sur AWS KMS les clés :
+ Pour plus d'informations sur AWS KMS les politiques, consultez la section [Spécification des autorisations dans une politique](https://docs.aws.amazon.com/kms/latest/developerguide/control-access-overview.html#overview-policy-elements) du *Guide du AWS Key Management Service développeur*. 
+ Pour plus d'informations sur AWS KMS les politiques de résolution des problèmes, consultez la section [Résolution des problèmes d'accès aux clés](https://docs.aws.amazon.com/kms/latest/developerguide/policy-evaluation.html#example-no-iam) dans le *Guide du AWS Key Management Service développeur*. 
+ Pour plus d’informations sur les clés KMS, consultez [Clés AWS KMS](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#kms_keys) dans le *Guide du développeur AWS Key Management Service *.

## Accès à l’éditeur de requête v2
<a name="query-editor-v2-configure"></a>

Pour accéder à l’éditeur de requête v2, vous avez besoin d’une autorisation. Un administrateur peut associer l'une des politiques AWS gérées suivantes au rôle pour accorder une autorisation. (Nous vous recommandons d’associer des politiques à un rôle IAM et de l’attribuer à un utilisateur.) Ces politiques AWS gérées sont rédigées avec différentes options qui contrôlent la manière dont le balisage des ressources permet le partage des requêtes. Vous pouvez utiliser la console IAM ([https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)) pour associer des politiques IAM. 
+ **AmazonRedshiftQueryEditorV2 FullAccess** — Accorde un accès complet aux opérations et aux ressources de l'éditeur de requêtes Amazon Redshift v2. Cette politique permet également d’accéder à d’autres services requis.
+ **AmazonRedshiftQueryEditorV2 NoSharing** — Permet de travailler avec l'éditeur de requêtes Amazon Redshift v2 sans partager de ressources. Cette politique permet également d’accéder à d’autres services requis. 
+ **AmazonRedshiftQueryEditorV2 ReadSharing** — Permet de travailler avec l'éditeur de requêtes Amazon Redshift v2 avec un partage limité des ressources. Le principal autorisé peut lire les ressources partagées avec son équipe, mais ne peut pas les mettre à jour. Cette politique permet également d’accéder à d’autres services requis. 
+ **AmazonRedshiftQueryEditorV2 ReadWriteSharing** — Permet de travailler avec l'éditeur de requêtes Amazon Redshift v2 avec partage de ressources. Le principal autorisé peut lire et mettre à jour les ressources partagées avec son équipe. Cette politique permet également d’accéder à d’autres services requis. 

Vous pouvez également créer votre propre politique basée sur les autorisations autorisées et refusées dans les politiques gérées fournies. Si vous utilisez l’éditeur de politique de la console IAM pour créer votre propre politique, choisissez **SQL Workbench** en tant que service pour lequel vous créez la politique dans l’éditeur visuel. L’éditeur de requête v2 utilise le nom du service AWS SQL Workbench dans l’éditeur visuel et le simulateur de politiques IAM. 

Pour qu’un principal (un utilisateur avec un rôle IAM assigné) puisse se connecter à un cluster Amazon Redshift, il doit disposer des autorisations dans l’une des politiques gérées de l’éditeur de requête v2. Ils ont également besoin de l'une des `redshift:GetClusterCredentials` autorisations `redshift:GetClusterCredentialsWithIAM` ou d'une autorisation pour accéder au cluster. Pour obtenir cette autorisation, une personne disposant d’une autorisation administrative peut attacher une politique aux rôles IAM utilisés pour se connecter au cluster à l’aide d’informations d’identification temporaires. Vous pouvez étendre la politique à des clusters spécifiques ou être plus général. Pour plus d'informations sur l'autorisation d'utiliser des informations d'identification temporaires, voir [Créer un rôle ou un utilisateur IAM autorisé à appeler GetClusterCredentialsWith IAM](generating-iam-credentials-steps.md#generating-iam-credentials-role-permissions) ou. GetClusterCredentials 

Pour qu’un principal (généralement un utilisateur avec un rôle IAM assigné) puisse activer, dans la page **Paramètres du compte**, la possibilité pour les autres membres du compte d’effectuer une opération **Exporter l’ensemble des résultats**, il lui faut l’autorisation `sqlworkbench:UpdateAccountExportSettings` attachée au rôle. Cette autorisation est incluse dans la politique `AmazonRedshiftQueryEditorV2FullAccess` AWS gérée.

Au fur et à mesure que de nouvelles fonctionnalités sont ajoutées à l'éditeur de requêtes v2, les politiques AWS gérées sont mises à jour selon les besoins. Si vous créez votre propre politique basée sur les autorisations autorisées et refusées dans les politiques gérées fournies, modifiez vos politiques pour les tenir à jour avec les modifications apportées aux politiques gérées. Pour plus d’informations sur les politiques gérées dans Amazon Redshift, consultez [AWS politiques gérées pour Amazon Redshift](redshift-iam-access-control-identity-based.md#redshift-policy-resources.managed-policies).

Pour activer l’accès, ajoutez des autorisations à vos utilisateurs, groupes ou rôles :
+ Utilisateurs et groupes dans AWS IAM Identity Center :

  Créez un jeu d’autorisations. Suivez les instructions de la rubrique [Création d’un jeu d’autorisations](https://docs.aws.amazon.com//singlesignon/latest/userguide/howtocreatepermissionset.html) du *Guide de l’utilisateur AWS IAM Identity Center *.
+ Utilisateurs gérés dans IAM par un fournisseur d’identité :

  Créez un rôle pour la fédération d’identité. Suivez les instructions de la rubrique [Création d’un rôle pour un fournisseur d’identité tiers (fédération)](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_roles_create_for-idp.html) dans le *Guide de l’utilisateur IAM*.
+ Utilisateurs IAM :
  + Créez un rôle que votre utilisateur peut assumer. Suivez les instructions de la rubrique [Création d’un rôle pour un utilisateur IAM](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_roles_create_for-user.html) dans le *Guide de l’utilisateur IAM*.
  + (Non recommandé) Attachez une politique directement à un utilisateur ou ajoutez un utilisateur à un groupe d’utilisateurs. Suivez les instructions de la rubrique [Ajout d’autorisations à un utilisateur (console)](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_users_change-permissions.html#users_change_permissions-add-console) du *Guide de l’utilisateur IAM*.

**Note**  
Si un AWS IAM Identity Center administrateur supprime toutes les associations d'ensembles d'autorisations pour un ensemble d'autorisations particulier dans l'ensemble du compte, l'accès aux ressources de l'éditeur de requêtes initialement associées au jeu d'autorisations supprimé n'est plus accessible. Ultérieurement, si les mêmes autorisations sont recréées, un nouvel identifiant interne est créé. L’identifiant interne ayant changé, l’accès aux ressources de l’éditeur de requêtes précédemment détenues par un utilisateur n’est plus disponible. Avant que les administrateurs suppriment un ensemble d’autorisations, nous recommandons aux utilisateurs de cet ensemble d’autorisations d’exporter les ressources de l’éditeur de requêtes, telles que les blocs-notes et les requêtes, en tant que sauvegarde.

## Configuration de balises de principal pour connecter un cluster ou un groupe de travail à partir de l’éditeur de requêtes v2
<a name="query-editor-v2-principal-tags-iam"></a>

Pour vous connecter à votre cluster ou groupe de travail à l’aide de l’option d’utilisateur fédéré, configurez votre utilisateur ou rôle IAM avec des balises de principal. Ou bien, configurez votre fournisseur d’identité (IdP) pour qu’il transmette `RedshiftDbUser` et (en option) `RedshiftDbGroups`. Pour plus d’informations sur l’utilisation d’IAM pour gérer les balises, consultez [Transmission des balises de session dans AWS Security Token Service](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_session-tags.html) (langue Français non garantie) dans le *Guide de l’utilisateur IAM*. Pour configurer l'accès à l'aide de Gestion des identités et des accès AWS, un administrateur peut ajouter des balises à l'aide de la console IAM ([https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)). 

**Pour ajouter des balises relatives au principal à un rôle IAM**

1. Connectez-vous à la console IAM AWS Management Console et ouvrez-la à [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)l'adresse.

1. Choisissez **Rôles** dans le panneau de navigation.

1. Choisissez le rôle qui doit accéder à l’éditeur de requête v2 en utilisant un utilisateur fédéré.

1. Sélectionnez l’onglet **Tags** (Identifications).

1. Choisissez **Manage tags** (Gérer les balises).

1. Choisissez **Ajouter une balise** et entrez une valeur **Clé** de `RedshiftDbUser`, puis entrez la **Value** du nom d’utilisateur fédéré.

1. Vous pouvez également sélectionner **Ajouter une balise** et entrer la **Clé** de `RedshiftDbGroups`, puis entrer la **Valeur** du nom du groupe à associer à l’utilisateur.

1. Choisissez **Save changes** (Enregistrer les modifications) pour afficher la liste des balises associées au rôle IAM que vous avez choisi. La propagation des modifications peut prendre plusieurs secondes.

1. Pour utiliser l’utilisateur fédéré, actualisez votre page de l’éditeur de requêtes v2 après la propagation des modifications.

**Configurez votre fournisseur d’identité (IdP) pour transmettre les balises relatives au principal**  
La procédure de configuration des balises à l’aide d’un fournisseur d’identité (IdP) varie selon l’IdP. Consultez la documentation de votre IdP pour savoir comment transmettre les informations sur les utilisateurs et les groupes aux attributs SAML. Lorsqu'ils sont correctement configurés, les attributs suivants apparaissent dans votre réponse SAML qui est utilisée par le AWS Security Token Service pour renseigner les balises principales pour `RedshiftDbUser` et. `RedshiftDbGroups` 

```
<Attribute Name="https://aws.amazon.com/SAML/Attributes/PrincipalTag:RedshiftDbUser">
    <AttributeValue>db-user-name</AttributeValue>
</Attribute>
<Attribute Name="https://aws.amazon.com/SAML/Attributes/PrincipalTag:RedshiftDbGroups">
    <AttributeValue>db-groups</AttributeValue>
</Attribute>
```

 L'option *db\$1groups* doit être une liste séparée par des virgules, telle que. `group1:group2:group3`

En outre, vous pouvez définir l’attribut `TransitiveTagKeys` pour que les balises persistent pendant la création de chaînes de rôles.

```
<Attribute Name="https://aws.amazon.com/SAML/Attributes/TransitiveTagKeys">
  <AttributeValue>RedshiftDbUser</AttributeValue>
  <AttributeValue>RedshiftDbGroups</AttributeValue>
</Attribute>
```

Pour plus d’informations sur la configuration de l’éditeur de requêtes v2, consultez [Autorisations requises pour utiliser l’éditeur de requête v2](redshift-iam-access-control-identity-based.md#redshift-policy-resources.required-permissions.query-editor-v2).

Pour savoir comment configurer Active Directory Federation Services (AD FS), consultez le billet de blog : [Federate access to Amazon Redshift query editor v2 with Active Directory Federation Services (AD FS)](https://aws.amazon.com/blogs//big-data/federate-access-to-amazon-redshift-query-editor-v2-with-active-directory-federation-services-ad-fs-part-3/) [Fédérer l’accès à l’éditeur de requêtes Amazon Redshift v2 avec Active Directory Federation Services (AD FS)]. 

Pour savoir comment configurer Okta, consultez le billet de blog : [Federate single sign-on access to Amazon Redshift query editor v2 with Okta](https://aws.amazon.com/blogs//big-data/federate-single-sign-on-access-to-amazon-redshift-query-editor-v2-with-okta/) (Fédérer l’accès par authentification unique à l’éditeur de requêtes Amazon Redshift v2 avec Okta). 

**Note**  
Lorsque vous vous connectez à votre cluster ou groupe de travail à l’aide de l’option de connexion **Utilisateur fédéré** de l’éditeur de requêtes v2, le fournisseur d’identité (IdP) peut fournir des balises de principal personnalisées pour `RedshiftDbUser` et `RedshiftDbGroups`. Actuellement, ne AWS IAM Identity Center prend pas en charge le transfert de balises principales personnalisées directement à l'éditeur de requêtes v2.

# Ouverture de l’éditeur de requête v2
<a name="query-editor-v2-open"></a>

Avec Amazon Redshift, vous pouvez exécuter des requêtes SQL sur votre cluster d’entrepôts de données à l’aide de l’éditeur de requêtes v2 de la console Amazon Redshift. L’éditeur de requêtes v2 est un outil Web qui fournit une interface conviviale pour exécuter des requêtes ad hoc, explorer des données et effectuer des tâches d’analyse de données. Les sections suivantes vous guident dans le processus d’ouverture de l’éditeur de requêtes v2 dans la console et dans l’utilisation efficace de ses fonctionnalités.

**Pour ouvrir l’éditeur de requête v2**

1. Connectez-vous à la console Amazon Redshift AWS Management Console et ouvrez-la à l'adresse. [https://console.aws.amazon.com/redshiftv2/](https://console.aws.amazon.com/redshiftv2/)

1. Dans le menu du navigateur, choisissez **Editor (Éditeur)**, puis **Query editor V2 (Éditeur de requête v2)**. L’éditeur de requête v2 s’ouvre dans un nouvel onglet de navigateur.

La page de l’éditeur de requête comporte un menu de navigation dans lequel vous pouvez choisir une vue comme suit :

**Éditeur ![\[Horizontal lines representing redacted or censored text.\]](http://docs.aws.amazon.com/fr_fr/redshift/latest/mgmt/images/qev2-align-left.png)**  
Vous gérez et interrogez vos données organisées sous forme de tables et contenues dans une base de données. La base de données peut contenir des données stockées ou une référence à des données stockées ailleurs, par exemple dans Amazon S3. Vous vous connectez à une base de données contenue dans un cluster ou dans un groupe de travail sans serveur.  
Lorsque vous travaillez dans la vue **Editor** (Éditeur), vous disposez des commandes suivantes :   
+ Le champ **Cluster** ou **Workgroup** (Groupe de travail) affiche le nom auquel vous êtes actuellement connecté. Le champ **Database** (Base de données) affiche les bases de données du cluster ou du groupe de travail. Les actions que vous effectuez dans la vue **Database (Base de données)** utilisent les valeurs par défaut pour agir sur la base de données que vous avez sélectionnée. 
+ Vue hiérarchique en arborescence de vos clusters ou de vos groupes de travail, bases de données et schémas. Sous les schémas, vous pouvez utiliser vos tables, vos vues, vos fonctions et vos procédures stockées. Chaque objet de l’arborescence prend en charge un menu contextuel pour effectuer des actions associées, telles que **Refresh (Actualiser)** ou **Drop (Supprimer)**, pour l’objet. 
+ Une action **Create (Créer)** ![\[The create icon used in the AWS Console.\]](http://docs.aws.amazon.com/fr_fr/redshift/latest/mgmt/images/qev2-add.png) pour créer des bases de données, des schémas, des tables et des fonctions.
+ Une action ![\[The upload icon used in the AWS Console.\]](http://docs.aws.amazon.com/fr_fr/redshift/latest/mgmt/images/qev2-upload.png)**Charger les données** pour charger les données à partir d’Amazon S3 ou d’un fichier local dans votre base de données.
+ Une icône **Save (Enregistrer)** ![\[The floppy disk icon used in the AWS Console.\]](http://docs.aws.amazon.com/fr_fr/redshift/latest/mgmt/images/qev2-floppy-disk.png) pour enregistrer votre requête. 
+ Une icône **Shortcuts (Racourcis)** ![\[The shortcut icon used in the AWS Console.\]](http://docs.aws.amazon.com/fr_fr/redshift/latest/mgmt/images/qev2-key-command.png) pour afficher les raccourcis clavier de l’éditeur. 
+ Une icône ![\[The more actions icon used in the AWS Console.\]](http://docs.aws.amazon.com/fr_fr/redshift/latest/mgmt/images/qev2-more.png) **Plus** pour afficher plus d’actions dans l’éditeur. Comme : 
  + **Partager avec mon équipe** pour partager la requête ou un bloc-notes avec votre équipe. Pour plus d’informations, consultez [Collaborer et partager en équipe](query-editor-v2-team.md).
  + **Raccourcis** pour afficher les raccourcis clavier de l’éditeur.
  + **Historique des onglets** pour afficher l’historique d’un onglet dans l’éditeur.
  + **Actualisation automatique** pour actualiser les suggestions affichées lors de la création de SQL.
+ Une zone **Editor** (Éditeur) ![\[The editor icon in the AWS Console where can enter and run queries.\]](http://docs.aws.amazon.com/fr_fr/redshift/latest/mgmt/images/add-plus.png) dans laquelle vous pouvez saisir et exécuter votre requête. 

  Une fois que vous avez exécuté une requête, un onglet **Result (Résultat)** apparaît avec les résultats. C’est ici que vous pouvez activer **Chart (Diagramme)** pour visualiser vos résultats. Vous pouvez également **Export** (Exporter) vos résultats.
+ Une zone **Notebook** (Bloc-notes) ![\[The icon in the AWS Console where you can add sections to enter and run SQL or add Markdown.\]](http://docs.aws.amazon.com/fr_fr/redshift/latest/mgmt/images/add-plus.png) dans laquelle vous pouvez ajouter des sections pour saisir et exécuter des commandes SQL ou ajouter des cellules Markdown. 

  Une fois que vous avez exécuté une requête, un onglet **Result (Résultat)** apparaît avec les résultats. Voici où vous pouvez **Export** (Exporter) vos résultats.

**Requêtes ![\[A folder icon used in the AWS Console used to query databases.\]](http://docs.aws.amazon.com/fr_fr/redshift/latest/mgmt/images/qev2-folder-close.png)**  
Une requête contient les commandes SQL permettant de gérer et d’interroger vos données dans une base de données. Lorsque vous utilisez l’éditeur de requête v2 pour charger des exemples de données, il crée et enregistre également des exemples de requête pour vous.  
 Lorsque vous choisissez une requête enregistrée, vous pouvez l’ouvrir, la renommer et la supprimer à l’aide du menu contextuel (clic droit). Vous pouvez afficher des attributs tels que l’**ARN de la requête** enregistrée en sélectionnant **Détails de la requête**. Vous pouvez également consulter l’historique de ses versions, modifier les balises attachées à la requête et la partager avec votre équipe.

**Blocs-notes ![\[A book icon used in the AWS Console used as SQL notebook.\]](http://docs.aws.amazon.com/fr_fr/redshift/latest/mgmt/images/qev2-manual.png)**  
Un bloc-notes SQL contient des cellules SQL et Markdown. Utilisez des blocs-notes pour organiser, annoter et partager plusieurs commandes SQL dans un même document.  
 Lorsque vous choisissez un bloc-notes enregistré, vous pouvez l’ouvrir, le renommer, le dupliquer et le supprimer à l’aide du menu contextuel (clic droit). Vous pouvez afficher des attributs tels que l’**ARN du bloc-notes** d’un bloc-notes enregistré en choisissant **Détails du bloc-notes**. Vous pouvez également consulter l’historique de ses versions, modifier les balises attachées au bloc-notes, l’exporter et le partager avec votre équipe. Pour plus d’informations, consultez [Carnets de notes dans Amazon RedshiftBlocs-notes](query-editor-v2-notebooks.md).

**Graphiques ![\[Icon of a chart used in the AWS Console as visual representation of data.\]](http://docs.aws.amazon.com/fr_fr/redshift/latest/mgmt/images/qev2-chart.png)**  
Un graphique est une représentation visuelle de vos données. L’éditeur de requête v2 fournit les outils nécessaires pour créer de nombreux types de graphiques et les enregistrer.   
 Lorsque vous choisissez un graphique enregistré, vous pouvez l’ouvrir, le renommer et le supprimer à l’aide du menu contextuel (clic droit). Vous pouvez afficher des attributs tels que l’**ARN du graphique** d’un graphique enregistré en choisissant **Détails du graphique**. Vous pouvez également modifier les balises attachées au graphique et l’exporter. Pour plus d’informations, consultez [Visualisation des résultats de requêtes](query-editor-v2-charts.md). 

**Historique**  
L’historique des requêtes est une liste des requêtes que vous avez exécutées à l’aide de Amazon Redshift Query Editor V2. Ces requêtes s’exécutaient soit en tant que requêtes individuelles, soit dans le cadre d’un bloc-notes SQL. Pour plus d’informations, consultez [Afficher l’historique des requêtes et des onglets](query-editor-v2-history.md). 

**Requêtes planifiées ![\[Icon of a calendar used in the AWS Console for scheduled queries.\]](http://docs.aws.amazon.com/fr_fr/redshift/latest/mgmt/images/qev2-calendar.png)**  
Une requête planifiée est une requête qui est configurée pour se lancer à des heures précises.

 Toutes les vues de l’éditeur de requête v2 ont les icônes suivantes :
+ Une icône **Visual mode** (Mode visuel) ![\[Icon of a quarter moon used in the AWS Console to switch between light and dark modes.\]](http://docs.aws.amazon.com/fr_fr/redshift/latest/mgmt/images/qev2-moon.png) pour basculer entre le mode clair et le mode sombre.
+ Une icône **Settings** (Paramètres) ![\[Icon of a gear used in the AWS Console to show settings.\]](http://docs.aws.amazon.com/fr_fr/redshift/latest/mgmt/images/qev2-cog.png) pour afficher un menu des différents écrans de paramètres.
  + Une icône **Editor preferences** (Préférences de l’éditeur) ![\[Icon used in the AWS Console to show editor preferences.\]](http://docs.aws.amazon.com/fr_fr/redshift/latest/mgmt/images/qev2-properties.png) pour modifier vos préférences lorsque vous utilisez l’éditeur de requête v2. Ici, vous pouvez **Modifier les paramètres de l’espace de travail** pour modifier la taille de police, la taille des onglets et d’autres paramètres d’affichage. Vous pouvez également activer (ou désactiver) le **Remplissage automatique** pour afficher les suggestions lorsque vous saisissez votre code SQL.
  + Une icône **Connections** (Connexions) ![\[Icon used in the AWS Console to view connections used in the editor tab.\]](http://docs.aws.amazon.com/fr_fr/redshift/latest/mgmt/images/qev2-connection.png) pour afficher les connexions utilisées par les onglets de votre éditeur.

    Une connexion permet de récupérer des données à partir d’une base de données. Une connexion est créée pour une base de données spécifique. Avec une connexion isolée, les résultats d’une commande SQL qui modifie la base de données, telle que la création d’une table temporaire, dans un onglet de l’éditeur, ne sont pas visibles dans un autre onglet de l’éditeur. Lorsque vous ouvrez un onglet d’éditeur dans l’éditeur de requête v2, l’option par défaut est une connexion isolée. Lorsque vous créez une connexion partagée, c’est-à-dire que vous désactivez l’option **Isolated session** (Session isolée), les résultats des autres connexions partagées à la même base de données sont visibles par les uns et les autres. Toutefois, les onglets de l’éditeur utilisant une connexion partagée à une base de données ne s’exécutent pas en parallèle. Des requêtes utilisant la même connexion doivent attendre que la connexion soit disponible. Une connexion à une base de données ne peut pas être partagée avec une autre base de données, de sorte que les résultats SQL ne sont pas visibles entre différentes connexions de base de données.

    Le nombre de connexions actives qu’un utilisateur du compte peut avoir est contrôlé par un administrateur de l’éditeur de requêtes v2.
  + Une icône **Account settings** (Paramètres du compte) ![\[Icon used in the AWS Console used by administrators to change settings of user accounts.\]](http://docs.aws.amazon.com/fr_fr/redshift/latest/mgmt/images/qev2-settings.png) utilisée par un administrateur pour modifier certains paramètres de tous les utilisateurs du compte. Pour plus d’informations, consultez [Paramètres du compte](#query-editor-v2-settings).

## Remarques concernant l’utilisation de l’éditeur de requête v2
<a name="query-editor-v2-considerations"></a>

Tenez compte des points suivants lorsque vous utilisez l’éditeur de requête v2.
+ La durée maximale d’une requête est de 24 heures.
+ La taille maximale du résultat de requête est de 100 Mo. Si un appel renvoie plus de 100 Mo de données de réponse, les 100 premiers Mo sont renvoyés avec un avertissement.
+ Vous pouvez exécuter une requête de 300 000 caractères maximum. 
+ Vous pouvez enregistrer une requête de 30 000 caractères maximum. 
+ Par défaut, l’éditeur de requête v2 valide automatiquement chaque commande SQL qui s’exécute. Lorsqu’une instruction BEGIN est fournie, les instructions contenues dans le bloc BEGIN-COMMIT ou BEGIN-ROLLBACK s’exécutent en une seule transaction. Pour plus d’informations sur les transactions, consultez [BEGIN](https://docs.aws.amazon.com/redshift/latest/dg/r_BEGIN.html) dans le *Manuel du développeur de base de données Amazon Redshift*.
+ Le nombre maximal d’avertissements que l’éditeur de requête v2 affiche lors de l’exécution d’une instruction SQL est `10`. Par exemple, lorsqu’une procédure stockée est exécutée, moins de 10 instructions RAISE sont affichées.
+ L’éditeur de requêtes v2 ne prend pas en charge un `RoleSessionName` IAM contenant des virgules (,). Un message d'erreur similaire au suivant peut s'afficher : « 'AROA123456789Example:MyText, yourtext' n'est pas une valeur valide pour TagValue - il contient des caractères non autorisés » Ce problème se produit lorsque vous définissez un IAM `RoleSessionName` qui inclut une virgule, puis que vous utilisez l'éditeur de requêtes v2 avec ce rôle IAM.

  Pour plus d'informations sur un IAM`RoleSessionName`, consultez la section [Attribut RoleSessionName SAML](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_create_saml_assertions.html#saml_role-session-attribute) dans le guide de l'utilisateur *IAM*. 

## Paramètres du compte
<a name="query-editor-v2-settings"></a>

Un utilisateur disposant des autorisations IAM appropriées peut afficher et modifier les **Account settings** (Paramètres du compte) pour les autres utilisateurs du même Compte AWS. Cet administrateur peut afficher ou définir les éléments suivants :
+ Nombre maximal de connexions simultanées à la base de données par utilisateur dans le compte. Cela inclut les connexions pour les **Isolated sessions** (Sessions isolées). Lorsque vous modifiez cette valeur, la modification peut prendre jusqu’à 10 minutes avant d’être effective.
+ Autoriser les utilisateurs du compte à exporter l’intégralité d’un jeu de résultats d’une commande SQL vers un fichier.
+ Charger et afficher des exemples de bases de données avec certaines requêtes enregistrées associées.
+ Spécifiez un chemin Amazon S3 utilisé par des utilisateurs du compte pour charger des données à partir d’un fichier local.
+ Afficher l’ARN de clé KMS à utiliser pour chiffrer les ressources de l’éditeur de requête v2.

# Connexion à une base de données Amazon Redshift
<a name="query-editor-v2-connecting"></a>

Pour vous connecter à une base de données, choisissez le nom du cluster ou du groupe de travail dans le panneau d’arborescence. Si vous y êtes invité, saisissez les paramètres de connexion.

Lorsque vous vous connectez à un cluster ou à un groupe de travail et à ses bases de données, vous fournissez un nom de **Database** (Base de données). Vous fournissez également les paramètres requis pour l’une des méthodes d’authentification suivantes :

**IAM Identity Center**  
Avec cette méthode, connectez-vous à votre entrepôt des données Amazon Redshift à l’aide de vos informations d’identification d’authentification unique provenant de votre fournisseur d’identité (IdP). Votre cluster ou groupe de travail doit être activé pour IAM Identity Center dans la console Amazon Redshift. Pour obtenir de l’aide concernant la configuration des connexions à IAM Identity Center, consultez [Connectez Redshift à AWS IAM Identity Center pour une expérience d'authentification unique](redshift-iam-access-control-idp-connect.md).

**Utilisateur fédéré**  
Avec cette méthode, les balises relatives au principal de votre rôle IAM ou de votre utilisateur doivent fournir les détails de la connexion. Vous configurez ces balises dans Gestion des identités et des accès AWS ou dans votre fournisseur d'identité (IdP). L’éditeur de requêtes v2 s’appuie sur les balises suivantes.  
+ `RedshiftDbUser` — cette balise définit l’utilisateur de la base de données qui est utilisé par l’éditeur de requêtes v2. Elle est obligatoire.
+ `RedshiftDbGroups` — cette balise définit les groupes de bases de données qui sont joints lors de la connexion à l’éditeur de requêtes v2. Cette balise est facultative et sa valeur doit être une liste séparée par le signe deux points, telle que `group1:group2:group3`. Les valeurs vides sont ignorées, c’est-à-dire que `group1::::group2` est interprété comme `group1:group2`. 
Ces balises sont transmises à l’API `redshift:GetClusterCredentials` pour obtenir des informations d’identification pour votre cluster. Pour plus d’informations, consultez [Configuration de balises de principal pour connecter un cluster ou un groupe de travail à partir de l’éditeur de requêtes v2](query-editor-v2-getting-started.md#query-editor-v2-principal-tags-iam).

**Informations d’identification temporaires utilisant un nom d’utilisateur de base de données**  
Cette option est disponible uniquement lors de la connexion à un cluster. Avec cette méthode, l’éditeur de requête v2 fournit un **User name** (Nom d’utilisateur) pour la base de données. L’éditeur de requêtes v2 génère un mot de passe temporaire pour se connecter à la base de données sous votre nom d’utilisateur de base de données. Un utilisateur utilisant cette méthode pour se connecter doit disposer de l’autorisation IAM pour `redshift:GetClusterCredentials`. Pour empêcher les utilisateurs d’utiliser cette méthode, modifiez leur rôle ou utilisateur IAM afin de refuser cette autorisation. 

**Informations d’identification temporaires utilisant votre identité IAM**  
Cette option est disponible uniquement lors de la connexion à un cluster. Avec cette méthode, l’éditeur de requêtes v2 mappe un nom d’utilisateur à votre identité IAM et génère un mot de passe temporaire pour se connecter à la base de données sous votre identité IAM. Un utilisateur utilisant cette méthode pour se connecter doit disposer de l’autorisation IAM pour `redshift:GetClusterCredentialsWithIAM`. Pour empêcher les utilisateurs d’utiliser cette méthode, modifiez leur rôle ou utilisateur IAM afin de refuser cette autorisation. 

**Nom d’utilisateur et mot de passe de la base de données**  
Avec cette méthode, vous devez également fournir un **User name** (Nom d’utilisateur) et un **Password** (Mot de passe) pour la base de données à laquelle vous vous connectez. L’éditeur de requête v2 crée un secret en votre nom stocké dans AWS Secrets Manager. Ce secret contient des informations d’identification pour vous connecter à votre base de données. 

**AWS Secrets Manager**  
 Avec cette méthode, au lieu d’un nom de base de données, vous fournissez un **Secret** stocké dans Secrets Manager qui contient vos informations d’identification de base de données et de connexion. Pour plus d’informations sur la création d’un secret, consultez [Création d’un secret pour les informations d’identification de connexion à une base de données](redshift-secrets-manager-integration-create.md). 

Lorsque vous sélectionnez un cluster ou un groupe de travail avec l’éditeur de requête v2, selon le contexte, vous pouvez créer, modifier et supprimer des connexions à l’aide du menu contextuel (clic droit). Vous pouvez afficher des attributs tels que l’**ARN de la connexion** en choisissant **Détails de la connexion**. Vous pouvez également modifier les balises attachées à la connexion.

# Navigation dans une base de données Amazon Redshift
<a name="query-editor-v2-object-browse"></a>

Dans une base de données, vous pouvez gérer des schémas, des tables, des vues, des fonctions et des procédures stockées dans le panneau d’arborescence. Chaque objet de la vue est associé à des actions dans un menu contextuel (clic droit).

Le panneau d’arborescence hiérarchique affiche les objets de base de données. Pour actualiser le panneau d’arborescence afin d’afficher les objets de base de données qui peuvent avoir été créés après le dernier affichage de l’arborescence, choisissez l’icône ![\[Circular arrow icon representing a refresh or reload action.\]](http://docs.aws.amazon.com/fr_fr/redshift/latest/mgmt/images/qev2-refresh.png). Ouvrez le menu contextuel (clic droit) d’une icône pour voir les actions que vous pouvez effectuer.

![\[Tree-view icons\]](http://docs.aws.amazon.com/fr_fr/redshift/latest/mgmt/images/sqlworkbench-tree-view.png)

Une fois que vous choisissez un tableau, vous pouvez procéder comme suit :
+ Pour démarrer une requête dans l’éditeur avec une instruction SELECT qui interroge toutes les colonnes de la table, utilisez **Select table (Sélectionner une table)**.
+ Pour voir les attributs ou une table, utilisez **Show table definition (Afficher une définition de table)**. Utilisez cette option pour voir les noms de colonnes, les types de colonnes, le codage, les clés de distribution, les clés de tri et si une colonne peut contenir des valeurs null. Pour plus d’informations sur les attributs de la table, consultez [CREATE TABLE](https://docs.aws.amazon.com/redshift/latest/dg/r_CREATE_TABLE_NEW.html) dans le *Guide du développeur de base de données Amazon Redshift*.
+ Pour supprimer une table, utilisez **Delete (Supprimer)**. Vous pouvez utiliser **Truncate table (Tronquer la table)** pour supprimer toutes les lignes du tableau ou **Drop table (Supprimer une table)** pour supprimer la table de la base de données. Pour plus d’informations, consultez [TRUNCATE](https://docs.aws.amazon.com/redshift/latest/dg/r_TRUNCATE.html) et [DROP TABLE](https://docs.aws.amazon.com/redshift/latest/dg/r_DROP_TABLE.html) dans le *Guide du développeur de base de données Amazon Redshift*. 

Choisissez un schéma pour **Refresh (Actualiser)** ou **Drop Schema (Supprimer le schéma)**. 

Choisissez une vue pour **Show view definition (Afficher la définition de la vue)** ou **Drop View (Supprimer la vue)**. 

Choisissez une fonction pour **Show function definition (Afficher la définition de la fonction)** ou **Drop function (Supprimer la fonction)**. 

Choisissez une procédure stockée pour **Show procedure definition (Afficher la définition de la procédure)** ou **Drop procedure (Supprimer la procédure)**. 

# Création d’objets de base de données
<a name="query-editor-v2-object-create"></a>

Vous pouvez créer des objets de base de données, notamment des bases de données, des schémas, des tables et des fonctions définies par l'utilisateur ()UDFs. Vous devez être connecté à un cluster ou à un groupe de travail et à une base de données pour créer des objets de base de données.

## Création de bases de données
<a name="query-editor-v2-object-create-database"></a>

Vous pouvez utiliser l’éditeur de requête v2 pour créer des bases de données dans votre cluster ou groupe de travail.

**Pour créer une base de données**

Pour plus d’informations sur les bases de données, consultez [CREATE DATABASE](https://docs.aws.amazon.com/redshift/latest/dg/r_CREATE_DATABASE.html) dans le *Guide du développeur de la base de données Amazon Redshift*. 

1. Choisissez ![\[Plus sign icon inside a circle, indicating an add or create action.\]](http://docs.aws.amazon.com/fr_fr/redshift/latest/mgmt/images/qev2-add.png)**Create (Créer)**, puis **Database (Base de données)**.

1. Saisissez un **nom de base de données**.

1. (Facultatif) Sélectionnez **Users and groups (Utilisateurs et groupes)** et choisissez un **utilisateur de la base de donnée**.

1. (Facultatif) Vous pouvez créer la base de données à partir d’une unité de partage des données ou du  AWS Glue Data Catalog. Pour plus d'informations AWS Glue, voir [Qu'est-ce que c'est AWS Glue ?](https://docs.aws.amazon.com/glue/latest/dg/what-is-glue.html) dans le *Guide AWS Glue du développeur*.
   + (Facultatif) Sélectionnez **Créer à l’aide d’une unité de partage des données**, puis choisissez **Sélectionner une unité de partage des données**. La liste comprend les unités de partage des données producteur qui peuvent être utilisés pour créer une unité de partage des données consommateur dans le cluster ou le groupe de travail actuel.
   + (Facultatif) Sélectionnez **Create using AWS Glue Data Catalog**, puis **choisissez une base de données Choose an AWS Glue**. Dans **Schéma du catalogue de données**, saisissez le nom qui sera utilisé pour le schéma lorsqu’il sera fait référence aux données dans un nom en trois parties (database.schema.table). 

1. Choisissez **Créer une base de données**.

   La nouvelle base de données s’affiche dans le panneau d’arborescence.

   Lorsque vous choisissez l’étape facultative visant à interroger une base de données créée à partir d’une unité de partage des données, connectez-vous à une base de données Amazon Redshift dans le cluster ou le groupe de travail (par exemple, la base de données par défaut `dev`) et utilisez une notation en trois parties (database.schema.table) qui fait référence au nom de base de données que vous avez créé lorsque vous avez sélectionné **Créer à l’aide d’une unité de partage des données**. La base de données de partage des données est répertoriée dans l’onglet de l’éditeur de requête v2, mais elle n’est pas activée pour la connexion directe.

   Lorsque vous choisissez l'étape facultative d'interroger une base de données créée à partir d'un AWS Glue Data Catalog, connectez-vous à votre base de données Amazon Redshift dans le cluster ou le groupe de travail (par exemple, la base de données par défaut`dev`) et utilisez une notation en trois parties (database.schema.table) qui fait référence au nom de base de données que vous avez créé lorsque vous avez sélectionné **Créer en utilisant AWS Glue Data Catalog**, au schéma que vous avez nommé dans le schéma du catalogue de **données** et à la table dans le. AWS Glue Data Catalog Par exemple :

   ```
   SELECT * FROM glue-database.glue-schema.glue-table
   ```
**Note**  
Vérifiez que vous êtes connecté à la base de données par défaut à l'aide de la méthode de connexion **Informations d'identification temporaires utilisant votre identité IAM** et que vos informations d'identification IAM ont reçu le privilège d'utilisation de la AWS Glue base de données.  

   ```
   GRANT USAGE ON DATABASE glue-database to "IAM:MyIAMUser"
   ```

   La AWS Glue base de données est répertoriée dans l'onglet éditeur de requêtes v2, mais elle n'est pas activée pour la connexion directe.

   *Pour plus d'informations sur l'interrogation d'un AWS Glue Data Catalog, consultez les sections [Travailler avec des partages de données gérés par Lake Formation en tant que consommateur et Travailler avec des partages](https://docs.aws.amazon.com/redshift/latest/dg/lake-formation-getting-started-consumer.html) [de données gérés par Lake Formation en tant que producteur dans le manuel Amazon Redshift Database Developer Guide](https://docs.aws.amazon.com/redshift/latest/dg/lake-formation-getting-started-producer.html).*

**Exemple de création d’une base de données en tant que consommateur d’unité de partage des données**

L’exemple suivant décrit un scénario spécifique qui a servi à créer une base de données à partir d’une unité de partage des données à l’aide de l’éditeur de requête v2. Passez en revue ce scénario pour savoir comment créer une base de données à partir d’une unité de partage des données dans votre environnement. Ce scénario fait appel à deux clusters, `cluster-base` (le cluster producteur) et `cluster-view` (le cluster consommateur).

1. Utilisez la console Amazon Redshift pour créer une unité de partage des données pour la table `category2`dans le cluster `cluster-base`. L’unité de partage des données producteur est nommée `datashare_base`.

   Pour en savoir plus sur la création d’unités de partage des données, consultez [Partage de données entre clusters dans Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/dg/datashare-overview.html) dans le *Guide du développeur de base de données Amazon Redshift*.

1. Utilisez la console Amazon Redshift pour accepter l’unité de partage des données `datashare_base` en tant que consommateur pour la table `category2` du cluster `cluster-view`.

1. Affichez le panneau d’arborescence dans l’éditeur de requête v2 qui présente la hiérarchie de `cluster-base` sous cette forme :
   + Cluster : `cluster-base`
     + Base de données : `dev`
       + Schéma : `public`
         + Tables : `category2`

1. Choisissez ![\[Plus sign icon inside a circle, indicating an add or create action.\]](http://docs.aws.amazon.com/fr_fr/redshift/latest/mgmt/images/qev2-add.png)**Create (Créer)**, puis **Database (Base de données)**.

1. Saisissez `see_datashare_base` pour **Nom de la base de données**.

1. Sélectionnez **Créer à l’aide d’une unité de partage des données**, puis choisissez **Sélectionner une unité de partage des données**. Choisissez `datashare_base` comme source de la base de données que vous créez.

   Le panneau d’arborescence de l’éditeur de requête v2 présente la hiérarchie de `cluster-view` sous cette forme :
   + Cluster : `cluster-view`
     + Base de données : `see_datashare_base`
       + Schéma : `public`
         + Tables : `category2`

1. Lorsque vous interrogez les données, connectez-vous à la base de données par défaut du cluster`cluster-view` (généralement nommée `dev`), mais faites référence à la base de données de partage des données `see_datashare_base` dans votre requête SQL.
**Note**  
Dans la vue de l’éditeur de requête v2, le cluster sélectionné est `cluster-view`. La base de données sélectionnée est `dev`. La base de données `see_datashare_base` est répertoriée mais pas activée pour la connexion directe. Vous choisissez la base de données `dev` et faites référence à `see_datashare_base` dans la requête SQL que vous exécutez.

   ```
   SELECT * FROM "see_datashare_base"."public"."category2";
   ```

   La requête extrait les données de l’unité de partage des données `datashare_base` du cluster `cluster_base`.

**Exemple de création d'une base de données à partir d'un AWS Glue Data Catalog**

L'exemple suivant décrit un scénario spécifique qui a été utilisé pour créer une base de données à AWS Glue Data Catalog partir d'un éditeur de requêtes v2. Consultez ce scénario pour savoir comment créer une base de données à partir d'un AWS Glue Data Catalog élément de votre environnement. Ce scénario fait appel à un seul cluster, `cluster-view`, pour accueillir la base de données que vous créez.

1. Choisissez ![\[Plus sign icon inside a circle, indicating an add or create action.\]](http://docs.aws.amazon.com/fr_fr/redshift/latest/mgmt/images/qev2-add.png)**Create (Créer)**, puis **Database (Base de données)**.

1. Saisissez `data_catalog_database` pour **Nom de la base de données**.

1. Sélectionnez **Créer à l'aide d'un AWS Glue Data Catalog**, puis choisissez **Choisir une AWS Glue base de données**. Choisissez `glue_db` comme source de la base de données que vous créez.

   Choisissez **Schéma du catalogue de données** et saisissez `myschema` comme nom de schéma à utiliser dans une notation en trois parties.

   Le panneau d’arborescence de l’éditeur de requête v2 présente la hiérarchie de `cluster-view` sous cette forme :
   + Cluster : `cluster-view`
     + Base de données : `data_catalog_database`
       + Schéma : `myschema`
         + Tables : `category3`

1. Lorsque vous interrogez les données, connectez-vous à la base de données par défaut du cluster`cluster-view` (généralement nommée `dev`), mais faites référence à la base de données `data_catalog_database` dans votre requête SQL. 
**Note**  
Dans la vue de l’éditeur de requête v2, le cluster sélectionné est `cluster-view`. La base de données sélectionnée est `dev`. La base de données `data_catalog_database` est répertoriée mais pas activée pour la connexion directe. Vous choisissez la base de données `dev` et faites référence à `data_catalog_database` dans la requête SQL que vous exécutez.

   ```
   SELECT * FROM "data_catalog_database"."myschema"."category3";
   ```

   La requête récupère les données cataloguées par  AWS Glue Data Catalog.

## Création de schémas
<a name="query-editor-v2-object-create-schema"></a>

Vous pouvez utiliser l’éditeur de requête v2 pour créer des schémas dans votre cluster ou groupe de travail.

**Pour créer un schéma**

Pour plus d’informations sur les schémas, consultez [Schémas](https://docs.aws.amazon.com/redshift/latest/dg/r_Schemas_and_tables.html) dans le *Guide du développeur de la base de données Amazon Redshift*. 

1. Choisissez ![\[Plus sign icon inside a circle, indicating an add or create action.\]](http://docs.aws.amazon.com/fr_fr/redshift/latest/mgmt/images/qev2-add.png)**Create (Créer)**, puis **Schema (Schéma)**.

1. Saisissez un **nom de schéma**.

1. Choisissez **Local** ou **External** (Externe) pour le **Schema type** (Type de schéma).

   Pour plus d’informations sur les schémas locaux, consultez [CREATE SCHEMA](https://docs.aws.amazon.com/redshift/latest/dg/r_CREATE_SCHEMA.html) dans le *Guide du développeur de base de données Amazon Redshift*. Pour plus d’informations sur les schémas externes, consultez [CREATE EXTERNAL SCHEMA](https://docs.aws.amazon.com/redshift/latest/dg/r_CREATE_EXTERNAL_SCHEMA.html) dans le *Guide du développeur de base de données Amazon Redshift*.

1. Si vous choisissez **External** (Externe), les options de schéma externe suivantes s’offrent à vous.
   + **Glue Data Catalog** (Catalogue de données Glue) : pour créer un schéma externe dans Amazon Redshift qui fait référence à des tables dans AWS Glue. Outre le choix AWS Glue de la base de données, choisissez le rôle IAM associé au cluster et le rôle IAM associé au catalogue de données.
   + **PostgreSQL** : pour créer un schéma externe dans Amazon Redshift qui fait référence à une base de données Amazon RDS for PostgreSQL ou Amazon Aurora compatible PostgreSQL. Fournissez également les informations de connexion à la base de données. Pour plus d’informations sur les requêtes fédérées, consultez [Interrogation de données avec requête fédérée](https://docs.aws.amazon.com/redshift/latest/dg/federated-overview.html) dans le *Guide du développeur de base de données Amazon Redshift*.
   + **MySQL** : pour créer un schéma externe dans Amazon Redshift qui fait référence à une base de données Amazon RDS for MySQL ou Amazon Aurora compatible MySQL. Fournissez également les informations de connexion à la base de données. Pour plus d’informations sur les requêtes fédérées, consultez [Interrogation de données avec requête fédérée](https://docs.aws.amazon.com/redshift/latest/dg/federated-overview.html) dans le *Guide du développeur de base de données Amazon Redshift*.

1. Choisissez **Create schema (Créer un schéma)**.

   Le nouveau schéma apparaît dans le panneau d’arborescence.

## Création de tables
<a name="query-editor-v2-object-create-table"></a>

Vous pouvez utiliser l’éditeur de requête v2 pour créer des tables dans votre cluster ou groupe de travail.

**Pour créer une table**

Vous pouvez créer une table basée sur un fichier CSV (valeurs séparées par des virgules) que vous spécifiez ou définissez chaque colonne de la table. Pour plus d’informations sur les tables, consultez [Conception de tables](https://docs.aws.amazon.com/redshift/latest/dg/c_designing-tables-best-practices.html) et [CREATE TABLE](https://docs.aws.amazon.com/redshift/latest/dg/r_CREATE_TABLE_NEW.html) dans le *Guide du développeur de base de données Amazon Redshift*. 

Choisissez **Open query in editor (Ouvrir la requête dans l’éditeur)** pour afficher et modifier l’instruction CREATE TABLE avant d’exécuter la requête pour créer la table. 

1. Choisissez **Create** (Créer) ![\[Plus sign icon inside a circle, indicating an add or create action.\]](http://docs.aws.amazon.com/fr_fr/redshift/latest/mgmt/images/qev2-add.png), puis **Table**.

1. Choisissez un schéma.

1. Saisissez un nom du tableau.

1. Choisissez ![\[Plus sign icon representing an addition or new item action.\]](http://docs.aws.amazon.com/fr_fr/redshift/latest/mgmt/images/add-plus.png) **Add field (Ajouter un champ)** pour ajouter une colonne. 

1. Utilisez un fichier CSV comme modèle pour la définition de la table :

   1. Choisissez **Load from CSV (Charger à partir d’un fichier CSV)**.

   1. Accédez à l’emplacement du fichier.

      Si vous utilisez un fichier CSV, assurez-vous que la première ligne du fichier contient les en-têtes de colonne.

   1. Choisissez le fichier, puis **Open (Ouvrir)**. Vérifiez que les noms des colonnes et les types de données correspondent à ce que vous souhaitez.

1. Pour chaque colonne, choisissez la colonne et les options souhaitées :
   + Choisissez une valeur pour **Encoding (Encodage)**.
   + Choisissez une **valeur par défaut**.
   + Activez **Automatically increment (Incrémenter automatiquement)** si vous souhaitez que les valeurs des colonnes soient incrémentées. Spécifiez ensuite une valeur pour **Auto increment seed (Incrémenter automatiquement le noyau)** et **Auto increment step (Incrémenter automatiquement l’étape)**.
   + Activez **Not NULL (Non null)** si la colonne doit toujours contenir une valeur.
   + Saisissez une valeur de **taille** pour la colonne.
   + Activez **Primary key (Clé primaire)** si vous souhaitez que la colonne soit une clé primaire.
   + Activez **Unique key (Clé unique)** si vous souhaitez que la colonne soit une clé unique.

1. (Facultatif) Choisissez **Table details (Détails de la table)** et choisissez l’une des options suivantes :
   + Colonne et style de clé de distribution.
   + Triez la colonne de clé et le type de tri.
   + Activez **Backup** (Sauvegarde) pour inclure la table dans les instantanés.
   + Activez **Temporary table (Table temporaire)** pour créer une table temporaire.

1. Choisissez **Open query in editor (Ouvrir la requête dans l’éditeur)** pour continuer à spécifier des options permettant de définir la table ou choisissez **Create table (Créer une table)** pour créer la table.

## Création de fonctions
<a name="query-editor-v2-object-create-function"></a>

Vous pouvez utiliser l’éditeur de requête v2 pour créer des fonctions dans votre cluster ou groupe de travail.

**Pour créer une fonction**

1. Choisissez ![\[Plus sign icon inside a circle, indicating an add or create action.\]](http://docs.aws.amazon.com/fr_fr/redshift/latest/mgmt/images/qev2-add.png)**Create (Créer)** et **Function (Fonction)**.

1. Pour **Type**, choisissez **SQL** ou **Python**.

1. Choisissez une valeur relative à **Schema (Schéma)**.

1. Saisissez une valeur relative à **Name (Nom)** pour la fonction.

1. Saisissez une valeur relative à **Volatility (Volatilité)** pour la fonction.

1. Choisissez les **paramètres** en fonction de leurs types de données dans l’ordre des paramètres d’entrée.

1. Pour **Returns (Retours)**, choisissez un type de données.

1. Saisissez le code de **Programme SQL** ou de **Programme Python** pour la fonction.

1. Choisissez **Créer**.

Pour plus d'informations sur les fonctions définies par l'utilisateur (UDFs), consultez la section [Création de fonctions définies par l'utilisateur](https://docs.aws.amazon.com/redshift/latest/dg/user-defined-functions.html) dans le manuel *Amazon Redshift Database Developer* Guide. 

# Afficher l’historique des requêtes et des onglets
<a name="query-editor-v2-history"></a>

Vous pouvez afficher l’historique de vos requêtes avec l’éditeur de requête v2. Seules les requêtes que vous avez exécutées à l’aide de l’éditeur de requêtes v2 apparaissent dans l’historique des requêtes. Les deux requêtes exécutées à partir d’un onglet **Éditeur** ou d’un onglet **Notebook** sont affichées. Vous pouvez filtrer la liste affichée par période, par exemple`This week`, lorsqu’une semaine est définie du lundi au dimanche. La liste des requêtes extrait 25 lignes de requêtes qui correspondent à votre filtre à la fois. Choisissez **Charger davantage** pour voir le set suivant. Choisissez une requête et dans le menu **Actions**. Les actions disponibles varient selon que la requête sélectionnée a été enregistrée ou non. Vous pouvez effectuer les opérations suivantes :
+ **Afficher les détails** de la requête : affiche une page de détails de requête contenant plus d’informations sur la requête exécutée.
+ **Ouvrir la requête dans un nouvel onglet** — Ouvre un nouvel onglet d’éditeur et l’amorce avec la requête choisie. S’ils sont toujours connectés, le cluster ou le groupe de travail et la base de données sont automatiquement sélectionnés. Pour exécuter la requête, commencez par vérifier que le cluster ou le groupe de travail et la base de données appropriés sont sélectionnés.
+ **Onglet open source** : s’il est toujours ouvert, accède à l’onglet de l’éditeur ou du bloc-notes qui contenait la requête lors de son exécution. Le contenu de l’éditeur ou du bloc-notes peut avoir changé après l’exécution de la requête.
+ **Ouvrir la requête enregistrée** : accède à l’onglet de l’éditeur ou du bloc-notes et ouvre la requête.

Vous pouvez également consulter l’historique des requêtes exécutées dans un onglet **Éditeur** ou l’historique des requêtes exécutées dans un onglet **Carnet** de notes. Pour consulter l’historique des requêtes dans un onglet, choisissez **Historique des onglets**. Dans l’historique des onglets, vous pouvez effectuer les opérations suivantes :
+ **Copier la requête** : copie le contenu SQL de la version de la requête dans le presse-papiers.
+ **Ouvrir la requête dans un nouvel onglet** — Ouvre un nouvel onglet d’éditeur et l’amorce avec la requête choisie. Pour exécuter la requête, vous devez choisir le cluster ou le groupe de travail et la base de données.
+ **Afficher les détails** de la requête : affiche une page de détails de requête contenant plus d’informations sur la requête exécutée.

# Interaction avec l’assistant SQL génératif Amazon Q
<a name="query-editor-v2-generative-ai"></a>

**Note**  
Le support SQL génératif d'Amazon Q est uniquement disponible dans les pays suivants Régions AWS :  
Région USA Est (Virginie du Nord) (us-east-1)
Région USA Est (Ohio) (us-east-2)
Région USA Ouest (Oregon) (us-west-2)
Région Asie-Pacifique (Mumbai) (ap-south-1)
Région Asie-Pacifique (Séoul) (ap-northeast-2)
Région Asie-Pacifique (Singapour) (ap-southeast-1)
Région Asie-Pacifique (Sydney) (ap-southeast-2)
Région Asie-Pacifique (Tokyo) (ap-northeast-1)
Région Canada (Centre) (ca-central-1)
Région Europe (Francfort) (eu-central-1)
Région Europe (Irlande) (eu-west-1)
Région Europe (Londres) (eu-west-2)
Région Europe (Paris) (eu-west-3)
Région Amérique du Sud (Sao Paulo) (sa-east-1)
Pour plus d’informations sur l’endroit où vos données sont traitées, consultez [Inférence interrégionale dans Amazon Q Developer](https://docs.aws.amazon.com/amazonq/latest/qdeveloper-ug/cross-region-inference.html) dans le *Guide de l’utilisateur Amazon Q Developer*.

Vous pouvez interagir avec la fonctionnalité SQL générative d’Amazon Q dans l’éditeur de requêtes Amazon Redshift v2. Il s’agit d’un assistant de codage qui génère des instructions SQL en fonction de vos invites et de votre schéma de base de données. Cet assistant de codage est disponible lorsque vous créez un bloc-notes dans l’éditeur de requêtes v2. Le code SQL généré est destiné à la base de données à laquelle votre bloc-notes est connecté.

Lorsque vous interagissez avec l’assistant SQL génératif Amazon Q, posez des questions spécifiques, itérez lorsque vous avez des demandes complexes et vérifiez le degré d’exactitude des réponses. 

Lorsque vous fournissez des demandes d’analyse en langage naturel, soyez aussi spécifique que possible pour aider l’assistant de codage à comprendre exactement ce dont vous avez besoin. Au lieu de demander « trouvez les meilleures salles qui ont vendu le plus de billets », fournissez plus names/ids de détails, comme « trouvez les trois meilleures salles qui ont vendu le plus de billets en 2008 ». Utilisez des noms d’objets cohérents et spécifiques dans votre base de données lorsque vous les connaissez. Il peut s’agir de noms de schéma, de table et de colonne, tels qu’ils sont définis dans votre base de données, au lieu de faire référence au même objet de différentes manières, ce qui peut induire en erreur l’assistant.

Décomposez les demandes complexes en plusieurs instructions simples, plus faciles à interpréter par l’assistant. Posez des questions de suivi de manière itérative pour obtenir une analyse plus détaillée de la part de l’assistant. Par exemple, commencez par demander « which state has the most venues? » (quel État possède le plus de sites ?). Ensuite, en fonction de la réponse, demandez « which is the most popular venue from this state? » (quel est le site le plus populaire de cet État ?). 

Passez en revue le code SQL généré avant de l’exécuter, afin de garantir son exactitude. Si la requête SQL générée comporte des erreurs ou ne correspond pas à votre intention, fournissez des instructions à l’assistant sur la façon de la corriger au lieu de reformuler la demande tout entière. Par exemple, s’il manque une clause prédicative sur l’année dans la requête, demandez « Provide venues from year 2008 » (Fournir des sites à partir de l’année 2008).

Soumettez le texte des erreurs que vous recevez lors de l’exécution du code SQL généré sous forme d’invite à renvoyer à l’assistant SQL génératif Amazon Q. Il tire les leçons de ces erreurs pour produire un meilleur code SQL.

Ajoutez votre schéma au chemin de recherche SQL pour indiquer qu’il doit être utilisé. Par exemple, ajoutez le schéma tickit lorsque les données se trouvent dans le schéma tickit plutôt que dans le schéma public.

```
set search_path to '$user', tickit;
```

## Considérations relatives à l’interaction avec l’assistant SQL génératif Amazon Q
<a name="query-editor-v2-generative-ai-considerations"></a>

Tenez compte des points suivants lorsque vous utilisez le panneau de discussion.
+ L’administrateur de l’éditeur de requêtes v2 de votre compte doit avoir activé la fonctionnalité de chat sur la page **Paramètres SQL génératif**.
+ Pour utiliser le SQL génératif Amazon Q, vous devez disposer d'une autorisation `sqlworkbench:GetQSqlRecommendations` dans votre politique IAM, en plus des autres autorisations spécifiées dans la politique AWS gérée pour l'éditeur de requêtes v2. Pour plus d'informations sur les politiques AWS gérées, consultez[Accès à l’éditeur de requête v2](query-editor-v2-getting-started.md#query-editor-v2-configure).
+ Vos questions doivent être rédigées en anglais.
+ Vos questions doivent se référer à la base de données connectée dans votre cluster ou groupe de travail. Pour éviter les erreurs d’état vide, la base de données doit contenir au moins une table et des données.
+ Vos questions doivent se référer aux données stockées dans la base de données connectée. Elle ne doivent pas faire référence à un schéma externe. Pour plus d’informations sur les schémas pris en charge, consultez [CREATE SCHEMA](https://docs.aws.amazon.com/redshift/latest/dg/r_CREATE_EXTERNAL_SCHEMA.html) dans le *Guide du développeur de base de données Amazon Redshift*.
+ Toute question générant du code SQL qui modifie la base de données connectée peut entraîner un avertissement.
+ La technologie d’IA générative est nouvelle et les réponses peuvent comporter des erreurs, parfois appelées hallucinations. Testez et passez en revue tout le code pour détecter des erreurs et des vulnérabilités avant de l’utiliser dans votre environnement ou votre charge de travail.
+ Vous pouvez améliorer les recommandations en partageant les requêtes SQL exécutées par d’autres utilisateurs dans votre compte. L’administrateur de votre compte peut exécuter les commandes SQL suivantes pour autoriser l’accès à l’historique des requêtes du compte.

  ```
  GRANT ROLE SYS:MONITOR to "IAMR:role-name";
  GRANT ROLE SYS:MONITOR to "IAM:user-name";
  GRANT ROLE SYS:MONITOR to "database-username";
  ```

  Pour plus d’informations sur `SYS:MONITOR`, consultez [Rôles définis par le système Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/dg/r_roles-default.html) dans le *Guide du développeur de base de données Amazon Redshift*.
+ Vos données sont sécurisées et privées. Vos données ne sont pas partagées entre les comptes. Vos requêtes, données et schémas de base de données ne sont pas utilisés pour entraîner un modèle de fondation (FM) d’IA générative. Votre entrée est utilisée en tant qu’invites contextuelles pour que le modèle de fondation réponde uniquement à vos requêtes.

# Utilisation de l’assistant SQL génératif
<a name="query-editor-v2-generative-ai-interact"></a>

Une fois que les autorisations correctes ont été configurées, lorsque vous travaillez avec un bloc-notes dans l’éditeur de requêtes v2, vous pouvez choisir une icône pour démarrer une conversation.

**Pour interagir avec l’assistant SQL génératif Amazon Q afin de générer du code SQL**

1. Dans l’onglet **Éditeur** de l’éditeur de requêtes v2, ouvrez un bloc-notes.

1. Choisissez l’icône ![\[Generative SQL panel\]](http://docs.aws.amazon.com/fr_fr/redshift/latest/mgmt/images/qev2-amazon-q.png) SQL génératif, puis suivez les instructions pour poser vos questions à l’assistant SQL génératif de l’éditeur de requêtes Amazon Redshift v2 dans le panneau de discussion.

   Vous fournissez des questions dans un champ d’invite et l’assistant SQL génératif Amazon Q répond avec du code SQL suggéré. Toutes les erreurs rencontrées vous sont renvoyées dans le panneau de discussion.

1. Choisissez **Ajouter au bloc-notes** pour ajouter à votre bloc-notes une cellule Markdown contenant votre invite et une cellule SQL contenant le code SQL suggéré.

1. (Facultatif) Fournissez des commentaires concernant le code SQL généré en choisissant l’icône de commentaires utiles ![\[Helpful feedback\]](http://docs.aws.amazon.com/fr_fr/redshift/latest/mgmt/images/qev2-thumbs-up.png) ou l’icône de commentaires inutiles ![\[Not helpful feedback\]](http://docs.aws.amazon.com/fr_fr/redshift/latest/mgmt/images/qev2-thumbs-down.png). Vous pouvez classer les commentaires inutiles dans la catégorie`Incorrect tables/columns`, `Incorrect predicates/literals/group bys`, `Incorrect SQL structure` ou `Other`. En outre, vous pouvez fournir du texte libre avec vos commentaires sur la précision du code SQL.

1. (Facultatif) Choisissez **Regénérer SQL** pour générer une autre réponse pour la même invite. Vous pouvez choisir de **regénérer SQL** une fois pour l’invite en cours.

1. (Facultatif) Dans le panneau de discussion SQL génératif, choisissez l’icône ![\[More\]](http://docs.aws.amazon.com/fr_fr/redshift/latest/mgmt/images/qev2-vmore.png) **Plus**, puis choisissez **Actualiser la base de données** pour actualiser les métadonnées décrivant votre base de données connectée. Ces métadonnées incluent les définitions des schémas, des tables et des colonnes de votre base de données.

# Mise à jour des paramètres de l’assistant SQL génératif en tant qu’administrateur
<a name="query-editor-v2-generative-ai-settings"></a>

Un utilisateur disposant des autorisations IAM appropriées peut afficher et modifier **Paramètres SQL génératif** pour les autres utilisateurs du même Compte AWS. Cet administrateur doit disposer d'une autorisation `sqlworkbench:UpdateAccountQSqlSettings` dans sa politique IAM, en plus des autres autorisations spécifiées dans la politique AWS gérée pour l'éditeur de requêtes v2. Pour en savoir plus sur les politiques gérées, consultez [Autorisations requises pour utiliser l’éditeur de requête v2](redshift-iam-access-control-identity-based.md#redshift-policy-resources.required-permissions.query-editor-v2).

**Pour qu’un administrateur active la discussion SQL génératif pour tous les utilisateurs du compte**

1. Choisissez l’icône ![\[Settings\]](http://docs.aws.amazon.com/fr_fr/redshift/latest/mgmt/images/qev2-cog.png) **Paramètres** pour afficher un menu des différents écrans de paramètres.

1. Choisissez ensuite l’icône des paramètres SQL génératif ![\[Generative SQL settings\]](http://docs.aws.amazon.com/fr_fr/redshift/latest/mgmt/images/qev2-amazon-q.png) pour afficher la page **Paramètres SQL génératif Amazon Q**.

1. Sélectionnez **Paramètres SQL génératif Amazon Q** pour activer l’assistant SQL génératif pour les utilisateurs du compte.

   Après avoir activé l’assistant SQL génératif Amazon Q, vous pouvez consulter le nombre d’invites restantes dans votre allocation. L’administrateur de l’éditeur de requêtes v2 peut permettre aux utilisateurs du compte d’utiliser le niveau Amazon Q Developer Pro. Pour utiliser le niveau Pro, configurez vos utilisateurs avec IAM Identity Center et abonnez chaque utilisateur au niveau Amazon Q Developer Pro. Pour obtenir des informations sur la configuration d’IAM Identity Center avec Amazon Redshift, consultez [Connectez Redshift à AWS IAM Identity Center pour une expérience d'authentification unique](redshift-iam-access-control-idp-connect.md). Pour plus d’informations sur les tarifs Amazon Q Developer, consultez les [Tarification Amazon Q Developer](https://aws.amazon.com/q/developer/pricing/).

   Lorsque vous utilisez le niveau Amazon Q Developer Free, le nombre total de demandes de tous les utilisateurs d'un Compte AWS est limité à 1 000 par mois. Lorsque vous utilisez le niveau Amazon Q Developer Pro, le nombre total d’invites que chaque utilisateur peut envoyer est limité à 1 000 par mois. Vous pouvez consulter le nombre d’invites disponibles sur la page **Paramètres**. Pour plus d’informations sur les tarifs Amazon Q Developer, consultez les [Tarification Amazon Q Developer](https://aws.amazon.com/q/developer/pricing/).

## Contexte personnalisé
<a name="query-editor-v2-generative-custom-context"></a>

L’administrateur de l’éditeur de requêtes v2 peut spécifier un *contexte personnalisé* pour adapter le code SQL généré à votre environnement. Un contexte personnalisé fournit des connaissances et des préférences du domaine afin de permettre un contrôle précis de la génération de code SQL. Un contexte personnalisé est défini dans un fichier JSON qui peut être chargé par l’administrateur de l’éditeur de requêtes v2 sur l’assistant SQL génératif Amazon Q.

Les clés JSON utilisées pour personnaliser le code SQL généré pour un entrepôt de données sont les suivantes.

Toutes les références aux tables doivent suivre la notation en trois parties `database.schema.table`.

**Ressources**  
Une ressource indique l’étendue ou la partie d’une ressource de données à laquelle le contexte personnalisé est appliqué.

**ResourceId**  
Spécifie un identifiant unique de la ressource. Pour un cluster Amazon Redshift, spécifiez l’`cluster id`. Pour un groupe de travail Redshift sans serveur, spécifiez le `workgroup name`.

**ResourceType**  
Valeur valide : `REDSHIFT_WAREHOUSE`.

**TablesToInclude**  
Spécifie un ensemble de tables prises en compte pour la génération de code SQL. Ce champ est essentiel quand vous souhaitez limiter la portée des requêtes SQL à un sous-ensemble défini de tables disponibles. Cela permet d’optimiser le processus de génération en réduisant les références inutiles aux tables. Vous pouvez associer ce champ à `TablesToExclude` pour mieux contrôler la génération des requêtes.

**TablesToExclude**  
Spécifie l’ensemble de tables exclues de la génération SQL. Utilisez-le lorsque certaines tables ne sont pas pertinentes ou ne doivent pas être prises en compte dans le processus de génération de requêtes. 

**TableAnnotations**  
Fournit des métadonnées ou des informations supplémentaires sur les tables utilisées. Ces annotations peuvent inclure des descriptions de tables, des notes d’utilisation ou tout autre attribut supplémentaire qui aide l’assistant SQL génératif Amazon Q à mieux comprendre le contexte ou la structure de la table. Cela est utile pour améliorer la précision de la génération SQL en clarifiant les définitions des tables.

**ColumnsToInclude**  
Définit les colonnes des tables spécifiées qui sont incluses lors de la génération de requêtes SQL. Ce champ permet à l’assistant SQL génératif Amazon Q de se concentrer sur les colonnes pertinentes et améliore les performances en réduisant le champ de récupération des données. Cela garantit que l’assistant SQL génératif Amazon Q extrait uniquement les données nécessaires au contexte de requête donné.

**ColumnsToExclude**  
Spécifie les colonnes qui ne sont pas prises en compte lors de la génération SQL. Cela peut être utilisé lorsque certaines colonnes contiennent des données non pertinentes ou redondantes qui ne doivent pas être prises en compte par l’assistant SQL génératif Amazon Q. En gérant l’inclusion et l’exclusion des colonnes, vous pouvez affiner les résultats et garder le contrôle sur les données extraites.

**ColumnAnnotations**  
Similaire à `TableAnnotations`, ce champ fournit des métadonnées ou des annotations spécifiques à des colonnes individuelles. Ces annotations peuvent donner un aperçu des définitions de colonnes ou des instructions de manipulation spéciales. Ces informations sont utiles pour guider le processus de génération SQL et garantir que les colonnes sont utilisées de manière appropriée dans les requêtes.

**CuratedQueries**  
Ensemble d’exemples de questions et réponses prédéfinies, dans lesquels la question est écrite en langage naturel (NLQ) et la réponse est la requête SQL correspondante. Ces exemples aident l’assistant SQL génératif Amazon Q à comprendre les types de requêtes qu’il est censé générer. Ils servent de points de référence pour améliorer la précision et la pertinence des sorties SQL génératives Amazon Q.

**CustomDocuments**  
Informations ou conseils supplémentaires fournis à l’assistant SQL génératif Amazon Q, tels que des définitions, des connaissances spécifiques à un domaine ou des explications. Par exemple, si votre unité commerciale utilise une méthode unique pour calculer une valeur, par exemple « dans une division de fabrication, le total des ventes est égal au prix \$1 chiffre d’affaires », cela peut être documenté ici. Ces documents améliorent la capacité de l’assistant SQL génératif Amazon Q à interpréter les entrées en langage naturel en fournissant un contexte supplémentaire.

**AdditionalTables**  
Spécifie toutes les tables supplémentaires qui doivent être prises en compte pour la génération SQL mais qui ne font pas partie des données stockées dans l’entrepôt de données. Cela permet à l’assistant SQL génératif Amazon Q d’intégrer des sources de données externes dans sa logique de génération de SQL, élargissant ainsi sa capacité à gérer des environnements de données complexes.

**AppendToPrompt**  
Des instructions ou directives supplémentaires fournies à l’assistant SQL génératif Amazon Q pour guider le processus de génération de code SQL. Cela peut inclure des directives spécifiques sur la manière de structurer la requête, des préférences pour certaines constructions SQL ou toute autre instruction de haut niveau qui améliore la qualité de la sortie SQL générative d’Amazon Q.

L’exemple de contexte personnalisé suivant indique le format du fichier JSON et définit les éléments suivants :
+ Définit un contexte personnalisé pour l’entrepôt de données Amazon Redshift pour le cluster `mycluster`.
+ Définit les tables et les colonnes spécifiques à inclure et à exclure afin d’optimiser le processus de génération SQL.
+ Définit les annotations pour les tables et les colonnes appelées à inclure.
+ Définit des exemples de requêtes sélectionnées à utiliser par l’assistant SQL génératif Amazon Q.
+ Définit les documents personnalisés et les barrières de protection à utiliser lors de la génération de code SQL.
+ Définit le DDL pour les tables supplémentaires à utiliser lors de la génération de code SQL.

```
{
    "resources": [
        {
            "ResourceId": "mycluster",
            "ResourceType": "REDSHIFT_WAREHOUSE",
            "TablesToInclude": [
                "database.schema.table1",
                "database.schema.table2"
            ],
            "TablesToExclude": [
                "database.schema.table3",
                "database.schema.table4"
            ],
            "ColumnsToInclude": {
                "database.schema.table1": [
                    "col1",
                    "col2"
                ],
                "database.schema.table2": [
                    "col1",
                    "col2"
                ]
            },
            "ColumnsToExclude": {
                "database.schema.table5": [
                    "col1",
                    "col2"
                ],
                "database.schema.table6": [
                    "col1",
                    "col2"
                ]
            },
            "TableAnnotations": {
                "database.schema.table1": "table1 refers to Q3 sales",
                "database.schema.table2": "table2 refers to Q4 sales"
            },
            "ColumnAnnotations": {
                "database.schema.table1": {
                    "col1": "col1 refers to Q3 sale total",
                    "col2": "col2 refers to sale location"
                },
                "database.schema.table2": {
                    "col1": "col2 refers to Q4 sale total",
                    "col2": "col2 refers to sale location"
                }
            },
            "CuratedQueries": [
                {
                    "Question": "what is the sales data for Q3",
                    "Answer": "SELECT * FROM table1"
                },
                {
                    "Question": "what is the sales data for Q4",
                    "Answer": "SELECT * FROM table2"
                }
            ],
            "CustomDocuments": [
                "in manufacturing division total sales is price * revenue",
                "in research division total sales is price * revenue"
            ],
            "AdditionalTables": {
                "database.schema.table8": "create table database.schema.table8(col1 int)",
                "database.schema.table9": "create table database.schema.table9(col1 int)"
            },
            "AppendToPrompt": "Apply these guardrails: Queries should never return the secretId field of a user."
        }
    ]
}
```

# Didacticiel : utilisation de l’assistant SQL génératif d’Amazon Q avec les données TICKIT
<a name="query-editor-v2-generative-ai-example"></a>

Afin de créer des invites efficaces pour générer du code SQL, vous devez apprendre à connaître votre schéma de base de données et vos données. Les données TICKIT sont composées de sept tables : deux tables de faits et cinq dimensions. L’échantillon de données contient des enregistrements sur les ventes aux spectateurs d’événements de divertissement qui ont eu lieu en 2008. Pour plus d’informations sur le schéma de données TICKIT, consultez [Exemple de base de données](https://docs.aws.amazon.com/redshift/latest/dg/c_sampledb.html) dans le *Guide du développeur de base de données Amazon Redshift*. Vous pouvez charger les données TICKIT dans une base de données via différentes méthodes, dans la console Amazon Redshift ou dans l’éditeur de requêtes v2. L’éditeur de requêtes v2 fournit une méthode pour charger les données TICKIT dans la base de données `sample_data_dev`. Pour plus d'informations, consultez [Chargement de données dans une base de données](query-editor-v2-loading.md). L’éditeur de requêtes v2 fournit également des exemples d’invite pour les données TICKIT. Le scénario suivant décrit une conversation avec l’assistant SQL génératif dans le but de générer du code SQL concernant l’échantillon de données TICKIT. Dans ce scénario, l’échantillon de données TICKIT est déjà créé dans une base de données `dev`, dans un cluster Amazon Redshift. 

**Note**  
Cet exemple a pour but d’illustrer une conversation. Les réponses de l’assistant SQL génératif peuvent ne pas correspondre aux résultats que vous avez obtenus en utilisant les mêmes invites.

**Exemple de conversation avec l’assistant SQL génératif Amazon Q**

1. Dans l’**éditeur**, connectez-vous à un cluster ou à un groupe de travail contenant l’échantillon de données TICKIT.

1. Créez un bloc-notes vide et choisissez l’icône ![\[Generative SQL\]](http://docs.aws.amazon.com/fr_fr/redshift/latest/mgmt/images/qev2-amazon-q.png) SQL génératif pour ouvrir le panneau de discussion.

1. Entrez l’invite suivante pour générer du code SQL afin de vérifier le nombre d’enregistrements figurant dans la table `VENUE` :

   ```
   How many venues are there?
   ```

   ```
   SELECT
     COUNT(*) AS num_venues
   FROM
     tickit.venue
   ```

   Choisissez **Ajouter au bloc-notes** pour ajouter deux cellules au bloc-notes ouvert. Une cellule Markdown « How many venues are there? » (Combien y a-t-il de sites ?) et une cellule contenant le code SQL généré.

   Dans la cellule SQL, choisissez **Exécuter** pour recevoir le résultat :

   ```
   count
   ------
   202
   ```

1. Pour demander une autre version de code SQL, choisissez **Regénérer SQL**. Vous obtenez la réponse suivante :

   ```
   SELECT
     venuestate,
     COUNT(*) AS num_venues
   FROM
     tickit.venue
   GROUP BY
     venuestate
   ```

   Choisissez **Ajouter au bloc-notes** pour ajouter deux cellules supplémentaires au bloc-notes ouvert. Une cellule Markdown « How many venues are there? » (Combien y a-t-il de sites ?) et une cellule contenant le code SQL généré.

   Dans la cellule SQL, choisissez **Exécuter** pour recevoir le résultat répertoriant les états avec leur nombre de sites :

   ```
   venuestate num_venues
   ----------------------
   MA         4	
   OH         8	
   MI         5	
   ...
   ```

1. L’assistant SQL génératif peut émettre des hypothèses sur ce que vous demandez. Bien qu’il n’y ait aucun widget dans la base de données, vous pouvez toujours poser la question. Dans ce cas, il affiche un message indiquant qu’il n’a pas pu générer de code SQL.

   ```
   How many widgets are there?
   ```

   ```
   I was not able to generate any SQL
   ```

1. Plus vous en apprendrez sur votre base de données, plus vous pouvez poser des questions spécifiques dans le but de générer du code SQL. Par exemple, vous savez que la base de données contient des données de ventes pour plusieurs mois de l’année 2008. Entrez l’invite suivante pour générer du code SQL afin de connaître le nombre de ventes réalisées en novembre 2008 :

   ```
   How many sales were there in November 2008?
   ```

   ```
   SELECT
     COUNT(*) AS num_sales
   FROM
     tickit.sales s
     JOIN tickit.date d ON s.dateid = d.dateid
   WHERE
     d.month = 'November'
     AND d.year = 2008
   ```

   Choisissez **Ajouter au bloc-notes** pour ajouter deux cellules au bloc-notes ouvert. Une cellule Markdown « How many sales were there in November 2008? » (Combien de ventes ont été réalisées en novembre 2008 ?) et une cellule contenant le code SQL généré.

   Dans la cellule SQL, choisissez **Exécuter** pour recevoir le résultat :

   ```
   num_sales
   -----
   0
   ```

   Vous vous rendez compte que ce n’est pas le résultat auquel vous vous attendiez.

1. Vous remarquerez que le prédicat `date.month='November'` s’attend à ce que le mois de la table DATE soit représenté par une abréviation du nom du mois. Vous remplacez ce prédicat par `d.month='NOV'` et réexécutez le code SQL.

   ```
   SELECT
     COUNT(*)
   FROM
     sales
     JOIN date ON sales.dateid = date.dateid
   WHERE
     date.month = 'NOV'
     AND date.year = 2008
   ```

   Dans la cellule SQL, choisissez **Exécuter** pour obtenir de nouveaux résultats.

   ```
   count
   -----
   14261
   ```

1. Si vous posez une question qui tente de modifier la base de données connectée, un message d’avertissement est renvoyé avec le code SQL recommandé. Entrez l’invite suivante pour générer du code SQL afin d’insérer des données dans une table :

   ```
   Insert 1 into the venue table.
   ```

   ```
   INSERT
   ,
   UPDATE
     OR delete data
   FROM
     the database AS that could potentially change the data.Please provide a query that ONLY selects data
   ```

   ```
   I was not able to generate the correct SQL code. I generated SQL, but you'll have to edit it to work with your database.
   ```

   Si vous choisissez **Ajouter au bloc-notes** pour ajouter deux cellules au bloc-notes ouvert et exécuter le code SQL, le code SQL échoue.

   ```
   ERROR: syntax error at or near "," Position: 132 [ErrorId: 1-6546764a-011df2691778846219ce6ec2]
   ```

Ce scénario illustre uniquement quelques manières élémentaires d’interagir avec l’assistant SQL génératif Amazon Q. Vous pouvez continuer à expérimenter l’utilisation de cette technologie d’IA générative pour créer du code SQL afin d’interroger votre base de données.

# Chargement de données dans une base de données
<a name="query-editor-v2-loading"></a>

Vous pouvez utiliser l'éditeur de requête v2 pour charger des données dans une base de données au niveau d'un cluster ou groupe de travail Amazon Redshift. Cette section explique comment charger des exemples de données, des données provenant de S3 et des données provenant d’une configuration de fichiers et d’un flux de travail locaux.

## Exemples de données
<a name="query-editor-v2-loading-sample-data"></a>

L'éditeur de requête v2 est livré avec des exemples de données et de bloc-notes pouvant être chargés dans un exemple de base de données et le schéma correspondant. 

Pour charger des exemples de données, choisissez l'icône ![\[External\]](http://docs.aws.amazon.com/fr_fr/redshift/latest/mgmt/images/external.png) associée aux exemples de données que vous souhaitez charger. L’éditeur de requête v2 charge ensuite les données dans un schéma dans une base de données `sample_data_dev` et crée un dossier de bloc-notes. 

Les exemples de jeux de données suivants sont disponibles.

**tickit**  
La plupart des exemples de la documentation Amazon Redshift utilisent un exemple de données appelé `tickit`. Ces données sont composées de sept tables : deux tables de faits et cinq dimensions. Lorsque vous chargez ces données, le schéma `tickit` est mis à jour avec des exemples de données. Pour plus d'informations sur les données `tickit`, consultez [Exemple de base de données](https://docs.aws.amazon.com/redshift/latest/dg/c_sampledb.html) dans le *Guide du développeur de base de données Amazon Redshift*. 

**tpch**  
Ces données sont utilisées pour une comparaison d’aide à la décision. Lorsque vous chargez ces données, le schéma `tpch` est mis à jour avec des exemples de données. Pour de plus amples informations sur les données `tpch`, veuillez consulter [TPC-H](http://www.tpc.org/tpch/). 

**tpcds**  
Ces données sont utilisées pour une comparaison d’aide à la décision. Lorsque vous chargez ces données, le schéma `tpcds` est mis à jour avec des exemples de données. Pour de plus amples informations sur les données `tpcds`, veuillez consulter [TPC-DS](http://www.tpc.org/tpcds/). 

# Chargement des données à partir d’Amazon S3
<a name="query-editor-v2-loading-data"></a>

Vous pouvez charger des données Amazon S3 dans une table existante ou nouvelle.

**Pour charger des données dans une table existante**

La commande COPY est utilisée par l’éditeur de requête v2 pour charger des données depuis Amazon S3. La commande COPY générée et utilisée dans l'assistant de chargement de données de l'éditeur de requête v2 prend en charge la plupart des paramètres disponibles dans la syntaxe de la commande COPY pour la copie depuis Amazon S3. Pour plus d’informations sur la commande COPY et ses options utilisées pour charger des données à partir d’Amazon S3, consultez [Commande COPY depuis Amazon Simple Storage Service](https://docs.aws.amazon.com/redshift/latest/dg/copy-parameters-data-source-s3.html) dans le *Guide du développeur de base de données Amazon Redshift*. 

1. Vérifiez que la table est déjà créée dans la base de données où vous souhaitez charger des données. 

1. Vérifiez que vous êtes connecté à la base de données cible dans le volet d'arborescence de l'éditeur de requête v2 avant de continuer. Vous pouvez créer une connexion avec le cluster ou le groupe de travail où les données seront chargées, en utilisant le menu contextuel (clic droit).

   Choisissez ![\[Load\]](http://docs.aws.amazon.com/fr_fr/redshift/latest/mgmt/images/qev2-upload.png)**Load data** (Charger les données).

1. Dans **Source de données**, choisissez **Charger depuis le compartiment S3**.

1. Dans **S3 URIs**, choisissez **Browse S3** pour rechercher le compartiment Amazon S3 contenant les données à charger. 

1. Si le compartiment Amazon S3 spécifié ne se trouve pas dans la même table Région AWS que la table cible, choisissez l'**emplacement du fichier S3** Région AWS où se trouvent les données.

1. Choisissez **Ce fichier est un fichier manifeste** si le fichier Amazon S3 est en fait un manifeste contenant plusieurs compartiments Amazon S3 URIs.

1. Choisissez le **format de fichier** pour le fichier à charger. Les formats de données pris en charge sont CSV, JSON, DELIMITER, FIXEDWIDTH, SHAPEFILE, AVRO, PARQUET et ORC. En fonction du format de fichier spécifié, vous pouvez choisir les **options de fichier** correspondantes. Vous pouvez également sélectionner **Data is encrypted (Les données sont chiffrées)** si les données sont chiffrées et saisir l’Amazon Resource Name (ARN) de la clé KMS utilisée pour chiffrer les données.

   Si vous choisissez CSV ou DELIMITER, vous pouvez également choisir le **caractère de délimitation** et l'option **Ignorer les lignes d'en-tête** si le nombre de lignes spécifié correspond à des noms de colonnes et non à des données à charger.

1. Choisissez une méthode de compression pour compresser votre fichier. La valeur par défaut est sans compression.

1. (Facultatif) Les **paramètres avancés** prennent en charge divers **paramètres de conversion de données** et **opérations de chargement**. Saisissez ces informations si nécessaire pour votre fichier.

   Pour plus d’informations sur la conversion des données et les paramètres de chargement des données, consultez [Paramètres de conversion de données](https://docs.aws.amazon.com/redshift/latest/dg/copy-parameters-data-conversion.html) et [Opérations de chargement de données](https://docs.aws.amazon.com/redshift/latest/dg/copy-parameters-data-load.html) dans le *Guide du développeur de base de données Amazon Redshift*.

1. Choisissez **Suivant**.

1. Choisissez **Charger la table existante**.

1. Confirmez ou choisissez l’emplacement de la **Table cible**, notamment le **Cluster ou groupe de travail**, la **Base de données**, le **Schéma** et le nom de la **Table** où sont chargées les données.

1. Choisissez un **rôle IAM** qui dispose des autorisations requises pour charger des données à partir de Amazon S3.

1. (Facultatif) Choisissez les noms des colonnes pour les saisir dans **Column mapping** (Mappage de colonnes) pour mapper les colonnes dans l'ordre du fichier de données d'entrée.

1. Choisissez **Load data (Charger les données)** pour démarrer le chargement des données.

   Lorsque le chargement est terminé, l'éditeur de requête s'affiche avec la commande COPY générée qui a été utilisée pour charger vos données. Le **résultat** de la commande COPY s'affiche. En cas de succès, vous pouvez désormais utiliser SQL pour sélectionner des données à partir de la table chargée. En cas d'erreur, interrogez la vue système STL\$1LOAD\$1ERRORS pour obtenir plus de détails. Pour plus d’informations sur les erreurs de commande COPY, consultez [STL\$1LOAD\$1ERRORS](https://docs.aws.amazon.com/redshift/latest/dg/r_STL_LOAD_ERRORS.html) dans le *Guide du développeur de la base de données Amazon Redshift*.

Lorsque vous chargez des données dans une nouvelle table, l'éditeur de requête v2 crée d'abord la table dans la base de données, puis charge les données en tant qu'actions distinctes dans le même flux de travail.

**Pour charger des données dans une nouvelle table**

La commande COPY est utilisée par l’éditeur de requête v2 pour charger des données depuis Amazon S3. La commande COPY générée et utilisée dans l'assistant de chargement de données de l'éditeur de requête v2 prend en charge la plupart des paramètres disponibles dans la syntaxe de la commande COPY pour la copie depuis Amazon S3. Pour plus d’informations sur la commande COPY et ses options utilisées pour charger des données à partir d’Amazon S3, consultez [Commande COPY depuis Amazon Simple Storage Service](https://docs.aws.amazon.com/redshift/latest/dg/copy-parameters-data-source-s3.html) dans le *Guide du développeur de base de données Amazon Redshift*. 

1. Vérifiez que vous êtes connecté à la base de données cible dans le volet d'arborescence de l'éditeur de requête v2 avant de continuer. Vous pouvez créer une connexion avec le cluster ou le groupe de travail où les données seront chargées, en utilisant le menu contextuel (clic droit).

   Choisissez ![\[Load\]](http://docs.aws.amazon.com/fr_fr/redshift/latest/mgmt/images/qev2-upload.png)**Load data** (Charger les données).

1. Dans **Source de données**, choisissez **Charger depuis le compartiment S3**.

1. Dans **S3 URIs**, choisissez **Browse S3** pour rechercher le compartiment Amazon S3 contenant les données à charger. 

1. Si le compartiment Amazon S3 spécifié ne se trouve pas dans la même table Région AWS que la table cible, choisissez l'**emplacement du fichier S3** Région AWS où se trouvent les données.

1. Choisissez **Ce fichier est un fichier manifeste** si le fichier Amazon S3 est en fait un manifeste contenant plusieurs compartiments Amazon S3 URIs.

1. Choisissez le **format de fichier** pour le fichier à charger. Les formats de données pris en charge sont CSV, JSON, DELIMITER, FIXEDWIDTH, SHAPEFILE, AVRO, PARQUET et ORC. En fonction du format de fichier spécifié, vous pouvez choisir les **options de fichier** correspondantes. Vous pouvez également sélectionner **Data is encrypted (Les données sont chiffrées)** si les données sont chiffrées et saisir l’Amazon Resource Name (ARN) de la clé KMS utilisée pour chiffrer les données.

   Si vous choisissez CSV ou DELIMITER, vous pouvez également choisir le **caractère de délimitation** et l'option **Ignorer les lignes d'en-tête** si le nombre de lignes spécifié correspond à des noms de colonnes et non à des données à charger.

1. Choisissez une méthode de compression pour compresser votre fichier. La valeur par défaut est sans compression.

1. (Facultatif) Les **paramètres avancés** prennent en charge divers **paramètres de conversion de données** et **opérations de chargement**. Saisissez ces informations si nécessaire pour votre fichier.

   Pour plus d’informations sur la conversion des données et les paramètres de chargement des données, consultez [Paramètres de conversion de données](https://docs.aws.amazon.com/redshift/latest/dg/copy-parameters-data-conversion.html) et [Opérations de chargement de données](https://docs.aws.amazon.com/redshift/latest/dg/copy-parameters-data-load.html) dans le *Guide du développeur de base de données Amazon Redshift*.

1. Choisissez **Suivant**.

1. Choisissez **Charger une nouvelle table**.

   Les colonnes de la table sont déduites des données d'entrée. Vous pouvez modifier la définition du schéma de la table en ajoutant des colonnes et des détails sur la table. Pour revenir au schéma de table dérivé de l'éditeur de requête v2, choisissez **Rétablir les valeurs par défaut**.

1. Confirmez ou choisissez l’emplacement de la **Table cible**, y compris le **Cluster ou groupe de travail**, la **Base de données** et le **Schéma** dans lequel les données sont chargées. Saisissez le nom de la **table** à créer.

1. Choisissez un **rôle IAM** qui dispose des autorisations requises pour charger des données à partir de Amazon S3.

1. Sélectionnez **Créer une table** pour créer la table à l'aide de la définition indiquée.

   Un résumé de la définition de la table s'affiche. La table est créée dans la base de données. Pour supprimer ultérieurement la table, exécutez la commande SQL DROP TABLE. Pour plus d'informations, consultez la section [DROP TABLE](https://docs.aws.amazon.com/redshift/latest/dg/r_DROP_TABLE) dans le *Guide du développeur de la base de données Amazon Redshift*.

1. Choisissez **Load data (Charger les données)** pour démarrer le chargement des données.

   Lorsque le chargement est terminé, l'éditeur de requête s'affiche avec la commande COPY générée qui a été utilisée pour charger vos données. Le **résultat** de la commande COPY s'affiche. En cas de succès, vous pouvez désormais utiliser SQL pour sélectionner des données à partir de la table chargée. En cas d'erreur, interrogez la vue système STL\$1LOAD\$1ERRORS pour obtenir plus de détails. Pour plus d’informations sur les erreurs de commande COPY, consultez [STL\$1LOAD\$1ERRORS](https://docs.aws.amazon.com/redshift/latest/dg/r_STL_LOAD_ERRORS.html) dans le *Guide du développeur de la base de données Amazon Redshift*.

# Chargement de données à partir d'un fichier local : configuration et flux de travail
<a name="query-editor-v2-loading-data-local"></a>

Vous pouvez charger des données d'un fichier local dans une table existante ou nouvelle.

## Configuration administrateur pour charger des données à partir d'un fichier local
<a name="query-editor-v2-loading-data-local-setup"></a>

Votre administrateur de l'éditeur de requête v2 doit spécifier le compartiment Amazon S3 commun dans la fenêtre **Account settings** (Paramètres du compte). Les utilisateurs du compte doivent être configurés avec les autorisations appropriées.
+ Autorisations IAM nécessaires – Les utilisateurs du chargement à partir du fichier local doivent disposer des autorisations `s3:ListBucket`, `s3:GetBucketLocation`, `s3:putObject`, `s3:getObject` et `s3:deleteObject`. Il *optional-prefix* peut être spécifié pour limiter l'utilisation de ce compartiment liée à l'éditeur de requêtes v2 aux objets portant ce préfixe. Vous pouvez utiliser cette option lorsque ce même compartiment Amazon S3 est utilisé dans d'autres contextes que l'éditeur de requête v2. Pour en savoir plus sur les compartiments et les préfixes, consultez [Managing user access to specific folders](https://docs.aws.amazon.com/AmazonS3/latest/userguide/example-bucket-policies.html#example-bucket-policies-folders) (Gestion de l'accès des utilisateurs à des dossiers spécifiques) dans *Amazon Simple Storage Service User Guide* (Guide de l'utilisateur d'Amazon Simple Storage Service). Pour s'assurer que l'accès aux données entre utilisateurs n'est pas autorisé, nous recommandons à l'administrateur de l'éditeur de requête v2 d'utiliser une politique de compartiment Amazon S3 pour restreindre l'accès aux objets en fonction de `aws:userid`. L'exemple suivant autorise Amazon S3 à accéder à un *<staging-bucket-name>* avec un accès en lecture/écriture uniquement aux objets Amazon S3 dont le préfixe est `aws:userid` le.

------
#### [ JSON ]

****  

  ```
  {
      "Version":"2012-10-17",		 	 	 
      "Statement": [
          {
              "Effect": "Allow",
              "Action": [
                  "s3:ListBucket",
                  "s3:GetBucketLocation"
              ],
              "Resource": [
                  "arn:aws:s3:::<staging-bucket-name>"
              ]
          },
          {
              "Effect": "Allow",
              "Action": [
                  "s3:PutObject",
                  "s3:GetObject",
                  "s3:DeleteObject"
              ],
              "Resource": [
                  "arn:aws:s3:::<staging-bucket-name>[/<optional-prefix>]/${aws:userid}/*"
              ]
          }
      ]
  }
  ```

------
+ Séparation des données – Nous déconseillons d'accorder aux utilisateurs un accès mutuel à leurs données respectives (même brièvement). Le chargement à partir d'un fichier local utilise le compartiment Amazon S3 intermédiaire configuré par l'administrateur de l'éditeur de requête v2. Configurez la politique de compartiment pour le compartiment intermédiaire afin d'assurer une séparation des données entre les utilisateurs. L'exemple suivant montre une politique de compartiment qui sépare les données entre les utilisateurs du*<staging-bucket-name>*.

------
#### [ JSON ]

****  

  ```
  {
   "Version":"2012-10-17",		 	 	 
      "Statement": [
          {"Sid": "userIdPolicy",
              "Effect": "Deny",
              "Principal": "*",
              "Action": ["s3:PutObject",
                         "s3:GetObject",
                         "s3:DeleteObject"],
              "NotResource": [
                  "arn:aws:s3:::<staging-bucket-name>[/<optional-prefix>]/${aws:userid}/*"
              ]
           }
      ]
  }
  ```

------

## Chargement de données à partir d'un fichier local
<a name="query-editor-v2-loading-data-local-procedure"></a>

**Pour charger les données d'un fichier local dans une table existante**

Votre administrateur de l'éditeur de requête v2 doit spécifier le compartiment Amazon S3 commun dans la fenêtre **Paramètres du compte**. L'éditeur de requête v2 charge automatiquement le fichier local dans un compartiment Amazon S3 commun utilisé par votre compte, puis utilise la commande COPY pour charger les données. La commande COPY générée et exécutée par la fenêtre de chargement de fichier local de l’éditeur de requête v2 prend en charge la plupart des paramètres disponibles dans la syntaxe de la commande COPY pour la copie depuis Amazon S3. Pour en savoir plus sur la commande COPY et ses options permettant de charger des données à partir d'Amazon S3, consultez [Commande COPY depuis Amazon S3](https://docs.aws.amazon.com/redshift/latest/dg/copy-parameters-data-source-s3.html) dans le *Guide du développeur de base de données Amazon Redshift*. 

1. Vérifiez que la table est déjà créée dans la base de données où vous souhaitez charger des données. 

1. Vérifiez que vous êtes connecté à la base de données cible dans le volet d’arborescence de l’éditeur de requête v2. Vous pouvez créer une connexion avec le cluster ou le groupe de travail où les données seront chargées, en utilisant le menu contextuel (clic droit). 

1. Choisissez ![\[Load\]](http://docs.aws.amazon.com/fr_fr/redshift/latest/mgmt/images/qev2-upload.png)**Load data** (Charger les données).

1. Dans **Data source** (Source de données), choisissez **Load from local file** (Charger depuis un fichier local).

1. Choisissez **Parcourir** pour rechercher le fichier qui contient les données en question et sélectionnez **Charger un fichier**. Par défaut, les fichiers portant les extensions `.csv`, `.avro`, `.parquet` et `.orc` sont affichés, mais vous pouvez choisir d’autres types de fichiers. La taille maximale du fichier est de 100 Mo.

1. Choisissez le **format de fichier** pour le fichier à charger. Les formats de données pris en charge sont CSV, JSON, DELIMITER, FIXEDWIDTH, SHAPEFILE, AVRO, PARQUET et ORC. En fonction du format de fichier spécifié, vous pouvez choisir les **options de fichier** correspondantes. Vous pouvez également sélectionner **Data is encrypted (Les données sont chiffrées)** si les données sont chiffrées et saisir l’Amazon Resource Name (ARN) de la clé KMS utilisée pour chiffrer les données.

   Si vous choisissez CSV ou DELIMITER, vous pouvez également choisir le **caractère de délimitation** et l'option **Ignorer les lignes d'en-tête** si le nombre de lignes spécifié correspond à des noms de colonnes et non à des données à charger.

1. (Facultatif) Les **paramètres avancés** prennent en charge divers **paramètres de conversion de données** et **opérations de chargement**. Saisissez ces informations si nécessaire pour votre fichier.

   Pour plus d’informations sur la conversion des données et les paramètres de chargement des données, consultez [Paramètres de conversion de données](https://docs.aws.amazon.com/redshift/latest/dg/copy-parameters-data-conversion.html) et [Opérations de chargement de données](https://docs.aws.amazon.com/redshift/latest/dg/copy-parameters-data-load.html) dans le *Guide du développeur de base de données Amazon Redshift*.

1. Choisissez **Suivant**.

1. Choisissez **Charger la table existante**.

1. Confirmez ou choisissez l’emplacement de la **Table cible**, notamment le **Cluster ou groupe de travail**, la **Base de données**, le **Schéma** et le nom de la **Table** où sont chargées les données.

1. (Facultatif) Vous pouvez choisir les noms de colonnes à saisir dans **Column mapping** (Mappage de colonnes) pour mapper les colonnes dans l'ordre du fichier de données d'entrée.

1. Choisissez **Load data (Charger les données)** pour démarrer le chargement des données.

   À l'issue du chargement, un message s'affiche indiquant si le chargement a abouti ou non. En cas de succès, vous pouvez désormais utiliser SQL pour sélectionner des données à partir de la table chargée. En cas d'erreur, interrogez la vue système STL\$1LOAD\$1ERRORS pour obtenir plus de détails. Pour plus d’informations sur les erreurs de commande COPY, consultez [STL\$1LOAD\$1ERRORS](https://docs.aws.amazon.com/redshift/latest/dg/r_STL_LOAD_ERRORS.html) dans le *Guide du développeur de la base de données Amazon Redshift*.

   Le modèle de commande COPY qui a servi à charger les données apparaît dans votre **Query history** (Historique des requêtes). Si ce modèle de commande COPY présente certains des paramètres utilisés, il ne peut pas être exécuté directement dans un onglet de l'éditeur. Pour en savoir plus sur l’historique des requêtes, consultez [Afficher l’historique des requêtes et des onglets](query-editor-v2-history.md).

Lorsque vous chargez des données dans une nouvelle table, l'éditeur de requête v2 crée d'abord la table dans la base de données, puis charge les données en tant qu'actions distinctes dans le même flux de travail.

**Pour charger les données d'un fichier local dans une nouvelle table**

Votre administrateur de l’éditeur de requête v2 doit spécifier le compartiment Amazon S3 commun dans la fenêtre **Account settings** (Paramètres du compte). Le fichier local est automatiquement chargé dans un compartiment Amazon S3 commun utilisé par votre compte. La commande COPY est ensuite utilisée par l'éditeur de requête v2 pour charger les données. La commande COPY générée et exécutée par la fenêtre de chargement de fichier local de l'éditeur de requête v2 prend en charge la plupart des paramètres disponibles dans la syntaxe de la commande COPY pour la copie depuis Amazon S3. Pour en savoir plus sur la commande COPY et ses options permettant de charger des données à partir d’Amazon S3, consultez [Commande COPY depuis Amazon S3](https://docs.aws.amazon.com/redshift/latest/dg/copy-parameters-data-source-s3.html) dans le *Guide du développeur de base de données Amazon Redshift*. 

1. Vérifiez que vous êtes connecté à la base de données cible dans le volet d’arborescence de l’éditeur de requête v2. Vous pouvez créer une connexion avec le cluster ou le groupe de travail où les données seront chargées, en utilisant le menu contextuel (clic droit). 

1. Choisissez ![\[Load\]](http://docs.aws.amazon.com/fr_fr/redshift/latest/mgmt/images/qev2-upload.png)**Load data** (Charger les données).

1. Dans **Data source** (Source de données), choisissez **Load from local file** (Charger depuis un fichier local).

1. Choisissez **Parcourir** pour rechercher le fichier qui contient les données en question et sélectionnez **Charger un fichier**. Par défaut, les fichiers portant les extensions `.csv`, `.avro`, `.parquet` et `.orc` sont affichés, mais vous pouvez choisir d’autres types de fichiers. La taille maximale du fichier est de 100 Mo.

1. Choisissez le **format de fichier** pour le fichier à charger. Les formats de données pris en charge sont CSV, JSON, DELIMITER, FIXEDWIDTH, SHAPEFILE, AVRO, PARQUET et ORC. En fonction du format de fichier spécifié, vous pouvez choisir les **options de fichier** correspondantes. Vous pouvez également sélectionner **Data is encrypted (Les données sont chiffrées)** si les données sont chiffrées et saisir l’Amazon Resource Name (ARN) de la clé KMS utilisée pour chiffrer les données.

   Si vous choisissez CSV ou DELIMITER, vous pouvez également choisir le **caractère de délimitation** et l'option **Ignorer les lignes d'en-tête** si le nombre de lignes spécifié correspond à des noms de colonnes et non à des données à charger.

1. (Facultatif) Les **paramètres avancés** prennent en charge divers **paramètres de conversion de données** et **opérations de chargement**. Saisissez ces informations si nécessaire pour votre fichier.

   Pour plus d’informations sur la conversion des données et les paramètres de chargement des données, consultez [Paramètres de conversion de données](https://docs.aws.amazon.com/redshift/latest/dg/copy-parameters-data-conversion.html) et [Opérations de chargement de données](https://docs.aws.amazon.com/redshift/latest/dg/copy-parameters-data-load.html) dans le *Guide du développeur de base de données Amazon Redshift*.

1. Choisissez **Suivant**.

1. Choisissez **Charger une nouvelle table**.

1. Confirmez ou choisissez l’emplacement de la **Table cible**, y compris le **Cluster ou groupe de travail**, la **Base de données** et le **Schéma** dans lequel les données sont chargées. Saisissez le nom de la **table** à créer.

1. Sélectionnez **Créer une table** pour créer la table à l'aide de la définition indiquée.

   Un résumé de la définition de la table s'affiche. La table est créée dans la base de données. Pour supprimer ultérieurement la table, exécutez la commande SQL DROP TABLE. Pour plus d'informations, consultez la section [DROP TABLE](https://docs.aws.amazon.com/redshift/latest/dg/r_DROP_TABLE) dans le *Guide du développeur de la base de données Amazon Redshift*.

1. Choisissez **Load data (Charger les données)** pour démarrer le chargement des données.

   Lorsque le chargement est terminé, un message s'affiche pour indiquer si le chargement a réussi ou non. En cas de succès, vous pouvez désormais utiliser SQL pour sélectionner des données à partir de la table chargée. En cas d'erreur, interrogez la vue système STL\$1LOAD\$1ERRORS pour obtenir plus de détails. Pour plus d’informations sur les erreurs de commande COPY, consultez [STL\$1LOAD\$1ERRORS](https://docs.aws.amazon.com/redshift/latest/dg/r_STL_LOAD_ERRORS.html) dans le *Guide du développeur de la base de données Amazon Redshift*.

   Le modèle de commande COPY qui a servi à charger les données apparaît dans votre **Query history** (Historique des requêtes). Si ce modèle de commande COPY présente certains des paramètres utilisés, il ne peut pas être exécuté directement dans un onglet de l'éditeur. Pour en savoir plus sur l’historique des requêtes, consultez [Afficher l’historique des requêtes et des onglets](query-editor-v2-history.md).

# Création de requêtes avec Amazon Redshift
<a name="query-editor-v2-query-run"></a>

Vous pouvez saisir une requête dans l’éditeur ou sélectionner une requête enregistrée dans la liste **Queries (Requêtes)** et choisir **Run (Exécuter)**.

Par défaut, **Limit 100 (Limite de 100)** est défini pour limiter les résultats à 100 lignes. Vous pouvez désactiver cette option pour renvoyer un ensemble de résultats plus important. Si vous désactivez cette option, vous pouvez inclure l’option LIMIT dans votre instruction SQL, si vous souhaitez éviter des ensembles de résultats très volumineux. Pour plus d’informations, consultez [ORDER BY clause (Clause ORDER BY)](https://docs.aws.amazon.com/redshift/latest/dg/r_ORDER_BY_clause.html) dans le *Guide du développeur de bases de données Amazon Redshift*.

Pour afficher un plan de requête dans la zone de résultats, activez **Explain (Expliquer)**. Activez **Explain graph** (Graphique d’explication) pour que les résultats affichent également une représentation graphique du plan d’explication.

Pour enregistrer une requête dans le dossier **Queries (Requêtes)**, choisissez **Save (Enregistrer)**.

Dans le cas d’une requête réussie, un message de réussite s’affiche. Si la requête renvoie des informations, les résultats s’affichent dans la section **Results (Résultats)**. Si le nombre de résultats dépasse la zone d’affichage, les chiffres apparaissent en haut de cette dernière. Vous pouvez choisir les chiffres pour afficher les pages de résultats successives.

Vous pouvez filtrer et trier **Result (Résultat)** pour chaque colonne. Pour entrer des critères de filtre dans l’en-tête de la colonne de résultats, survolez la colonne pour afficher un menu (![\[Filter menu\]](http://docs.aws.amazon.com/fr_fr/redshift/latest/mgmt/images/menu.png)) où vous pouvez saisir des critères pour filtrer la colonne.

Si la requête contient une erreur, l’éditeur de requête v2 affiche un message d’erreur dans la zone de résultats. Le message fournit des informations sur la façon de corriger la requête.

Vous pouvez exporter ou copier les résultats de votre requête en utilisant le menu contextuel (clic droit) dans la zone des résultats comme suit :
+ Choisissez **Copier vers** et choisissez **JSON** ou **CSV** pour télécharger les lignes sélectionnées dans un fichier.
+ Choisissez **Copier les lignes** pour copier les lignes sélectionnées dans le presse-papiers.
+ Choisissez **Copier les lignes avec les en-têtes** pour copier les lignes sélectionnées avec les en-têtes de colonne dans le presse-papiers.

Vous pouvez aussi choisir **Exporter** dans la zone des résultats, puis choisir soit **JSON** soit **CSV** pour télécharger l’ensemble des résultats de lignes dans un fichier. Le nombre de lignes dans l’ensemble de résultats peut être limité par l’option **Limit** (Limiter) ou la clause SQL `limit` de la requête. La taille maximale de l’ensemble de résultats téléchargés est de 5 Mo.

Vous pouvez également utiliser le raccourci Ctrl\$1C sur Windows ou Cmd\$1C sur macOS pour copier les données de la page de résultats actuelle dans le presse-papiers. Si aucune ligne n’est sélectionnée, la cellule sur laquelle vous vous concentrez est copiée dans le presse-papiers. Si des lignes sont sélectionnées, alors les lignes sélectionnées sont copiées dans le presse-papiers.

Pour ajouter un nouvel onglet de requête, choisissez l’icône ![\[New query tab\]](http://docs.aws.amazon.com/fr_fr/redshift/latest/mgmt/images/add-plus.png), puis **Editor** (Éditeur), qui apparaît sur la ligne avec les onglets de requête. L’onglet de requête utilise une `Isolated session` ou pas. Avec une session isolée, les résultats d’une commande SQL, telle que la création d’une table temporaire dans un onglet de l’éditeur, ne sont pas visibles dans un autre onglet de l’éditeur. Lorsque vous ouvrez un onglet d’éditeur dans l’éditeur de requête v2, l’option par défaut est une session isolée. 

**Pour exécuter une requête**

1. Dans la zone de requête, effectuez l’une des actions suivantes :
   + Saisissez une requête.
   + Collez une requête que vous avez copiée.
   + Cliquez sur l’onglet **Queries (Requêtes)**, ouvrez le menu contextuel (clic droit) d’une requête enregistrée et choisissez **Open query (Ouvrir la requête)**.

1. Confirmez que vous avez choisi les valeurs **Cluster** ou **Workgroup** (Groupe de travail) et **Database** (Base de données) correctes du SQL que vous prévoyez d’exécuter. 

   Pour commencer, vous pouvez choisir **Cluster** ou **Workgroup** (Groupe de travail) dans l’arborescence. Choisissez également votre **Database** (Base de données) dans l’arborescence.

   Vous pouvez modifier les paramètres **Cluster** ou **Groupe de travail**, et **Base de données** dans chaque onglet de l’éditeur avec la liste de contrôles déroulante située à côté de l’en-tête **Session isolée** de chaque onglet de l’éditeur.

   Pour chaque onglet de l’éditeur, vous choisissez d’exécuter ou non le code SQL dans une **Isolated session** (Session isolée). Une session isolée possède sa propre connexion à une base de données. Utilisez-la pour exécuter du code SQL isolé des autres sessions de l’éditeur de requête. Pour plus d’informations sur les connexions, consultez [Ouverture de l’éditeur de requête v2](query-editor-v2-open.md).

1. Cliquez sur **Exécuter**.

   La zone **Result (Résultat)** s’ouvre et affiche les résultats de la requête.

**Pour afficher le plan d’explication d’une requête**

1. Sélectionnez la requête.

1. Activez **Explain (Expliquer)**.

   Par défaut, l’option **Explain graph (Graphique d’explication)** est également activée.

1. Cliquez sur **Exécuter**.

   La requête s’exécute et le plan d’explication s’affiche dans la zone **Result (Résultat)** de la requête.

L’éditeur de requête v2 prend en charge les fonctionnalités suivantes :
+ Vous pouvez créer des requêtes avec plusieurs instructions SQL dans un onglet de requête. Les requêtes sont exécutées en série et plusieurs onglets de résultats s’ouvrent pour chaque requête. 
+ Vous pouvez créer des requêtes avec des variables de séance et des tables temporaires.
+ Vous pouvez créer des requêtes avec des paramètres remplaçables désignés par `${parameter}`. Vous pouvez créer votre requête SQL avec plusieurs paramètres remplaçables et utiliser le même paramètre à plusieurs endroits de votre instruction SQL. 

  Lorsque la requête s’exécute, une fenêtre s’affiche pour saisir la valeur du paramètre. Chaque fois que vous exécutez la requête, la fenêtre s’affiche pour entrer les valeurs de vos paramètres. 

  Pour obtenir un exemple, consultez [Exemple : ventes supérieures à un paramètre spécifique](#query-editor-v2-example-sales-qtysold-greater-than-parameter). 
+ Les requêtes sont versionnées automatiquement. Vous pouvez choisir une version antérieure d’une requête à exécuter.
+ Vous n’avez pas besoin d’attendre la fin d’une requête avant de poursuivre votre flux de travail. Vos requêtes continuent de s’exécuter, même si vous fermez l’éditeur de requête.
+ Lors de la création de requêtes, l’achèvement automatique des noms de schéma, de table et de colonne est pris en charge à l’aide d’un raccourci.

L’éditeur SQL prend en charge les fonctionnalités suivantes :
+ Les crochets de début et de fin utilisés dans SQL ont des couleurs identiques. Des lignes verticales sont affichées dans l’éditeur pour vous aider à faire correspondre les crochets.
+ Vous pouvez réduire et développer des sections de votre code SQL. 
+ Vous pouvez rechercher et remplacer du texte dans votre SQL.
+ Vous pouvez utiliser les touches de raccourci pour plusieurs tâches d’édition courantes.
+ Les erreurs SQL sont mises en surbrillance dans l’éditeur pour faciliter la localisation des zones problématiques.

Pour une démonstration des fonctionnalités de l’éditeur, regardez la vidéo suivante. 

[![AWS Videos](http://img.youtube.com/vi/https://www.youtube.com/embed/9JAq0yDs0YE/0.jpg)](http://www.youtube.com/watch?v=https://www.youtube.com/embed/9JAq0yDs0YE)


## Exemples de requêtes
<a name="query-editor-v2-examples"></a>

Vous trouverez ci-après les descriptions des différents types de requêtes que vous pouvez exécuter. 

Les données utilisées dans bon nombre de ces requêtes proviennent de l’exemple de schéma `tickit`. Pour plus d’informations sur le chargement des exemples de données `tickit`, consultez [Chargement de données dans une base de données](query-editor-v2-loading.md). Pour plus d’informations sur les exemples de données `tickit`, consultez [Exemple de base de données](https://docs.aws.amazon.com/redshift/latest/dg/c_sampledb.html) dans le *Guide du développeur de base de données Amazon Redshift*.

Lorsque vous exécutez ces exemples de requêtes, confirmez que vous choisissez la base de données appropriée dans l’éditeur, telle que `sample_data_dev`.

**Topics**
+ [Exemple : définition de variables de séance](#query-editor-v2-example-set-session-variable)
+ [Exemple : événement le plus important par ventes totales](#query-editor-v2-example-top-event-sales)
+ [Exemple : ventes supérieures à un paramètre spécifique](#query-editor-v2-example-sales-qtysold-greater-than-parameter)
+ [Exemple : créer une table temporaire](#query-editor-v2-example-create-temporary-table)
+ [Exemple : sélection à partir d’une table temporaire](#query-editor-v2-example-select-from-temporary-table)

### Exemple : définition de variables de séance
<a name="query-editor-v2-example-set-session-variable"></a>

La commande suivante définit le paramètre de configuration du serveur `search_path` sur *public* pour la séance. Pour plus d’informations, consultez [SET](https://docs.aws.amazon.com/redshift/latest/dg/r_SET.html) et [search\$1path](https://docs.aws.amazon.com/redshift/latest/dg/r_search_path.html) dans le *Guide du développeur de bases de données Amazon Redshift*. 

```
set search_path to public;
```

### Exemple : événement le plus important par ventes totales
<a name="query-editor-v2-example-top-event-sales"></a>

La requête suivante recherche l’événement ayant le plus de ventes. 

```
select eventname, count(salesid) totalorders, sum(pricepaid) totalsales
from sales, event
where sales.eventid=event.eventid
group by eventname
order by 3;
```

Voici une liste partielle des résultats.

```
eventname           totalorders       totalsales
White Christmas         20              9352
Joshua Radin            38             23469
Beach Boys              58             30383
Linda Ronstadt          56             35043
Rascal Flatts           76             38214
Billy Idol              67             40101
Stephenie Meyer         72             41509
Indigo Girls            57             45399
...
```

### Exemple : ventes supérieures à un paramètre spécifique
<a name="query-editor-v2-example-sales-qtysold-greater-than-parameter"></a>

La requête suivante recherche les ventes dont la quantité vendue est supérieure au paramètre spécifié par `${numberoforders}`. Lorsque la valeur du paramètre est `7`, le résultat est de 60 lignes. Lorsque vous exécutez la requête, l’éditeur de requête v2 affiche une fenêtre **Run query form (Exécuter un formulaire de requête)** pour rassembler la valeur des paramètres dans l’instruction SQL. 

```
select salesid, qtysold
from sales 
where qtysold > ${numberoforders}
order by 2;
```

Voici une liste partielle des résultats.

```
salesid	qtysold
20005	8
21279	8
130232	8
42737	8
74681	8
67103	8
105533	8
91620	8
121552	8
...
```

### Exemple : créer une table temporaire
<a name="query-editor-v2-example-create-temporary-table"></a>

L’instruction suivante crée la table temporaire *eventsalestemp* en sélectionnant des informations dans les tables *sales (ventes)* et *event (événement)*. 

```
create temporary table eventsalestemp as
select eventname, count(salesid) totalorders, sum(pricepaid) totalsales
from sales, event
where sales.eventid=event.eventid
group by eventname;
```

### Exemple : sélection à partir d’une table temporaire
<a name="query-editor-v2-example-select-from-temporary-table"></a>

L’instruction suivante sélectionne les événements, le total des commandes et le total des ventes à partir de la table temporaire *eventsalestemp*, ordonnés par nombre total de commandes. 

```
select eventname,  totalorders,  totalsales
from eventsalestemp
order by 2;
```

Voici une liste partielle de résultats :

```
eventname          totalorders   totalsales
White Christmas        20          9352
Joshua Radin           38         23469
Martina McBride        50         52932
Linda Ronstadt         56         35043
Indigo Girls           57         45399
Beach Boys             58         30383
...
```

# Carnets de notes dans Amazon Redshift
<a name="query-editor-v2-notebooks"></a>

Vous pouvez utiliser des blocs-notes pour organiser, annoter et partager plusieurs requêtes SQL dans un même document. Vous pouvez ajouter plusieurs cellules Markdown et de requête SQL à un bloc-notes. Les blocs-notes permettent de regrouper des requêtes et des explications associées à une analyse de données dans un seul document à l’aide de plusieurs cellules de requête et Markdown. Vous pouvez ajouter du texte et mettre en forme l’apparence à l’aide de la syntaxe Markdown pour fournir du contexte et des informations supplémentaires pour vos tâches d’analyse de données. Vous pouvez partager vos blocs-notes avec les membres de l’équipe.

Pour utiliser des blocs-notes, vous devez ajouter une autorisation pour les blocs-notes à votre principal IAM (utilisateur IAM ou rôle IAM). Il est recommandé d’associer des politiques d’autorisation à un rôle IAM, puis de l’attribuer à des utilisateurs et à des groupes, le cas échéant. Pour plus d’informations, consultez [Identity and Access Management dans Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/mgmt/redshift-iam-authentication-access-control.html). Vous pouvez ajouter l’autorisation à l’une des politiques gérées par l’éditeur de requêtes v2. Pour de plus amples informations, veuillez consulter [Accès à l’éditeur de requête v2](query-editor-v2-getting-started.md#query-editor-v2-configure).

Vous pouvez exécuter toutes les cellules d'un bloc-notes de manière séquentielle. La cellule de requête SQL d’un bloc-notes possède la plupart des mêmes fonctionnalités qu’un onglet d’éditeur de requêtes. Pour de plus amples informations, veuillez consulter [Création de requêtes avec Amazon Redshift](query-editor-v2-query-run.md). Voici les différences entre un onglet d’éditeur de requêtes et une cellule SQL dans un bloc-notes.
+ Il n’existe aucun contrôle pour exécuter `Explain` sur une instruction SQL dans un bloc-notes.
+ Vous ne pouvez créer qu’un seul graphique par cellule SQL dans un bloc-notes.

Vous pouvez exporter et importer des bloc-notes dans des fichiers créés avec l’éditeur de requête v2. L’extension de fichier est `.ipynb` et la taille du fichier peut atteindre 5 Mo au maximum. Les cellules SQL et Markdown sont stockées dans le fichier. Aucun cluster ou groupe de travail ni base de données ne sont stockés dans le bloc-notes exporté. Lorsque vous ouvrez un bloc-notes importé, vous choisissez le cluster ou le groupe de travail et la base de données dans laquelle l’exécuter. Après avoir exécuté des cellules SQL, vous pouvez choisir d’afficher ou non la page actuelle des résultats sous forme de graphique dans l’onglet des résultats. Le jeu de résultats d’une requête n’est pas stocké dans le bloc-notes.

# Création d'un bloc-notes
<a name="query-editor-v2-notebooks-create"></a>

Vous pouvez créer un bloc-notes pour organiser, annoter et partager plusieurs requêtes SQL dans un seul document. 

**Pour créer un bloc-notes**

1. Dans le menu du navigateur, choisissez l'icône de l'éditeur (![\[Horizontal lines representing redacted or censored text.\]](http://docs.aws.amazon.com/fr_fr/redshift/latest/mgmt/images/qev2-align-left.png)).

1. Cliquez sur l'icône plus (![\[Plus sign icon representing an addition or new item action.\]](http://docs.aws.amazon.com/fr_fr/redshift/latest/mgmt/images/add-plus.png)), puis sur Carnet de **notes**.

   Par défaut, une cellule de requête SQL apparaît dans le bloc-notes.

1. Dans la cellule de requête SQL, effectuez l’une des actions suivantes :
   + Saisissez une requête.
   + Collez une requête que vous avez copiée.

1. (Facultatif) Choisissez l'icône plus (![\[Plus sign icon representing an addition or new item action.\]](http://docs.aws.amazon.com/fr_fr/redshift/latest/mgmt/images/add-plus.png)), puis choisissez **Markdown** pour ajouter une cellule Markdown dans laquelle vous pouvez fournir un texte descriptif ou explicatif en utilisant la syntaxe Markdown standard. 

1. (Facultatif) Choisissez l'icône plus (![\[Plus sign icon representing an addition or new item action.\]](http://docs.aws.amazon.com/fr_fr/redshift/latest/mgmt/images/add-plus.png)), puis sélectionnez **SQL** pour insérer une cellule SQL. 

Vous pouvez renommer les blocs-notes à l'aide de l'icône en forme de crayon ()![\[Pencil icon representing an editing or writing function.\]](http://docs.aws.amazon.com/fr_fr/redshift/latest/mgmt/images/qev2-edit.png).

À partir de l'icône du menu (![\[Three dots arranged horizontally, representing an ellipsis or "more" menu icon.\]](http://docs.aws.amazon.com/fr_fr/redshift/latest/mgmt/images/qev2-more.png)), vous pouvez également effectuer les opérations suivantes sur un bloc-notes :
+ ![\[Share\]](http://docs.aws.amazon.com/fr_fr/redshift/latest/mgmt/images/qev2-share.png) **Share with my team** (Partager avec mon équipe) : pour partager le bloc-notes avec votre équipe, tel que défini par des balises. Pour partager un bloc-notes avec votre équipe, assurez-vous que la balise principale `sqlworkbench-team` est définie sur la même valeur que les autres membres de votre équipe dans votre compte. Par exemple, un administrateur peut définir la valeur sur `accounting-team` pour tous les membres du service comptable. Pour obtenir un exemple, consultez [Autorisations requises pour utiliser l’éditeur de requête v2](redshift-iam-access-control-identity-based.md#redshift-policy-resources.required-permissions.query-editor-v2).
+ ![\[Export\]](http://docs.aws.amazon.com/fr_fr/redshift/latest/mgmt/images/qev2-export.png) **Export** (Exporter) : pour exporter le bloc-notes vers un fichier local portant l’extension `.ipynb`.
+ ![\[Import query\]](http://docs.aws.amazon.com/fr_fr/redshift/latest/mgmt/images/qev2-import.png)**Importer une requête** : pour importer une requête d'un fichier local dans une cellule du bloc-notes. Vous pouvez importer des fichiers avec `.sql` des `.txt` extensions.
+  ![\[Save\]](http://docs.aws.amazon.com/fr_fr/redshift/latest/mgmt/images/qev2-floppy-disk.png) **Save version** (Enregistrer la version) : pour créer une version du bloc-notes. Pour voir les versions d’un bloc-notes, accédez à vos blocs-notes enregistrés et ouvrez **Version history** (Historique des versions).
+  ![\[Duplicate\]](http://docs.aws.amazon.com/fr_fr/redshift/latest/mgmt/images/qev2-duplicate.png) **Duplicate** (Dupliquer) : pour créer une copie du bloc-notes et l’ouvrir dans un nouvel onglet de bloc-notes. 
+  ![\[Shortcuts\]](http://docs.aws.amazon.com/fr_fr/redshift/latest/mgmt/images/qev2-key-command.png) **Shortcuts** (Raccourcis) : pour afficher les raccourcis disponibles lors de la création d’un bloc-notes. 

# Importation dans des blocs-notes
<a name="query-editor-v2-notebooks-import"></a>

Vous pouvez importer un bloc-notes complet ou des cellules SQL individuelles dans un bloc-notes de l'éditeur de requêtes v2.

Pour importer un bloc-notes complet à partir d'un fichier local dans **Mes blocs-notes**, choisissez ![\[Import\]](http://docs.aws.amazon.com/fr_fr/redshift/latest/mgmt/images/qev2-import.png) **Importer, puis Importer** un **bloc-notes**. Accédez au `.ipynb` fichier contenant votre bloc-notes. Le bloc-notes est importé dans le dossier du bloc-notes actuellement ouvert. Vous pouvez ensuite ouvrir le bloc-notes dans l’éditeur de bloc-notes.

Pour importer une requête d'un fichier local dans une cellule SQL d'un bloc-notes, choisissez ![\[Import\]](http://docs.aws.amazon.com/fr_fr/redshift/latest/mgmt/images/qev2-import.png) **Importer**, puis **Importer une requête**. Dans la fenêtre **Importer une requête**, suivez les instructions affichées à l'écran pour choisir les fichiers et les dossiers qui peuvent être importés sous forme de requête dans un nouveau bloc-notes ou un bloc-notes existant. Les fichiers doivent porter l'extension `.sql` ou`.txt`. Chaque requête peut comporter jusqu'à 10 000 caractères. Lorsque vous ajoutez un bloc-notes à un bloc-notes existant, vous choisissez quel bloc-notes parmi tous les blocs-notes de votre liste de **blocs-notes enregistrés**. Les requêtes importées sont ajoutées sous forme de cellules SQL à la fin du bloc-notes. Lorsque vous choisissez un nouveau bloc-notes, vous choisissez le nom du bloc-notes et celui-ci est créé dans le dossier des blocs-notes enregistrés actuellement ouvert. 

**Note**  
Lorsque vous créez `.sql` des fichiers sur macOS à l'aide de l' TextEditapplication, il se peut qu'une extension masquée supplémentaire soit ajoutée au fichier. Par exemple, un fichier nommé `Test.sql` créé dans TextEdit peut finir par être enregistré sous`Test.sql.rtf`. L'éditeur de requêtes v2 ne prend pas en charge les fichiers portant l'`.rtf`extension. Toutefois, si vous créez un `.sql` fichier à l'aide TextEdit d'un fichier texte brut et que vous l'enregistrez sous forme de fichier texte brut, le fichier possède une `.txt` extension masquée supplémentaire. Par exemple, un fichier nommé `Text.sql` peut être enregistré sous`Text.sql.txt`. Contrairement à l'`.rtf`extension, l'éditeur de requêtes v2 prend en charge les fichiers portant cette `.txt` extension. `Text.sql.txt` Il est donc pris en charge lors de l'importation de requêtes dans des blocs-notes.

Pour une démonstration de carnets de notes, regardez la vidéo suivante. 

[![AWS Videos](http://img.youtube.com/vi/https://www.youtube.com/embed/GNahyu7j98M/0.jpg)](http://www.youtube.com/watch?v=https://www.youtube.com/embed/GNahyu7j98M)


# Interrogation du AWS Glue Data Catalog
<a name="query-editor-v2-glue"></a>

Vous pouvez utiliser l'éditeur de requêtes v2 pour interroger les données cataloguées dans votre répertoire en AWS Glue Data Catalog utilisant des commandes SQL spécifiques et en accordant les autorisations décrites dans cette section. Par défaut, le  AWS Glue Data Catalog  est répertorié en tant que base de données de l'éditeur de requête v2 nommée`awsdatacatalog`. La fonctionnalité d'interrogation du AWS Glue Data Catalog  n'est pas disponible dans toutes les Régions AWS Amazon Redshift. Pour savoir si elle est disponible, utilisez la commande SHOW. Pour plus d'informations AWS Glue, voir [Qu'est-ce que c'est AWS Glue ?](https://docs.aws.amazon.com/glue/latest/dg/what-is-glue.html) dans le *Guide AWS Glue du développeur*.

**Note**  
L'interrogation n' AWS Glue Data Catalog est prise en charge que dans les clusters de type nœud Amazon RA3 Redshift et Amazon Redshift Serverless.

Vous pouvez configurer votre entrepôt de données et afficher les objets de AWS Glue base de données catalogués à l'aide des commandes SQL suivantes :
+ SHOW – pour déterminer si le `awsdatacatalog` est monté pour l'entrepôt de données actuellement connecté. Par exemple, pour afficher la valeur du paramètre `data_catalog_auto_mount`, exécutez :

  ```
  SHOW data_catalog_auto_mount;
  ```

  Pour en savoir plus, consultez [SHOW](https://docs.aws.amazon.com/redshift/latest/dg/r_SHOW.html) dans le *Guide du développeur de base de données Amazon Redshift*.
+ ALTER SYSTEM – pour modifier la configuration au niveau du système de `data_catalog_auto_mount`. Par exemple, pour faire passer la valeur du paramètre `data_catalog_auto_mount` à `on`, exécutez :

  ```
  ALTER SYSTEM SET data_catalog_auto_mount = on;
  ```

  La modification prend effet lorsqu'un cluster provisionné est redémarré ou que l'activité d'un groupe de travail sans serveur est automatiquement suspendue puis reprise. Pour en savoir plus, consultez [ALTER SYSTEM](https://docs.aws.amazon.com/redshift/latest/dg/r_ALTER_SYSTEM.html) dans le *Guide du développeur de base de données Amazon Redshift*.
+ SHOW SCHEMAS – affiche une liste de schémas. Les schémas de la base de données nommée `awsdatacatalog` représentent les AWS Glue bases de données cataloguées dans le. AWS Glue Data Catalog Par exemple, pour afficher ces schémas, exécutez :

  ```
  SHOW SCHEMAS FROM DATABASE awsdatacatalog;
  ```

  Pour en savoir plus, consultez [SHOW SCHEMAS](https://docs.aws.amazon.com/redshift/latest/dg/r_SHOW_SCHEMAS.html) dans le *Guide du développeur de base de données Amazon Redshift*.
+ SHOW TABLES – affiche la liste des tables d'un schéma. Par exemple, pour afficher les tables de la AWS Glue Data Catalog base de données nommée `awsdatacatalog` qui sont dans le schéma, `myglue` exécutez :

  ```
  SHOW TABLES FROM SCHEMA awsdatacatalog.myschema;
  ```

  Pour en savoir plus, consultez [SHOW TABLES](https://docs.aws.amazon.com/redshift/latest/dg/r_SHOW_TABLES.html) dans le *Guide du développeur de base de données Amazon Redshift*.
+ SHOW COLUMNS – affiche la liste des colonnes d'une table. Par exemple, pour afficher les colonnes de la AWS Glue Data Catalog base de données nommée `awsdatacatalog` qui figurent dans le schéma `myglue` et la table, `mytable` exécutez :

  ```
  SHOW COLUMNS FROM TABLE awsdatacatalog.myglue.mytable;
  ```

  Pour en savoir plus, consultez [SHOW COLUMNS](https://docs.aws.amazon.com/redshift/latest/dg/r_SHOW_COLUMNS.html) dans le *Guide du développeur de base de données Amazon Redshift*.

**Pour accorder à votre utilisateur ou rôle IAM l'autorisation d'interroger le AWS Glue Data Catalog**

1. Dans le volet d'arborescence, connectez-vous à votre base de données initiale dans votre cluster provisionné ou votre groupe de travail sans serveur en utilisant la méthode d'authentification **Nom d'utilisateur et mot de passe de la base de données**. Par exemple, connectez-vous à la base de données `dev` en utilisant le nom d'utilisateur et le mot de passe d'administrateur que vous avez utilisés au moment de créer le cluster ou le groupe de travail.

1. Dans un onglet de l'éditeur, exécutez l'instruction SQL suivante pour accorder à un utilisateur IAM l'accès au AWS Glue Data Catalog.

   ```
   GRANT USAGE ON DATABASE awsdatacatalog to "IAM:myIAMUser"
   ```

   Où se *IAM:myIAMUser* trouve un utilisateur IAM auquel vous souhaitez accorder des privilèges d'utilisation à. AWS Glue Data Catalog Vous pouvez également accorder un privilège d'utilisation *IAMR:myIAMRole* à un rôle IAM.

1. Dans le volet d'arborescence, modifiez ou supprimez la connexion au cluster ou groupe de travail que vous avez créé précédemment. Connectez-vous à votre cluster ou groupe de travail de l'une des manières suivantes :
   + Pour accéder à la base de données `awsdatacatalog` à partir d'un cluster, vous devez utiliser la méthode d'authentification **Informations d'identification temporaires utilisant votre identité IAM**. Pour en savoir plus sur cette méthode d'authentification, consultez [Connexion à une base de données Amazon Redshift](query-editor-v2-connecting.md). Votre administrateur de l'éditeur de requête v2 devra peut-être configurer les **Paramètres du compte** pour que le compte affiche cette méthode d'authentification dans la fenêtre de connexion.
   + Pour accéder à la base de données `awsdatacatalog` à partir d'un groupe de travail, vous devez utiliser la méthode d'authentification **Utilisateur fédéré**. Pour en savoir plus sur cette méthode d'authentification, consultez [Connexion à une base de données Amazon Redshift](query-editor-v2-connecting.md).

1. Avec le privilège accordé, vous pouvez utiliser votre identité IAM pour exécuter des requêtes SQL sur votre AWS Glue Data Catalog.

Après vous être connecté, vous pouvez utiliser l'éditeur de requête v2 pour interroger les données cataloguées dans AWS Glue Data Catalog. Dans le volet d'arborescence de l'éditeur de requête v2, choisissez le cluster ou le groupe de travail et la base de données `awsdatacatalog`. Dans le volet de l'éditeur ou du bloc-notes, vérifiez que le cluster ou le groupe de travail approprié est sélectionné. La base de données choisie doit être la base de données Amazon Redshift initiale, comme `dev`. Pour en savoir plus sur la création de requêtes, consultez [Création de requêtes avec Amazon Redshift](query-editor-v2-query-run.md) et [Carnets de notes dans Amazon RedshiftBlocs-notes](query-editor-v2-notebooks.md). La base de données nommée `awsdatacatalog` est réservée pour référencer la base de données du catalogue de données externe dans votre compte. Les requêtes exécutées sur la base de données `awsdatacatalog` peuvent être uniquement en lecture seule. Utilisez une notation en trois parties pour référencer la table dans votre instruction SELECT, Où la première partie est le nom de la base de données, la deuxième partie est le nom AWS Glue de la base de données et la troisième partie est le nom de la AWS Glue table.

```
SELECT * FROM awsdatacatalog.<aws-glue-db-name>.<aws-glue-table-name>;
```

Vous pouvez exécuter différents scénarios pour lire les AWS Glue Data Catalog données et remplir les tables Amazon Redshift.

L'exemple de code SQL suivant joint deux tables définies dans AWS Glue.

```
SELECT pn.emp_id, alias, role, project_name 
FROM "awsdatacatalog"."empl_db"."project_name_table" pn, 
"awsdatacatalog"."empl_db"."project_alias_table" pa
WHERE pn.emp_id = pa.emp_id;
```

L'exemple de code SQL suivant crée une table Amazon Redshift et la remplit avec les données d'une jointure de deux tables. AWS Glue 

```
CREATE TABLE dev.public.glue AS
SELECT pn.emp_id, alias, role, project_name 
FROM "awsdatacatalog"."empl_db"."project_name_table" pn, 
"awsdatacatalog"."empl_db"."project_alias_table" pa
WHERE pn.emp_id = pa.emp_id;
```

## Interrogation des tables Amazon S3 (version préliminaire)
<a name="query-editor-v2-glue-s3-tables"></a>

Vous pouvez utiliser l'éditeur de requêtes v2 pour interroger les données contenues dans les catalogues Amazon S3 Table montés sur le. AWS Glue Data Catalog Les catalogues de tables Amazon S3 sont montés dès leur création et apparaissent automatiquement sous forme de bases de données externes sur tous les clusters provisionnés et les groupes de travail sans serveur au sein d'un même cluster Région AWS sous le même compte. AWS Glue Data Catalog Pour plus d'informations sur l'accès aux tables Amazon S3 à l'aide d'Amazon Redshift, consultez la section [Accès aux tables Amazon S3 avec Amazon Redshift](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-tables-integrating-redshift.html) dans le guide de l'utilisateur d'Amazon Simple Storage Service.

# Interrogation d'un lac de données
<a name="query-editor-v2-querying-data-lake"></a>

Vous pouvez interroger des données dans un lac de données Amazon S3 en suivant l’ensemble des tâches décrites dans ce didacticiel. Tout d'abord, vous créez un schéma externe pour référencer la base de données externe dans le [AWS Glue Data Catalog](https://docs.aws.amazon.com/glue/latest/dg/components-overview.html#data-catalog-intro). Vous pouvez ensuite interroger des données dans le lac de données Amazon S3.

## Démo : interroger un lac de données
<a name="query-editor-v2-example-data-lake-demo"></a>

Pour savoir comment interroger un lac de données, regardez la vidéo suivante.

[![AWS Videos](http://img.youtube.com/vi/https://www.youtube.com/embed/-pyy0qNmEKo/0.jpg)](http://www.youtube.com/watch?v=https://www.youtube.com/embed/-pyy0qNmEKo)


## Conditions préalables
<a name="query-editor-v2-querying-data-lake-prerequisites"></a>

Avant d'utiliser votre lac de données dans l'éditeur de requête v2, confirmez que les éléments suivants ont été configurés dans votre environnement Amazon Redshift :
+ Explorez vos données Amazon S3 en utilisant AWS Glue et activez votre catalogue de données pour AWS Lake Formation.
+ Créez un rôle IAM pour Amazon Redshift à l'aide AWS Glue du catalogue de données activé pour. AWS Lake Formation Pour plus de détails sur cette procédure, consultez [Pour créer un rôle IAM pour Amazon Redshift à l'aide AWS Glue Data Catalog d'un](https://docs.aws.amazon.com/redshift/latest/dg/c-getting-started-using-spectrum-create-role.html#spectrum-get-stared-create-role-lake-formation) pour activé pour. AWS Lake Formation Pour plus d'informations sur l'utilisation de Redshift Spectrum et de Lake Formation, consultez la section Utilisation de [Redshift](https://docs.aws.amazon.com/redshift/latest/dg/spectrum-lake-formation.html) Spectrum avec. AWS Lake Formation
+ Vous accordez des autorisations SELECT sur la table à interroger dans la base de données Lake Formation. Pour plus de détails sur cette procédure, consultez [Pour accorder les autorisations SELECT sur la table à interroger dans la base de données Lake Formation](https://docs.aws.amazon.com/redshift/latest/dg/c-getting-started-using-spectrum-create-role.html#spectrum-get-started-grant-lake-formation-table).

  Vous pouvez vérifier dans la console Lake Formation (https://console.aws.amazon.com/lakeformation/), section **Permissions**, page des **autorisations du Data Lake**, que le rôle IAM, la AWS Glue base de données et les tables disposent des autorisations appropriées.
+ Confirmez que votre utilisateur connecté dispose des autorisations nécessaires pour créer des schémas dans la base de données Amazon Redshift et accéder aux données de votre lac de données. Lorsque vous vous connectez à une base de données dans l'éditeur de requête v2, vous choisissez une méthode d'authentification qui inclut des informations d'identification, qui peuvent être un utilisateur de la base de données ou un utilisateur IAM. L'utilisateur connecté doit disposer des autorisations et des privilèges de base de données appropriés, tels qu'un `superuser`. L'utilisateur `admin` Amazon Redshift qui a créé le cluster ou le groupe de travail dispose de privilèges de `superuser` et peut créer des schémas et gérer la base de données Redshift. Pour plus d'informations sur la connexion à une base de données avec l'éditeur de requête v2, consultez [Connexion à une base de données Amazon Redshift](query-editor-v2-connecting.md).

## Création d'un schéma externe
<a name="query-editor-v2-create-external-schema"></a>

Pour interroger les données d'un lac de données Amazon S3, commencez par créer un schéma externe. Le schéma externe référence la base de données externe dans le [AWS Glue Data Catalog](https://docs.aws.amazon.com/glue/latest/dg/components-overview.html#data-catalog-intro).

1. Dans la vue **Éditeur** de l'éditeur de requête v2, choisissez ![\[Create\]](http://docs.aws.amazon.com/fr_fr/redshift/latest/mgmt/images/qev2-add.png)**Créer**, puis **Schéma**.

1. Saisissez un **nom de schéma**.

1. Pour le **Type de schéma**, choisissez **Externe**.

1. Dans les détails du **catalogue de données**, la **région** correspond par défaut à l' Région AWS emplacement de votre base de données Redshift.

1. Choisissez la **AWS Glue base de données** à laquelle le schéma externe sera mappé et qui contient des références aux AWS Glue tables.

1. Choisissez un **rôle IAM** pour Amazon Redshift qui dispose des autorisations requises pour interroger des données sur Amazon S3.

1. Vous pouvez éventuellement choisir un **rôle IAM** autorisé à accéder au catalogue de données.

1. Choisissez **Create schema (Créer un schéma)**.

   Le schéma apparaît sous votre base de données dans l'arborescence.

Lors de la création du schéma, si vous recevez une erreur d'autorisation refusée pour votre base de données, vérifiez si l'utilisateur connecté a le privilège de base de données pour créer un schéma.

## Interrogation des données dans votre lac de données Amazon S3
<a name="query-editor-v2-query-data-lake"></a>

Vous utilisez le schéma que vous avez créé dans la procédure précédente. 

1. Dans le panneau de l'arborescence, sélectionnez le schéma.

1. Pour afficher une définition de tableau, choisissez un tableau. Les colonnes du tableau et les types de données s’affichent.

1. Pour interroger une table, sélectionnez la table et, dans le menu contextuel (clic droit), choisissez **Sélectionner une table** pour générer une requête.

1. Exécutez la requête dans l'**éditeur**.

   L'exemple de code SQL suivant a été généré par l'éditeur de requêtes v2 pour interroger toutes les lignes de la AWS Glue table nommée`flightscsv`. Les colonnes et les lignes affichées dans le résultat sont tronquées par souci de simplicité.

   ```
   SELECT * FROM "dev"."mydatalake_schema"."flightscsv";
                           
   year    quarter   month   dom  day_of_week   fl_date    unique_carrier  airline_id   carrier   tail_num   fl_num		
   2016    4         10      19   3             10/19/16   OO              20304        OO         N753SK    3086	 
   2016    4         10      19   3             10/19/16   OO              20304        OO         N753SK    3086	
   2016    4         10      19   3             10/19/16   OO              20304        OO         N778SK    3087		
   2016	4         10      19   3             10/19/16   OO              20304        OO         N778SK    3087	
   ...
   ```

# Unités de partage des données
<a name="query-editor-v2-datashare-using"></a>

Vous pouvez créer une unité de partage des données afin que les utilisateurs d’un autre cluster puissent interroger les données. Le cluster contenant les données que vous souhaitez partager s’appelle le cluster *producteur*. Vous créez une unité de partage des données sur le cluster producteur pour les objets de base de données que vous souhaitez partager. Vous pouvez partager des schémas, des tables, des vues et des fonctions SQL définies par l'utilisateur ()UDFs. Le cluster auquel vous souhaitez partager les données s’appelle le cluster *consommateur*. Sur le cluster consommateur, vous créez une base de données à partir de l’unité de partage des données. Les utilisateurs sur le cluster consommateur peuvent ensuite interroger les données. Pour plus d’informations, consultez [Mise en route avec le partage de données](https://docs.aws.amazon.com/redshift/latest/dg/getting-started-datasharing.html) dans le *Guide du développeur de bases de données Amazon Redshift*.

# Création d’unités de partage des données
<a name="query-editor-v2-create-datashare"></a>

Vous créez une unité de partage des données sur le cluster que vous souhaitez utiliser en tant que cluster producteur. Pour plus d’informations sur les considérations relatives aux unités de partage des données, consultez [Considérations relatives au partage des données dans Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/dg/datashare-considerations.html) dans le *Guide du développeur de bases de données Amazon Redshift*. 

1. Choisissez la base de données sur le cluster producteur que vous souhaitez utiliser.

1. Créez l’unité de partage des données. Par exemple : 

   ```
   create datashare mysource;
   ```

1. Définissez des autorisations sur l’unité de partage des données. Par exemple : 

   ```
   grant alter, share on datashare mysource to admin;
   ```

1. Définissez des autorisations sur les objets de base de données que vous souhaitez partager. Par exemple : 

   ```
   alter datashare mysource add schema public;
   ```

   ```
   alter datashare mysource add table public.event;
   ```

1. Définissez des autorisations sur l’espace de noms du cluster consommateur pour accéder à l’unité de partage des données. Par exemple : 

   ```
   grant usage on datashare mysource to namespace '2b12345-1234-5678-9012-bb1234567890';
   ```

# Affichage des unités de partage des données
<a name="query-editor-v2-show-datashare"></a>

Vous pouvez afficher les unités de partage des données que vous avez créées sur le cluster producteur. 

1. Choisissez le cluster producteur.

1. Affichez les unités de partage des données. Par exemple : 

   ```
   show datashares;
   ```

   ```
   share_name	share_owner	source_database		consumer_database	share_type	createdate	is_publicaccessible	share_acl	producer_account	producer_namespace
   test_datashare	100		db_producer		NULL			OUTBOUND	2/15/2022		FALSE		admin		123456789012		p1234567-8765-4321-p10987654321
   ```

# Création de la base de données consommateur
<a name="query-editor-v2-datashare-consumer"></a>

Sur le cluster consommateur, vous créez une base de données à partir de l’unité de partage des données. Ces étapes décrivent comment partager des données entre deux clusters au sein d’un même compte. Pour plus d'informations sur le partage de données entre AWS comptes, consultez la section [Partage de données entre AWS comptes](https://docs.aws.amazon.com/redshift/latest/dg/across-account.html) dans le manuel *Amazon Redshift Database Developer Guide*.

Vous pouvez utiliser des commandes SQL ou le panneau d’arborescence de l’éditeur de requête v2 pour créer la base de données.

**Pour utiliser SQL**

1. Créez une base de données à partir de l’unité de partage des données pour votre compte et de l’espace de noms du cluster producteur. Par exemple : 

   ```
   create database share_db from datashare mysource of account '123456789012' namespace 'p1234567-8765-4321-p10987654321'; 
   ```

1. Définissez des autorisations pour que les utilisateurs puissent accéder à la base de données et au schéma. Par exemple : 

   ```
   grant usage on database share_db to usernames;
   ```

   ```
   grant usage on schema public to usernames;
   ```

**Pour utiliser le panneau d’arborescence de l’éditeur de requête v2**

1. Choisissez ![\[Plus sign icon inside a circle, indicating an add or create action.\]](http://docs.aws.amazon.com/fr_fr/redshift/latest/mgmt/images/qev2-add.png)**Create (Créer)**, puis **Database (Base de données)**.

1. Saisissez un **nom de base de données**.

1. (Facultatif) Sélectionnez **Users and groups (Utilisateurs et groupes)** et choisissez un **utilisateur de la base de donnée**.

1. Sélectionnez **Créer à l’aide d’une unité de partage des données**.

1. Sélectionnez l’unité de partage des données.

1. Choisissez **Créer une base de données**.

   La nouvelle base de données **datashare** (unité de partage des données) ![\[datashare\]](http://docs.aws.amazon.com/fr_fr/redshift/latest/mgmt/images/qev2-datashare.png) s’affiche dans le panneau d’arborescence de l’éditeur de requête v2.

1. Définissez des autorisations pour que les utilisateurs puissent accéder à la base de données et au schéma. Par exemple : 

   ```
   grant usage on database share_db to usernames;
   ```

   ```
   grant usage on schema public to usernames;
   ```

# Interrogation d’objets d’unité de partage des données
<a name="query-editor-v2-query-datashare"></a>

Sur le cluster consommateur, vous pouvez interroger des objets d’unité de partage des données en utilisant les noms d’objets complets exprimés avec la notation en trois parties : base de données, schéma et nom de l’objet. 

1. Dans le panneau d’arborescence de l’éditeur de requête v2, choisissez le schéma.

1. Pour afficher une définition de tableau, choisissez un tableau.

   Les colonnes du tableau et les types de données s’affichent.

1. Pour interroger un tableau, choisissez le tableau, puis utilisez le menu contextuel (clic droit) pour choisir **Select table** (Sélectionner un tableau).

1. Interrogez les tables à l’aide des commandes SELECT. Par exemple : 

   ```
   select top 10 * from test_db.public.event;
   ```

# Interrogations planifiées avec l’éditeur de requête v2
<a name="query-editor-v2-schedule-query"></a>

Avec Amazon Redshift Query Editor V2, vous pouvez automatiser les requêtes SQL pour qu’elles s’exécutent selon un planning. Les requêtes planifiées sont des instructions SQL qui s’exécutent automatiquement à des moments ou à des intervalles spécifiés, ce qui vous permet de gérer efficacement les opérations de données et les tâches d’analyse récurrentes. Vous souhaiterez peut-être planifier des requêtes si vous souhaitez rationaliser le traitement par lots, générer des rapports réguliers ou gérer des pipelines de données au sein de leur environnement Amazon Redshift. 

Les requêtes planifiées facilitent l'automatisation des flux de travail d'extraction, de transformation et de chargement (ETL), l'actualisation des tableaux de bord avec des up-to-date informations et la mise en œuvre de diverses routines de gestion des données. Les pages suivantes décrivent en détail le processus de création, de configuration et de gestion des requêtes planifiées afin d’optimiser vos charges de travail Amazon Redshift.

# Création d’une planification de requête avec l’éditeur de requête v2
<a name="query-editor-v2-schedule-query-create"></a>

Vous pouvez créer une planification en vue d'exécuter une instruction SQL avec l'éditeur de requête Amazon Redshift v2. La création d'une planification vise à exécuter l'instruction SQL aux périodes qui correspondent aux besoins de votre activité. Au moment de l'exécution de la requête planifiée, celle-ci est lancée par Amazon EventBridge et utilise l'API Amazon Redshift Data.

**Pour créer une planification afin d’exécuter une instruction SQL**

1. Dans la vue **Éditeur** ![\[Editor\]](http://docs.aws.amazon.com/fr_fr/redshift/latest/mgmt/images/qev2-align-left.png), choisissez ![\[Schedule\]](http://docs.aws.amazon.com/fr_fr/redshift/latest/mgmt/images/qev2-calendar.png) **Planification** pour créer une planification en vue d'exécuter une instruction SQL.

1. Lorsque vous définissez la planification, vous fournissez les informations suivantes.
   + Le rôle IAM qui prend les autorisations nécessaires pour exécuter la requête. Ce rôle IAM est également attaché à votre cluster ou groupe de travail.
   + Les valeurs d'authentification pour l'une AWS Secrets Manager ou l'autre des informations d'identification temporaires permettant d'autoriser l'accès à votre cluster ou groupe de travail. Ces méthodes d'authentification sont prises en charge par l'API de données. Pour plus d’informations, consultez [Authentification d’une requête planifiée](query-editor-v2-schedule-query-authentication.md).
   + Le cluster ou le groupe de travail dans lequel réside votre base de données.
   + Le nom de la table de base de données qui contient les données à interroger.
   + Nom de la requête planifiée et sa description. L'éditeur de requêtes v2 préfixe le nom de la requête planifiée que vous fournissez par « QS2 - ». L'éditeur de requête v1 ajoute le préfixe « QS- » aux noms de ses requêtes planifiées.
   + L'instruction SQL à exécuter selon la planification.
   + Les options de fréquence et de répétition de la planification ou une valeur au format cron qui définit la planification. Pour plus d'informations, consultez la section [Cron Expressions](https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/ScheduledEvents.html#CronExpressions) dans le *guide de l'utilisateur Amazon CloudWatch Events*.
   + Si nécessaire, vous pouvez activer des notifications Amazon SNS standard pour surveiller la requête planifiée. Vous serez peut-être amené à confirmer l'adresse e-mail que vous avez fournie à la notification Amazon SNS. Vérifiez dans votre e-mail s'il existe un lien destiné à confirmer l'adresse e-mail pour la notification Amazon SNS. Pour en savoir plus, consultez [Notifications par e-mail](https://docs.aws.amazon.com/sns/latest/dg/sns-email-notifications.html) dans le *Guide du développeur Amazon Simple Notification Service*. Si votre requête est en cours d'exécution mais que vous ne voyez aucun message publié dans votre rubrique SNS, consultez [Ma règle s'exécute, mais je ne vois aucun message publié dans ma rubrique Amazon SNS](https://docs.aws.amazon.com/eventbridge/latest/userguide/eventbridge-troubleshooting.html#eb-no-messages-published-sns) dans le guide de l'utilisateur * EventBridge Amazon*.

1. Choisissez **Planifier une requête** pour enregistrer et activer la planification et ajouter celle-ci à la liste des requêtes dans la vue **Requêtes planifiées**.

La vue **Requêtes planifiées** ![\[Scheduled queries\]](http://docs.aws.amazon.com/fr_fr/redshift/latest/mgmt/images/qev2-calendar.png) liste toutes les requêtes planifiées pour vos clusters et groupes de travail. Cette vue vous permet d'afficher les détails de la requête planifiée, d'activer ou de désactiver la planification, de modifier la planification et de supprimer la requête planifiée. Lorsque vous examinez les détails d'une requête, vous pouvez aussi consulter l'historique de ses exécutions dans le cadre de la planification.

**Note**  
Une exécution de requête planifiée ne reste disponible dans la liste **Historique de planification** que 24 heures. Les requêtes qui s'exécutent selon une planification ne figurent pas dans la vue **Historique des requêtes** de l'éditeur de requête v2

## Démonstration de la planification d'une requête
<a name="query-editor-v2-schedule-query-demo"></a>

Pour une démonstration de la planification d'une requête, regardez la vidéo suivante. 

[![AWS Videos](http://img.youtube.com/vi/https://www.youtube.com/embed/gTw0XUpO8sw/0.jpg)](http://www.youtube.com/watch?v=https://www.youtube.com/embed/gTw0XUpO8sw)


# Configuration des autorisations pour planifier une requête
<a name="query-editor-v2-schedule-query-permissions"></a>

Pour planifier des requêtes, l'utilisateur Gestion des identités et des accès AWS (IAM) qui définit le calendrier et le rôle IAM associé au calendrier doit être configuré avec les autorisations IAM pour utiliser Amazon et l'API Amazon EventBridge Redshift Data. Pour recevoir des e-mails des requêtes planifiées, la notification Amazon SNS que vous spécifiez éventuellement doit également être configurée.

Ce qui suit décrit les tâches liées à l'utilisation de politiques AWS gérées pour fournir des autorisations, mais en fonction de votre environnement, vous souhaiterez peut-être limiter les autorisations autorisées.

Pour l'utilisateur IAM connecté à l'éditeur de requêtes v2, modifiez l'utilisateur IAM à l'aide de la console IAM (). [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)
+ Outre les autorisations nécessaires pour exécuter les opérations Amazon Redshift et Query Editor v2, associez `AmazonEventBridgeFullAccess` les politiques `AmazonRedshiftDataFullAccess` AWS gérées à un utilisateur IAM. 
+ Vous pouvez également attribuer les autorisations à un rôle et attribuer le rôle à l'utilisateur.

  Attachez une politique qui accorde l'autorisation `sts:AssumeRole` à l'ARN de ressource du rôle IAM que vous spécifiez lors de la définition de la requête planifiée. Pour en savoir plus sur l'endossement de rôles, consultez [Octroi d'autorisations à un utilisateur pour endosser un rôle](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_permissions-to-switch.html) dans le *Guide de l'utilisateur IAM*.

  L'exemple suivant illustre une politique d'autorisation qui endosse le rôle IAM `myRedshiftRole` dans le compte `123456789012`. Le rôle IAM `myRedshiftRole` est également le rôle IAM qui est attaché au cluster ou au groupe de travail où s'exécute la requête planifiée. 

------
#### [ JSON ]

****  

  ```
  {
      "Version":"2012-10-17",		 	 	 
      "Statement": [
          {
              "Sid": "AssumeIAMRole",
              "Effect": "Allow",
              "Action": "sts:AssumeRole",
              "Resource": [
                  "arn:aws:iam::123456789012:role/myRedshiftRole"
              ]
          }
      ]
  }
  ```

------

  Mettez à jour la politique d'approbation du rôle IAM utilisé pour planifier la requête afin de permettre à l'utilisateur IAM de l'endosser.

  ```
  {
              "Sid": "AssumeRole",
              "Effect": "Allow",
              "Principal": {
                  "AWS": "arn:aws:iam::123456789012:user/myIAMusername"
              },
              "Action": "sts:AssumeRole"
          }
      ]
  }
  ```

Pour le rôle IAM que vous spécifiez pour autoriser l'exécution de la requête planifiée, modifiez le rôle IAM à l'aide de la console IAM (). [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)
+ Associez `AmazonRedshiftDataFullAccess` les politiques `AmazonEventBridgeFullAccess` AWS gérées au rôle IAM. La politique gérée `AmazonRedshiftDataFullAccess` accepte uniquement l'autorisation `redshift-serverless:GetCredentials` pour les groupes de travail Redshift sans serveur balisés avec la clé `RedshiftDataFullAccess`.

# Authentification d’une requête planifiée
<a name="query-editor-v2-schedule-query-authentication"></a>

Lorsque vous planifiez une requête, vous utilisez l'une des méthodes d'authentification suivantes lors de l'exécution SQL. Les entrées à effectuer dans l'éditeur de requête v2 varient en fonction de la méthode utilisée. Ces méthodes d'authentification sont prises en charge par l'API de données utilisée pour exécuter vos instructions SQL.

L'utilisateur ou le rôle de base de données utilisé pour exécuter la requête doit disposer des privilèges de base de données nécessaires. Par exemple, pour accorder des privilèges `IAMR:MyRedshiftQEv2Scheduler` à la table `mytable`, exécutez la commande SQL suivante.

```
GRANT all ON TABLE mytable TO "IAMR:MyRedshiftQEv2Scheduler";
```

Pour afficher la liste des utilisateurs de base de données de votre cluster ou groupe de travail, interrogez la vue système `PG_USER_INFO`.

**Note**  
 Tout groupe de travail Redshift sans serveur pour lequel vous planifiez des requêtes doit être balisé avec la clé `RedshiftDataFullAccess`. Pour plus d’informations, consultez [Autorisation de l’accès à l’API de données Amazon Redshift](data-api-access.md).  
Au lieu de baliser le groupe de travail, vous pouvez également ajouter une politique en ligne au rôle IAM (spécifié avec la planification) qui autorise `redshift-serverless:GetCredentials`. Par exemple :  

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "UseTemporaryCredentialsForAllServerlessWorkgroups",
            "Effect": "Allow",
            "Action": "redshift-serverless:GetCredentials",
            "Resource": [
                "arn:aws:redshift-serverless:*:*:workgroup/*"
            ]
        }
    ]
}
```

**AWS Secrets Manager**  
Avec cette méthode, fournissez une valeur secrète pour le paramètre **secret-arn** qui est stocké dans AWS Secrets Manager. Ce secret contient des informations d’identification pour vous connecter à votre base de données. Vous avez peut-être créé un secret avec les informations d’identification appropriées lorsque vous avez créé votre cluster ou votre groupe de travail. Le secret doit être étiqueté avec la clé `RedshiftDataFullAccess`. Si la clé de balise n'est pas déjà présente, utilisez la AWS Secrets Manager console pour l'ajouter. Pour plus d’informations sur la création d’un secret, consultez [Création d’un secret pour les informations d’identification de connexion à une base de données](redshift-secrets-manager-integration-create.md).  
Pour plus d’informations sur les autorisations minimales, consultez [Création et gestion des secrets avec AWS Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/managing-secrets.html) dans le *Guide de l’utilisateur AWS Secrets Manager *. 

**Informations d’identification temporaires**  
Avec cette méthode, indiquez le **Nom de la base de données** et l'**Utilisateur de la base de données** pour vous connecter à une base de données située dans un cluster. Vous devez simplement indiquer le **Nom de la base de données** au moment de vous connecter à une base de données d'un groupe de travail.  
Lorsque vous vous connectez à un cluster, la politique `AmazonRedshiftDataFullAccess` accorde à l'utilisateur de base de données nommé `redshift_data_api_user` une autorisation pour `redshift:GetClusterCredentials`. Si vous souhaitez utiliser un autre utilisateur de base de données pour exécuter l'instruction SQL, ajoutez une politique au rôle IAM attaché à votre cluster pour autoriser `redshift:GetClusterCredentials`. L’exemple de stratégie suivant autorise les utilisateurs de base de données `awsuser` et `myuser`.     
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "UseTemporaryCredentialsForAllDbUsers",
            "Effect": "Allow",
            "Action": "redshift:GetClusterCredentials",
            "Resource": [
                "arn:aws:redshift:*:*:dbuser:*/awsuser",
                "arn:aws:redshift:*:*:dbuser:*/myuser"
            ]
        }
    ]
}
```

# Configuration d'autorisations pour consulter l'historique des requêtes planifiées
<a name="query-editor-v2-schedule-query-view-history"></a>

Pour permettre aux utilisateurs de consulter l'historique des requêtes planifiées, modifiez le rôle IAM (spécifié avec la planification) **Relations d'approbation** pour ajouter les autorisations.

Voici un exemple de politique de confiance dans un rôle IAM qui permet à l'utilisateur IAM de consulter l'historique *myIAMusername* des requêtes de planification. Au lieu d'accorder à un utilisateur IAM l'autorisation `sts:AssumeRole`, vous pouvez choisir d'accorder à un rôle IAM cette autorisation.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "Service": [
                    "redshift.amazonaws.com",
                    "redshift-serverless.amazonaws.com"
                ]
            },
            "Action": "sts:AssumeRole"
        },
        {
            "Effect": "Allow",
            "Principal": {
                "Service": "events.amazonaws.com"
            },
            "Action": "sts:AssumeRole"
        },
        {
            "Sid": "AssumeRole",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::123456789012:user/myIAMusername"
            },
            "Action": "sts:AssumeRole"
        }
    ]
}
```

------

# Surveillance de la requête planifiée
<a name="query-editor-v2-schedule-query-sns"></a>

Pour la rubrique Amazon SNS que vous spécifiez pour l'envoi de notifications par e-mail, créez la rubrique Amazon SNS à l'aide de l'éditeur de requête v2 en accédant à la section **Notifications SNS**, choisissez **Activer** pour la surveillance, puis créez la rubrique avec **Créer une rubrique SNS**. L'éditeur de requêtes v2 crée la rubrique Amazon SNS et ajoute un principal de service à la politique d'accès d'Amazon. EventBridge Voici un exemple de **Statégie d'accès** qui est créé dans la rubrique Amazon SNS. Dans l'exemple, les Région AWS *us-west-2* rubriques Compte AWS *123456789012*,, et Amazon SNS *select-version-pdx-testunload* sont utilisées.

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Id": "__default_policy_ID",
  "Statement": [
    {
      "Sid": "Allow_Publish_Events",
      "Effect": "Allow",
      "Principal": {
        "Service": "events.amazonaws.com"
      },
      "Action": "sns:Publish",
      "Resource": "arn:aws:sns:us-west-2:123456789012:select-version-pdx-testunload"
    }
  ]
}
```

------

Lorsque la requête planifiée est exécutée, Amazon SNS envoie des e-mails de AWS notification. L'exemple suivant montre un e-mail envoyé à *myemail@example.com* pour une requête planifiée *QS2-may25a* qui s'est exécuté Région AWS *eu-north-1* dans le cadre de la Compte AWS *123456789012* rubrique de notification Amazon SNS. *may25a-SNS*

```
{"version":"0","id":"8e4323ec-5258-7138-181b-91290e30ff9b","detail-type":"Scheduled Event","source":"aws.events","account":"123456789012","time":"2023-05-25T15:22:00Z",
                    "region":"eu-north-1","resources":["arn:aws:events:eu-north-1:123456789012:rule/QS2-may25a"],"detail":{}}

--
If you wish to stop receiving notifications from this topic, please click or visit the link below to unsubscribe:
https://sns.eu-north-1.amazonaws.com/unsubscribe.html?SubscriptionArn=arn:aws:sns:eu-north-1:123456789012:may25a-SNS:0c1a3d05-39c2-4507-bc3d-47250513d7b0&Endpoint=myemail@example.com

Please do not reply directly to this email. If you have any questions or comments regarding this email, please contact us at https://aws.amazon.com/support
```

# Résolution des problèmes liés à la configuration de la planification d'une requête
<a name="query-editor-v2-schedule-query-troubleshooting"></a>

Si vous rencontrez des problèmes pour planifier une requête, tenez compte des points suivants.

**Les requêtes ne s'exécutent pas**  
Vérifiez que le rôle IAM utilisé dans la planification est autorisé à obtenir les informations d'identification temporaires du cluster. L'autorisation pour les clusters provisionnés est `redshift:GetClusterCredentialsWithIAM`. L'autorisation pour les groupes de travail Redshift sans serveur est `redshift-serverless:GetCredentials`.

**L'historique planifié ne s'affiche pas**  
L'utilisateur IAM ou le rôle IAM utilisé pour se connecter à la AWS console n'a pas été ajouté à la politique de confiance du rôle IAM utilisé pour planifier la requête.  
Lors de l'utilisation AWS Secrets Manager de la requête planifiée pour se connecter, vérifiez que le secret est marqué avec la clé`RedshiftDataFullAccess`.  
Si la requête planifiée utilise une AWS Secrets Manager connexion, le rôle IAM utilisé pour planifier la requête doit avoir l'équivalent d'une politique gérée `SecretsManagerReadWrite` attachée au rôle.

**L'état de l'historique des requêtes est `Failed`**  
Consultez la vue système SYS\$1QUERY\$1HISTORY pour obtenir des détails sur les raisons de l'échec de la requête. Il est possible que l'utilisateur ou le rôle de base de données ayant servi à exécuter la requête ne disposait pas des privilèges nécessaires pour exécuter la requête SQL. Pour plus d’informations, consultez [Authentification d’une requête planifiée](query-editor-v2-schedule-query-authentication.md).  
Les requêtes SQL suivantes interrogent la vue SYS\$1QUERY\$1HISTORY pour renvoyer les requêtes ayant échoué.  

```
SELECT user_id, query_id, transaction_id, session_id, database_name, query_type, status, error_message, query_text 
FROM sys_query_history
WHERE status = 'failed';
```
Pour rechercher des informations à propos de l'échec d'une requête planifiée spécifique, consultez [Afficher les résultats d'une requête planifiée avec AWS CloudShell](query-editor-v2-schedule-query-troubleshooting-cloudshell.md).

# Afficher les résultats d'une requête planifiée avec AWS CloudShell
<a name="query-editor-v2-schedule-query-troubleshooting-cloudshell"></a>

Vous pouvez l'utiliser AWS CloudShell pour obtenir des informations sur une requête de planification. Vous devez disposer des autorisations appropriées pour exécuter les AWS CLI commandes indiquées dans la procédure suivante.

**Pour afficher les résultats d'une requête planifiée**

1. Sur la AWS console, ouvrez l'invite de AWS CloudShell commande. Pour plus d'informations AWS CloudShell, voir [Contenu](https://docs.aws.amazon.com/cloudshell/latest/userguide/welcome.html) du *guide AWS CloudShell de l'AWS CloudShell utilisateur*.

1. Endossez le rôle IAM de la requête planifiée. Pour endosser le rôle, recherchez le rôle IAM associé à la requête planifiée dans l'éditeur de requête v2 et utilisez-le dans la commande de l' AWS CLI  dans  AWS CloudShell. Par exemple, pour le rôle `scheduler`, entrez une commande  AWS STS  pour endosser le rôle utilisé par la requête planifiée.

   ```
   aws sts assume-role --role-arn "arn:aws:iam::123456789012:role/scheduler" --role-session-name "scheduler-test" 
   ```

   Les informations d'identification renvoyées se présentent comme suit.

   ```
   "Credentials": {
   "AccessKeyId": "AKIAIOSFODNN7EXAMPLE",
   "SecretAccessKey": "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY",
   "SessionToken": "je7MtGbClwBF/2Zp9Utk/h3yCo8nvbEXAMPLEKEY...",        
   "Expiration": "2023-08-18T18:19:44+00:00"
   },
   "AssumedRoleUser": {
   "AssumedRoleId": "AROA35B2NH6WBTP7ONL4E:scheduler-test",
   "Arn": "arn:aws:sts::123456789012:assumed-role/scheduler/scheduler-test"
   }
   }
   ```

1. Créez des variables environnementales en AWS CLI utilisant les informations d'identification affichées lorsque vous assumez le rôle IAM. Vous devez utiliser ces jetons avant qu'ils n'arrivent à expiration. Par exemple, vous entrez ce qui suit dans AWS CloudShell.

   ```
   export AWS_ACCESS_KEY_ID=AKIAIOSFODNN7EXAMPLE
   export AWS_SECRET_ACCESS_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
   export AWS_SESSION_TOKEN=je7MtGbClwBF/2Zp9Utk/h3yCo8nvbEXAMPLEKEY...
   ```

1. Pour voir l'erreur d'une requête ayant échoué, exécutez la AWS CLI commande pour décrire une instruction. L'ID de l'instruction SQL est tiré du champ **ID** figurant dans l'**Historique de planification** d'une requête planifiée dans l'éditeur de requête v2.

   ```
   aws redshift-data describe-statement --id 130d2620-05d2-439c-b7cf-815d9767f513
   ```

   Dans cet exemple, la requête SQL planifiée `select * from users limit 100` génère une erreur SQL indiquant que la table `users` n'existe pas.

   ```
   {
   "CreatedAt": "2023-08-18T17:39:15.563000+00:00",
   "Duration": -1,
   "Error": "ERROR: relation \"users\" does not exist",
   "HasResultSet": false,
   "Id": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111",
   "QueryString": "select * from users limit 100\n—RequestID=a1b2c3d4-5678-90ab-cdef-EXAMPLE22222; TraceID=1-633c5642-4039308d03f3a0ba53dbdf6f",
   "RedshiftPid": 1073766651,
   "RedshiftQueryId": 0,
   "ResultRows": -1,
   "ResultSize": -1,
   "Status": "FAILED",
   "UpdatedAt": "2023-08-18T17:39:16.116000+00:00",
   "WorkgroupName": "default"
   }
   ```

# Visualisation des résultats de requêtes
<a name="query-editor-v2-charts"></a>

Une fois que vous avez exécuté une requête et que les résultats sont affichés, vous pouvez activer**Chart** (Graphique) pour afficher une visualisation graphique de la page actuelle des résultats. Vous pouvez utiliser les contrôles suivants pour définir le contenu, la structure et l’apparence de votre graphique :

Trace ![\[Plus sign icon representing an addition or new item action.\]](http://docs.aws.amazon.com/fr_fr/redshift/latest/mgmt/images/add-plus.png)  
Représente un ensemble de repères graphiques associés dans un graphique. Vous pouvez définir plusieurs traces dans un graphique.

Type  
Vous pouvez définir le type de trace pour représenter les données comme l’une des options suivantes :  
+ Graphique à nuages de points pour un nuage de points ou un graphique à bulles.
+ Graphique à barres pour représenter les catégories de données avec des barres verticales ou horizontales.
+ Graphique en aires pour définir les zones remplies.
+ Histogramme qui utilise des barres pour représenter la distribution des fréquences.
+ Graphique en secteurs pour une représentation circulaire de données où chaque tranche représente un pourcentage de l’ensemble.
+ Graphique en entonnoir ou en zone d’entonnoir pour représenter les données à travers les différentes étapes d’un processus.
+ Graphique OHLC (open-high-low-close) souvent utilisé pour les données financières afin de représenter les valeurs ouvertes, élevées, basses et clôturées le long de l'axe X, qui représente généralement des intervalles de temps.
+ Graphique en chandelier pour représenter une plage de valeurs pour une catégorie sur une chronologie.
+ Graphique en cascade pour représenter la façon dont une valeur initiale augmente ou diminue à travers une série de valeurs intermédiaires. Les valeurs peuvent représenter des intervalles de temps ou des catégories.
+ Graphique en courbes pour représenter les changements de valeur au fil du temps.

Axe des X  
Vous spécifiez une colonne de tableau qui contient des valeurs à tracer le long de l’axe des X. Les colonnes qui contiennent des valeurs descriptives représentent généralement des données dimensionnelles. Les colonnes qui contiennent des valeurs quantitatives représentent généralement des données factuelles.

Axe des Y  
Vous spécifiez une colonne de tableau qui contient des valeurs à tracer le long de l’axe Y. Les colonnes qui contiennent des valeurs descriptives représentent généralement des données dimensionnelles. Les colonnes qui contiennent des valeurs quantitatives représentent généralement des données factuelles.

Sous-parcelles  
Vous pouvez définir des présentations supplémentaires de données graphiques.

Transforme  
Vous pouvez définir des transformations pour filtrer les données de trace. Vous utilisez une transformation fractionnée pour afficher plusieurs traces à partir d’une trace source unique. Vous utilisez une transformation agrégée pour présenter une trace sous forme de moyenne ou de minimum. Vous utilisez une transformation de tri pour trier une trace.

Apparence générale  
Vous pouvez définir les valeurs par défaut pour la couleur d’arrière-plan, la couleur de la marge, les échelles de couleurs pour créer des palettes, le style et les tailles du texte, le style et la taille du titre et la barre de mode. Vous pouvez définir des interactions pour faire glisser, cliquer et survoler. Vous pouvez définir un métatexte. Vous pouvez définir des apparences par défaut pour les traces, les axes, les légendes et les annotations.

**Pour créer un diagramme**

1. Exécutez une requête et obtenez des résultats.

1. Activez **Charts (Diagrammes)**.

1. Choisissez **Trace (Suivi)** et commencez à visualiser vos données.

1. Choisissez un style de diagramme parmi les options suivantes :
   + Scatter (À points)
   + Bar (À barres)
   + Area
   + Histogramme
   + Pie (À secteurs)
   + Funnel (Synthèse)
   + Entonnoir (Zone de synthèse)
   + OHLC () open-high-low-close
   + Candlestick (Chandelier)
   + Waterfall (Cascade)
   + Line

1. Choisissez **Style** pour personnaliser l’apparence, y compris les couleurs, les axes, la légende et les annotations. Vous pouvez ajouter du texte, des formes et des images.

1. Choisissez **Annotations** pour ajouter du texte, des formes et des images.

1. Pour mettre à jour l’affichage du diagramme, choisissez **Refresh (Actualiser)**. Choisissez **Full screen (Plein écran)** pour développer l’affichage du diagramme.

## Exemple : créer un diagramme à secteurs pour visualiser les résultats de la requête
<a name="query-editor-v2-example-pie-chart"></a>

L’exemple suivant utilise la table *Sales (Ventes)* de l’exemple de base de données. Pour plus d’informations, consultez [Exemple de base de données](https://docs.aws.amazon.com/redshift/latest/dg/c_sampledb.html) dans le *Guide du développeur de base de données Amazon Redshift*. 

Voici la requête que vous exécutez pour fournir les données du diagramme à secteurs.

```
select top 5 eventname, count(salesid) totalorders, sum(pricepaid) totalsales 
from sales, event
where sales.eventid=event.eventid group by eventname
order by 3;
```

**Pour créer un diagramme à secteurs pour l’événement le plus important en fonction des ventes totales**

1. Exécutez la requête.

1. Dans la zone de résultats de la requête, activez **Chart (Diagramme)**.

1. Sélectionnez **Trace** (Suivi).

1. Pour **Type**, choisissez **Pie (À secteurs)**.

1. Pour **Values (Valeurs)**, choisissez *totalsales*.

1. Pour **Labels (Étiquettes)**, choisissez *eventname*.

1. Choisissez **Style**, puis **General (Général)**.

1. Sous **Colorscales**, choisissez **Categorical (catégorie)**, puis **Pastel 2**.

![\[Graphique à secteurs\]](http://docs.aws.amazon.com/fr_fr/redshift/latest/mgmt/images/pie-chart.png)


## Exemple : créer un graphique combiné pour comparer le chiffre d’affaires et les ventes
<a name="query-editor-v2-example-revenue-sales-chart"></a>

Effectuez les étapes de cet exemple pour créer un graphique qui combine un graphique à barres pour les données de chiffre d’affaires et un graphique linéaire pour les données de vente. L’exemple suivant utilise le tableau *Sales* (Ventes) de l’exemple de base de données tickit. Pour plus d’informations, consultez [Exemple de base de données](https://docs.aws.amazon.com/redshift/latest/dg/c_sampledb.html) dans le *Guide du développeur de base de données Amazon Redshift*. 

Voici la requête que vous exécutez pour fournir les données du graphique.

```
select eventname, total_price, total_qty_sold
from  (select eventid, total_price, total_qty_sold, ntile(1000) over(order by total_price desc) as percentile
       from (select eventid, sum(pricepaid) total_price, sum(qtysold) total_qty_sold
             from   tickit.sales
             group by eventid)) Q, tickit.event E
       where Q.eventid = E.eventid
       and percentile = 1
order by total_price desc;
```

**Pour créer un graphique combiné permettant de comparer le chiffre d’affaires et les ventes**

1. Exécutez la requête.

1. Dans la zone de résultats de la requête, activez **Chart (Diagramme)**.

1. Sous *trace o*, pour **Type**, choisissez **Barres**.

1. Pour **X**, choisissez *eventname*.

1. Pour **Y**, choisissez *total\$1price*.

   Le graphique à barres s’affiche avec des noms d’événements le long de l’axe des X.

1. Sous **Style**, choisissez **Traces**. 

1. Pour **Name** (Nom), saisissez *Revenue* (Chiffre d’affaires).

1. Sous **Style**, choisissez **Axes**. 

1. Pour **Titres**, choisissez **Y**, puis saisissez *Chiffre d’affaires*.

   L’étiquette *Chiffre d’affaires* s’affiche sur l’axe Y gauche.

1. Sous **Structure**, choisissez **Traces**.

1. Choisissez ![\[Plus sign icon representing an addition or new item action.\]](http://docs.aws.amazon.com/fr_fr/redshift/latest/mgmt/images/add-plus.png) **Trace**.

   Les options de la trace 1 s’affichent.

1. Pour **Type**, choisissez **Ligne**.

1. Pour **X**, choisissez *eventname*.

1. Pour **Y**, choisissez *total\$1qty\$1sold*.

1. Sous **Axes à utiliser**, pour **Axe des Y** choisissez ![\[Plus sign icon representing an addition or new item action.\]](http://docs.aws.amazon.com/fr_fr/redshift/latest/mgmt/images/add-plus.png). 

   L’**Axe des Y** affiche *Y2*.

1. Sous **Style**, choisissez **Axes**.

1. Sous **Titres**, choisissez **Y2**.

1. Pour **Nom**, saisissez *Ventes*.

1. Sous **Lignes**, choisissez *Y : Ventes*.

1. Sous **Ligne d’axe**, choisissez **Afficher**, puis pour **Position**, choisissez **Droite**.

![\[Graphique du chiffre d’affaires et des ventes\]](http://docs.aws.amazon.com/fr_fr/redshift/latest/mgmt/images/chart-revenue-sales.png)


## Démo : créez des visualisations à l’aide de Amazon Redshift Query Editor V2
<a name="query-editor-v2-demo-visualizations"></a>

Pour une démonstration de création de visualisations, regardez la vidéo suivante. 

[![AWS Videos](http://img.youtube.com/vi/https://www.youtube.com/embed/-FYqTIER-6U/0.jpg)](http://www.youtube.com/watch?v=https://www.youtube.com/embed/-FYqTIER-6U)


# Collaborer et partager en équipe
<a name="query-editor-v2-team"></a>

Vous pouvez partager des requêtes avec votre équipe. 

Une équipe est définie pour un ensemble d’utilisateurs qui collaborent et partagent des ressources de l’éditeur de requête v2. Un administrateur peut créer une équipe en ajoutant une balise à un rôle IAM. Pour plus d’informations, consultez [Autorisations requises pour utiliser l’éditeur de requête v2](redshift-iam-access-control-identity-based.md#redshift-policy-resources.required-permissions.query-editor-v2). 

# Sauvegarde et navigation pour les requêtes
<a name="query-editor-v2-save-queries"></a>

Avant de pouvoir partager votre requête avec votre équipe, enregistrez votre requête. Vous pouvez afficher et supprimer les requêtes enregistrées. 

**Pour enregistrer une requête**

1. Préparez votre requête et choisissez **Save (Enregistrer)**.

1. Saisissez un titre pour votre requête.

1. Choisissez **Enregistrer**. 

**Pour rechercher les requêtes enregistrées**

1. Dans le panneau de navigation, choisissez **Queries (Requêtes)**.

1. Vous pouvez afficher les requêtes **My queries (Mes requêtes)**, **Shared by me (Partagé par moi)** ou **Shared to my team (Partagé avec mon équipe)**. Ces requêtes peuvent apparaître sous forme de requêtes individuelles ou dans des dossiers que vous avez créés.

# Partage d’une requête
<a name="query-editor-v2-query-share"></a>

Vous pouvez partager vos requêtes avec votre équipe. Vous pouvez également afficher l’historique des requêtes enregistrées et gérer les versions des requêtes. 

Pour partager une requête avec votre équipe, assurez-vous que la balise principale `sqlworkbench-team` est définie sur la même valeur que les autres membres de votre équipe dans votre compte. Par exemple, un administrateur peut définir la valeur sur `accounting-team` pour tous les membres du service comptable. Pour obtenir un exemple, consultez [Autorisations requises pour utiliser l’éditeur de requête v2](redshift-iam-access-control-identity-based.md#redshift-policy-resources.required-permissions.query-editor-v2).

**Pour partager une requête avec une équipe**

1. Dans le panneau de navigation, choisissez **Queries (Requêtes)**.

1. Ouvrez le menu contextuel (clic droit) de la requête que vous souhaitez partager et choisissez **Share with my team (Partager avec mon équipe)**.

1. Choisissez la ou les équipes avec lesquelles vous souhaitez partager la requête, puis choisissez **Save sharing options (Enregistrer les options de partage)**. 

# Gestion des versions des requêtes
<a name="query-editor-v2-query-versions"></a>

Chaque fois que vous enregistrez une requête SQL, l’éditeur de requête v2 l’enregistre en tant que nouvelle version. Vous pouvez parcourir les versions antérieures des requêtes, enregistrer une copie d’une requête ou restaurer une requête. 

**Pour gérer les versions des requêtes**

1. Dans le panneau de navigation, choisissez **Queries (Requêtes)**.

1. Ouvrez le menu contextuel (clic droit) de la requête que vous souhaitez utiliser.

1. Choisissez **Version history (Historique des versions)** pour ouvrir une liste de versions de la requête.

1. Sur la page **Version history (Historique des versions)**, vous pouvez effectuer les actions suivantes :
   + **Revert to selected (Restaurer la sélection)** – Revenez à la version sélectionnée et continuez à utiliser cette version.
   + **Save selected as (Enregistrer la sélection sous)** – Créez une requête dans l’éditeur.

# Interrogation d'une base de données à l'aide de l'éditeur de requêtes Amazon Redshift v1
<a name="query-editor"></a>

Utiliser l’éditeur de requête est la façon la plus simple d’exécuter des requêtes sur les bases de données hébergées par votre cluster Amazon Redshift. Après avoir créé votre cluster, vous pouvez exécuter immédiatement des requêtes en utilisant l’éditeur de requête dans la console Amazon Redshift.

**Note**  
Vous ne pouvez pas interroger des données dans Amazon Redshift sans serveur à l’aide de cet éditeur de requêtes original. Utilisez plutôt l’Éditeur de requêtes v2 Amazon Redshift.

En février 2021, un éditeur de requête mis à jour a été déployé et les autorisations d’utilisation de l’éditeur de requête ont été modifiées. Le nouvel éditeur de requêtes utilise l’API Amazon Redshift Data pour exécuter des requêtes. La `AmazonRedshiftQueryEditor` politique, qui est une politique AWS gérée Gestion des identités et des accès AWS (IAM), a été mise à jour pour inclure les autorisations nécessaires. Si vous avez une politique IAM personnalisée, assurez-vous de la mettre à jour. Utilisez `AmazonRedshiftQueryEditor` comme guide. Les modifications apportées à `AmazonRedshiftQueryEditor` sont les suivantes : 
+ L’autorisation de gérer les résultats de l’instruction de l’éditeur de requête nécessite l’utilisateur propriétaire de l’instruction. 
+ L’autorisation d’utiliser Secrets Manager pour se connecter à une base de données a été ajoutée.

Pour plus d’informations, consultez [Autorisations requises pour utiliser l’éditeur de requêtes de la console Amazon Redshift](redshift-iam-access-control-identity-based.md#redshift-policy-resources.required-permissions.query-editor).

Lorsque vous vous connectez à votre cluster à partir du nouvel éditeur de requêtes, vous pouvez utiliser l’une des deux méthodes d’authentification. 

L’éditeur de requête vous permet d’effectuer les opérations suivantes :
+ Exécutez des requêtes d’instruction SQL unique.
+ Téléchargez des jeux de résultats pouvant atteindre 100 Mo dans un fichier de valeurs séparées par des virgules (CSV).
+ Enregistrez les requêtes dans le but de les réutiliser. Vous ne pouvez pas enregistrer les requêtes dans les régions Europe (Paris), Asie-Pacifique (Osaka), Asie-Pacifique (Hong Kong) ou Moyen-Orient (Bahreïn).
+ Affichez les détails d’exécution de requête pour les tables définies par l’utilisateur.
+ Planifiez l’exécution des requêtes à un moment ultérieur. 
+ Affichez un historique des requêtes que vous avez créées dans l’éditeur de requêtes. 
+ Exécutez des requêtes sur des clusters à l’aide du routage VPC amélioré. 

## Considérations relatives à l’éditeur de requête
<a name="query-editor-considerations"></a>

Considérez ce qui suit sur l’utilisation des requêtes lorsque vous utilisez l’éditeur de requête :
+ La durée maximale d’une requête est de 24 heures. 
+ La taille maximale du résultat de requête est de 100 Mo. Si un appel renvoie plus de 100 Mo de données de réponse, l’appel est arrêté. 
+ La durée maximale de conservation des résultats de la requête est de 24 heures. 
+ La taille maximale de l’instruction de requête est de 100 Ko. 
+ Le cluster doit être créé dans un cloud privé virtuel (VPC) basé sur le service Amazon VPC. 
+ Vous ne pouvez pas utiliser les transactions dans l’éditeur de requête. Pour plus d’informations sur les transactions, consultez [BEGIN](https://docs.aws.amazon.com/redshift/latest/dg/r_BEGIN.html) dans le *Manuel du développeur de base de données Amazon Redshift*.
+ Vous pouvez enregistrer une requête de 3 000 caractères maximum. 

# En vous connectant à un entrepôt de données Amazon Redshift à l’aide des outils client SQL
<a name="connecting-to-cluster"></a>

Vous pouvez vous connecter aux entrepôts de données Amazon Redshift depuis les outils clients SQL via des connexions Java Database Connectivity (JDBC), Python et Open Database Connectivity (ODBC). Amazon Redshift ne fournit et n’installe pas de bibliothèques ou d’outils clients SQL. Pour utiliser ces outils ou bibliothèques afin de travailler avec les données de vos entrepôts de données, installez-les sur votre ordinateur client ou votre instance Amazon EC2. Vous pouvez utiliser la plupart des outils clients SQL qui prennent en charge les pilotes ODBC, Python ou JDBC. 

Consultez la liste des sections à la fin de cette rubrique pour parcourir le processus de configuration de votre ordinateur client ou de votre instance Amazon EC2 afin de lui faire utiliser une connexion JDBC, Python ou ODBC. Les rubriques discutent également des options de sécurité associées pour la connexion du client au serveur. Par ailleurs, vous trouverez des informations sur la configuration et la connexion à partir d’outils clients SQL, tels que [Amazon Redshift RSQL](https://docs.aws.amazon.com/redshift/latest/mgmt/rsql-query-tool.html). Vous pouvez essayer ces outils si vous n’avez pas encore d’outil de Business Intelligence à utiliser. Vous pouvez également utiliser cette section pour en savoir plus sur la connexion à vos données. Enfin, si vous rencontrez des problèmes lorsque vous essayez de vous connecter à votre entrepôt de données, vous pouvez consulter les informations sur la résolution des problèmes afin d’identifier les solutions.

## Recommandations pour la connexion avec des outils clients
<a name="connecting-to-cluster-recommendations"></a>

Si vous vous connectez à votre cluster Redshift à l’aide d’une adresse IP, cela peut entraîner des durées d’indisponibilité supplémentaires en cas de panne ou de perte de connexion, et le cluster est mis en ligne dans une nouvelle zone de disponibilité (AZ). Toutefois, si vous souhaitez toujours que votre application se connecte à Redshift à l'aide d'une adresse IP, utilisez l'adresse IP privée attachée au point de terminaison du cluster ( virtual-private-cloudVPC). Vous pouvez le trouver dans les détails du cluster, dans **Réseau et sécurité**, sous l’onglet **Propriétés**. 

**Note**  
Si votre application utilise l’adresse IP du nœud principal pour accéder au cluster Redshift, il est recommandé de la modifier pour utiliser l’URL du point de terminaison du cluster. Pour plus d’informations, consultez [Configuration des connexions dans Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/mgmt/configuring-connections.html).

**Topics**
+ [Recommandations pour la connexion avec des outils clients](#connecting-to-cluster-recommendations)
+ [Configuration des connexions dans Amazon Redshift](configuring-connections.md)
+ [Configuration des options de sécurité des connexions](connecting-ssl-support.md)
+ [Connexion à partir d’outils et de codes clients](connecting-via-client-tools.md)
+ [Utilisation d’un profil d’authentification pour se connecter à Amazon Redshift](connecting-with-authentication-profiles.md)
+ [Résolution des problèmes de connexion dans Amazon Redshift](troubleshooting-connections.md)

# Configuration des connexions dans Amazon Redshift
<a name="configuring-connections"></a>

Dans la section suivante, découvrez comment configurer les connexions JDBC, Python et ODBC afin de vous connecter à votre cluster à partir d’outils clients SQL. Cette section décrit comment configurer les connexions JDBC, Python et ODBC. Elle décrit également comment utiliser Secure Sockets Layer (SSL) et les certificats de serveur pour chiffrer la communication entre le client et le serveur. 

## Pilotes JDBC, Python et ODBC pour Amazon Redshift
<a name="connecting-drivers"></a>

Pour utiliser les données de votre cluster, vous devez disposer de pilotes JDBC, Python ou ODBC pour la connectivité à partir de votre ordinateur client ou instance. Codez vos applications afin d’utiliser des opérations d’API d’accès aux données JDBC, Python ou ODBC et utilisez des outils client SQL qui prennent en charge JDBC, Python ou ODBC.

Amazon Redshift propose des pilotes JDBC, Python et ODBC à télécharger. Ces pilotes sont pris en charge par Support. Les pilotes PostgreSQL ne sont pas testés et ne sont pas pris en charge par l’équipe Amazon Redshift. Utilisez les pilotes spécifiques à Amazon RedShift lorsque vous vous connectez à un cluster Amazon Redshift. Les pilotes Amazon Redshift présentent les avantages suivants :
+ Prise en charge de l’authentification IAM, SSO et fédérée.
+ Prise en charge des nouveaux types de données Amazon Redshift.
+ Prise en charge des profils d’authentification.
+ Performances améliorées en conjonction avec les améliorations d’Amazon Redshift.

 Pour plus d’informations sur le téléchargement des pilotes JDBC et ODBC et la configuration des connexions à votre cluster, consultez [Configuration d’une connexion pour la version 2.x du pilote JDBC pour Amazon Redshift](jdbc20-install.md), [Connecteur Amazon Redshift Python](python-redshift-driver.md) et [Configuration d’une connexion pour le pilote ODBC version 2.x pour Amazon Redshift](odbc20-install.md). 

Pour plus d’informations sur la gestion des identités IAM, y compris les bonnes pratiques pour les rôles IAM, consultez [Identity and Access Management dans Amazon Redshift](redshift-iam-authentication-access-control.md).

# Recherche de votre chaîne de connexion au cluster
<a name="connecting-connection-string"></a>

Pour vous connecter à votre cluster avec votre outil client SQL, vous devez disposer de la chaîne de connexion au cluster. Vous pouvez trouver la chaîne de connexion du cluster dans la console Amazon Redshift, sur la page de détails d’un cluster.

**Pour rechercher la chaîne de connexion d’un cluster**

1. Connectez-vous à la console Amazon Redshift AWS Management Console et ouvrez-la à l'adresse. [https://console.aws.amazon.com/redshiftv2/](https://console.aws.amazon.com/redshiftv2/)

1. Dans le menu de navigation, choisissez **Clusters**, puis choisissez le nom du cluster dans la liste pour ouvrir ses détails.

1. Les chaînes de connexion **JDBC URL** et **ODBC URL** sont disponibles, ainsi que des détails supplémentaires dans la section **Informations générales**. Chaque chaîne est basée sur la AWS région dans laquelle le cluster s'exécute. Cliquez sur l’icône en regard de la chaîne de connexion appropriée pour copier celle-ci.

Pour vous connecter à un point de terminaison de cluster, vous pouvez utiliser l'URL du point de terminaison du cluster provenant d'une [demande d'DescribeClusters API](https://docs.aws.amazon.com/redshift/latest/APIReference/API_DescribeClusters.html). Voici un exemple d’URL de point de terminaison d’un cluster.

```
mycluster.cmeaswqeuae.us-east-2.redshift.amazonaws.com
```

Si vous avez configuré un nom de domaine personnalisé pour votre cluster, vous pouvez également vous en servir pour vous connecter à votre cluster. Pour en savoir plus sur la création d’un nom de domaine personnalisé, consultez [Configuration d’un nom de domaine personnalisé](https://docs.aws.amazon.com/redshift/latest/mgmt/connecting-connection-CNAME-connect.html).

**Note**  
Lorsque vous vous connectez, n’utilisez pas l’adresse IP d’un nœud de cluster ou l’adresse IP du point de terminaison d’un VPC. Utilisez toujours le point de terminaison Redshift pour éviter une panne inutile. La seule exception à l’utilisation de l’URL du point de terminaison est lorsque vous utilisez un nom de domaine personnalisé. Pour plus d’informations, consultez [Utilisation d’un nom de domaine personnalisé pour les connexions client](https://docs.aws.amazon.com/redshift/latest/mgmt/connecting-connection-CNAME.html).

# Configuration d’une connexion pour la version 2.x du pilote JDBC pour Amazon Redshift
<a name="jdbc20-install"></a>

Vous pouvez utiliser une connexion au pilote JDBC version 2.x pour vous connecter à votre cluster Amazon Redshift à partir de nombreux outils clients SQL tiers. Le connecteur Amazon Redshift JDBC fournit une solution open source. Vous pouvez parcourir le code source, demander des améliorations, signaler des problèmes et apporter des contributions. 

Pour obtenir les dernières informations sur les modifications du pilote JDBC, consulter le [journal des modifications](https://github.com/aws/amazon-redshift-jdbc-driver/blob/master/CHANGELOG.md).

Par défaut, le pilote JDBC d’Amazon Redshift est configuré pour utiliser les keepalives TCP afin d’empêcher les connexions de s’interrompre. Vous pouvez spécifier le moment où le pilote commence à envoyer des paquets keepalive ou désactiver la fonction en définissant les propriétés pertinentes dans l’URL de la connexion. Pour plus d’informations sur la syntaxe de l’URL de connexion, consultez [Création de l’URL de connexion](jdbc20-build-connection-url.md).


| Propriété | Description | 
| --- | --- | 
|  `TCPKeepAlive`  |  Pour désactiver les keepalives TCP, définissez cette propriété sur `FALSE`.  | 

**Topics**
+ [Télécharger le pilote Amazon Redshift JDBC, version 2.1](jdbc20-download-driver.md)
+ [Installation du pilote Amazon Redshift JDBC, version 2.2](jdbc20-install-driver.md)
+ [Obtention de l’URL JDBC](jdbc20-obtain-url.md)
+ [Création de l’URL de connexion](jdbc20-build-connection-url.md)
+ [Configuration d’une connexion JDBC avec Apache Maven](configure-jdbc20-connection-with-maven.md)
+ [Configuration de l’authentification et du protocole SSL](jdbc20-configure-authentication-ssl.md)
+ [Configuration de la journalisation](jdbc20-configuring-logging.md)
+ [Conversions du type de données](jdbc20-data-type-mapping.md)
+ [Utilisation du support d’instructions préparées](jdbc20-prepared-statement-support.md)
+ [Différences entre les versions 2.2 et 1.x du pilote JDBC](jdbc20-jdbc10-driver-differences.md)
+ [Création de fichiers d’initialisation (.ini) pour le pilote JDBC version 2.x](jdbc20-ini-file.md)
+ [Options de configuration du pilote JDBC version 2.x](jdbc20-configuration-options.md)
+ [Versions précédentes du pilote JDBC version 2.x](jdbc20-previous-driver-version-20.md)

# Télécharger le pilote Amazon Redshift JDBC, version 2.1
<a name="jdbc20-download-driver"></a>

**Note**  
Le pilote Amazon Redshift JDBC 2.x n’est pas conçu pour être thread-safe. Deux threads ou plus qui tentent simultanément d’utiliser la même connexion peuvent entraîner des blocages, des erreurs, des résultats incorrects ou d’autres comportements inattendus.  
Si vous avez une application multithread, nous vous recommandons de synchroniser l’accès au pilote pour éviter les accès simultanés.

Amazon Redshift propose des pilotes pour les outils qui sont compatibles avec l'API JDBC 4.2. Le nom de la classe de ce pilote est `com.amazon.redshift.Driver`.

Pour obtenir des informations détaillées sur la manière d’installer le pilote JDBC, de référencer les bibliothèques du pilote JDBC et d’enregistrer la classe du pilote, consultez les rubriques suivantes. 

Pour chaque ordinateur où vous utilisez le pilote JDBC Amazon Redshift version 2.x, assurez-vous que l’Environnement d’exécution Java (JRE) (JRE) 8.0 est installé. 

Si vous utilisez le pilote JDBC d’Amazon Redshift pour l’authentification de la base de données, assurez-vous que vous avez AWS SDK pour Java 1.11.118 ou une version ultérieure dans votre chemin de classe Java. Si ce n'est pas le cas AWS SDK pour Java , téléchargez le fichier ZIP contenant le pilote compatible avec JDBC 4.2 et les bibliothèques dépendantes du pilote pour le SDK : AWS 
+ [Version 2.x du pilote compatible avec JDBC 4.2 et bibliothèques AWS dépendantes du pilote du SDK Dans la région de Chine (Pékin), cliquez sur le lien suivant : pilote compatible [JDBC](https://s3---cn-north-1.amazonaws.com.rproxy.govskope.us.cn/redshift-downloads-cn/drivers/jdbc/2.2.5/redshift-jdbc42-2.2.5.zip)](https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.2.5/redshift-jdbc42-2.2.5.zip) pilote du SDK AWS 

  Ce fichier ZIP contient le pilote compatible JDBC 4.2 version 2.x et kit AWS SDK pour Java pour les fichiers de bibliothèque dépendants du pilote Java 1.x. Décompressez les fichiers jar dépendants au même emplacement que le pilote JDBC. Seul le pilote JDBC doit être dans CLASSPATH.

  Ce fichier ZIP n'inclut pas le AWS SDK complet pour Java 1.x. Toutefois, il inclut les bibliothèques dépendantes du pilote AWS SDK for Java 1.x requises pour l'authentification (IAM) des bases Gestion des identités et des accès AWS de données.

  Utilisez ce pilote Amazon Redshift JDBC avec le AWS SDK requis pour l'authentification de base de données IAM.

  *Pour installer le AWS SDK complet pour Java 1.x, [AWS consultez la section SDK pour Java](https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/welcome.html)AWS SDK pour Java 1.x dans le manuel du développeur.* 
+ [Version 2.x du pilote compatible JDBC 4.2 (sans le AWS SDK) Dans la région de Chine (Pékin)](https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.2.5/redshift-jdbc42-2.2.5.jar) SDK) AWS 

Examinez la licence logicielle du pilote JDBC version 2.x et modifiez le fichier journal : 
+ [Licence du pilote JDBC version 2.x](https://github.com/aws/amazon-redshift-jdbc-driver/blob/master/LICENSE) 
+ [Journal des modifications du pilote JDBC version 2.x](https://github.com/aws/amazon-redshift-jdbc-driver/blob/master/CHANGELOG.md)

Les pilotes JDBC version 1.2.27.1051 et ultérieures prennent en charge les procédures stockées Amazon Redshift. Pour plus d’informations, consultez [Création de procédures stockées dans Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/dg/stored-procedure-overview.html) dans le *Guide du développeur de base de données Amazon Redshift*. 

# Installation du pilote Amazon Redshift JDBC, version 2.2
<a name="jdbc20-install-driver"></a>

Pour installer la version 2.x du pilote compatible avec Amazon Redshift JDBC 4.2 et les bibliothèques dépendantes du pilote pour le AWS SDK, extrayez les fichiers de l'archive ZIP dans le répertoire de votre choix. 

Pour installer la version 2.x du pilote compatible Amazon Redshift JDBC 4.2 (sans le kit SDK AWS ), copiez le fichier JAR dans le répertoire de votre choix.

Pour accéder à un magasin de données Amazon Redshift à l’aide du pilote JDBC Amazon Redshift, vous devez définir la configuration comme décrit ci-dessous.

**Topics**
+ [Référencement des bibliothèques de pilotes JDBC](jdbc20-driver-libraries.md)
+ [Enregistrement de la classe de pilote](jdbc20-register-driver-class.md)

# Référencement des bibliothèques de pilotes JDBC
<a name="jdbc20-driver-libraries"></a>

L’application JDBC ou le code Java que vous utilisez pour vous connecter à vos données doit accéder aux fichiers JAR du pilote. Dans l’application ou le code, spécifiez tous les fichiers JAR que vous avez extraits de l’archive ZIP. 

## Utilisation du pilote dans une application JDBC
<a name="jdbc20-use-driver-jdbc-app"></a>

Les applications JDBC fournissent généralement un ensemble d’options de configuration pour ajouter une liste de fichiers de bibliothèque de pilotes. Utilisez les options disponibles pour inclure tous les fichiers JAR de l’archive ZIP comme partie intégrante de la configuration du pilote dans l’application. Pour plus d’informations, consultez la documentation de votre application JDBC. 

## Utilisation du pilote dans le code Java
<a name="jdbc20-use-driver-java-code"></a>

Vous devez inclure tous les fichiers de la bibliothèque de pilotes dans le chemin d’accès de la classe. Il s’agit du chemin d’accès grâce auquel l’environnement d’exécution Java recherche les classes et autres fichiers de ressources. Pour plus d’informations, consultez la documentation Java SE appropriée pour définir le chemin d’accès de classe pour votre système d’exploitation. 
+ Windows : [https://docs.oracle.com/javase/7/.html docs/technotes/tools/windows/classpath](https://docs.oracle.com/javase/7/docs/technotes/tools/windows/classpath.html)
+ Linux et Solaris : [https://docs.oracle.com/javase/7/ .html docs/technotes/tools/solaris/classpath](https://docs.oracle.com/javase/7/docs/technotes/tools/solaris/classpath.html)
+ macOS : le chemin de classe macOS par défaut est le répertoire dans lequel le pilote JDBC est installé.

# Enregistrement de la classe de pilote
<a name="jdbc20-register-driver-class"></a>

Assurez-vous d’enregistrer la classe appropriée pour votre application. Vous utilisez les classes suivantes pour connecter le pilote JDBC Amazon Redshift aux magasins de données Amazon Redshift :
+ Les classes `Driver` étendent `java.sql.Driver`.
+ Les classes `DataSource` incluent également `javax.sql.DataSource` et `javax.sql.ConnectionPoolDataSource`.

Le pilote prend en charge les noms de classe complets suivants qui sont indépendants de la version JDBC :
+ `com.amazon.redshift.jdbc.Driver`
+ `com.amazon.redshift.jdbc.DataSource`

L'exemple suivant montre comment utiliser la DriverManager classe pour établir une connexion pour JDBC 4.2.

```
            private static Connection connectViaDM() throws Exception
{
Connection connection = null;
connection = DriverManager.getConnection(CONNECTION_URL);
return connection;
}
```

L’exemple suivant montre comment utiliser la classe `DataSource` pour établir une connexion.

```
 private static Connection connectViaDS() throws Exception
{
Connection connection = null;
11
Amazon Redshift JDBC Driver Installation and Configuration Guide
DataSource ds = new com.amazon.redshift.jdbc.DataSource
();
ds.setURL(CONNECTION_URL);
connection = ds.getConnection();
return connection;
}
```

# Obtention de l’URL JDBC
<a name="jdbc20-obtain-url"></a>

Avant de pouvoir vous connecter à votre cluster Amazon Redshift à partir d’un outil client SQL, vous devez connaître l’URL JDBC de votre cluster. L’URL JDBC a le format suivant : `jdbc:redshift://endpoint:port/database`.

Les champs du format indiqué ci-dessus ont les valeurs suivantes.

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/redshift/latest/mgmt/jdbc20-obtain-url.html)

Voici un exemple d’URL JDBC : `jdbc:redshift://examplecluster.abc123xyz789.us-west-2.redshift.amazonaws.com:5439/dev` 

Si vos valeurs d’URL contiennent l’un des caractères réservés d’URI suivants, les valeurs doivent être codées en URL :
+  ; 
+  \$1 
+  \$1 
+  \$1 
+  [ 
+  ] 
+  & 
+  = 
+  ? 
+  un espace vide 

Par exemple, si votre valeur `PWD` est `password:password`, une URL de connexion utilisant cette valeur ressemblera à ce qui suit :

`jdbc:redshift://redshift.company.us-west-1.redshift.amazonaws.com:9000/dev;UID=amazon;PWD=password%3Apassword`

Pour plus d’informations sur la création d’une connexion, consultez [Recherche de votre chaîne de connexion au cluster](connecting-connection-string.md). 

Si l’ordinateur client ne peut pas se connecter à la base de données, il se peut que vous deviez résoudre d’éventuels problèmes. Pour plus d’informations, consultez [Résolution des problèmes de connexion dans Amazon Redshift](troubleshooting-connections.md). 

# Création de l’URL de connexion
<a name="jdbc20-build-connection-url"></a>

Utilisez l’URL de connexion pour fournir des informations de connexion au magasin de données auquel vous accédez. Voici le format de l’URL de connexion pour le pilote Amazon Redshift JDBC version 2.x. Ici, [Host] le point de terminaison du serveur Amazon Redshift et [Port] est le numéro du port TCP (Transmission Control Protocol) que le serveur utilise pour écouter les demandes des clients.

```
jdbc:redshift://[Host]:[Port]
```

Voici le format d’une URL de connexion qui spécifie certains paramètres facultatifs.

```
jdbc:redshift://[Host]:[Port]/[database];[Property1]=[Value];
[Property2]=[Value];
```

Si vos valeurs d’URL contiennent l’un des caractères réservés d’URI suivants, les valeurs doivent être codées en URL :
+  ; 
+  \$1 
+  \$1 
+  \$1 
+  [ 
+  ] 
+  & 
+  = 
+  ? 
+  un espace vide 

Par exemple, si votre valeur `PWD` est `password:password`, une URL de connexion utilisant cette valeur ressemblera à ce qui suit :

`jdbc:redshift://redshift.company.us-west-1.redshift.amazonaws.com:9000/dev;UID=amazon;PWD=password%3Apassword`

Par exemple, supposons que vous voulez vous connecter au port 9000 sur un cluster Amazon Redshift dans la région USA Ouest (Californie du Nord) sur AWS. Vous souhaitez également accéder à la base de données nommée `dev` et authentifier la connexion à l’aide d’un nom d’utilisateur et d’un mot de passe de base de données. Dans ce cas, vous pouvez également utiliser l’URL de connexion suivante.

```
jdbc:redshift://redshift.company.us-west-1.redshift.amazonaws.com:9000/dev;UID=amazon;PWD=amazon
```

Vous pouvez utiliser les caractères suivants pour séparer les options de configuration du reste de la chaîne d’URL :
+ ;
+ ?

Par exemple, les chaînes d’URL suivantes sont équivalentes :

```
jdbc:redshift://my_host:5439/dev;ssl=true;defaultRowFetchSize=100
```

```
jdbc:redshift://my_host:5439/dev?ssl=true;defaultRowFetchSize=100
```

Vous pouvez utiliser les caractères suivants pour séparer les options de configuration dans la chaîne d’URL :
+ ;
+ &

Par exemple, les chaînes d’URL suivantes sont équivalentes :

```
jdbc:redshift://my_host:5439/dev;ssl=true;defaultRowFetchSize=100
```

```
jdbc:redshift://my_host:5439/dev;ssl=true&defaultRowFetchSize=100
```

L’exemple d’URL suivant indique le niveau de journal 6 et le chemin d’accès des journaux.

```
jdbc:redshift://redshift.amazonaws.com:5439/dev;DSILogLevel=6;LogPath=/home/user/logs;
```

Ne dupliquez pas les propriétés de l’URL de connexion.

Pour connaître la liste complète des options de configuration que vous pouvez spécifier, consultez [Options de configuration du pilote JDBC version 2.x](jdbc20-configuration-options.md). 

**Note**  
Lorsque vous vous connectez, n’utilisez pas l’adresse IP d’un nœud de cluster ou l’adresse IP du point de terminaison d’un VPC. Utilisez toujours le point de terminaison Redshift pour éviter une panne inutile. La seule exception à l’utilisation de l’URL du point de terminaison est lorsque vous utilisez un nom de domaine personnalisé. Pour plus d’informations, consultez [Utilisation d’un nom de domaine personnalisé pour les connexions client](https://docs.aws.amazon.com/redshift/latest/mgmt/connecting-connection-CNAME.html).

# Configuration d’une connexion JDBC avec Apache Maven
<a name="configure-jdbc20-connection-with-maven"></a>

Apache Maven est un outil de gestion et de compréhension de projets logiciels. AWS SDK pour Java prend en charge les projets Apache Maven. Pour plus d’informations, consultez [Utilisation du kit SDK avec Apache Maven](https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/setup-project-maven.html) dans le *Guide du développeur AWS SDK pour Java *. 

Si vous utilisez Apache Maven, vous pouvez configurer et construire vos projets pour utiliser un pilote JDBC Amazon Redshift afin de vous connecter à votre cluster Amazon Redshift. Pour ce faire, ajoutez le pilote JDBC en tant que dépendance dans le fichier `pom.xml` de votre projet. Si vous utilisez Maven pour créer votre projet et que vous souhaitez faire appel à une connexion JDBC, suivez les étapes décrites dans cette section 

**Pour configurer le pilote JDBC en tant que dépendance Maven**

1. Ajoutez le référentiel Amazon ou Maven Central dans la section des référentiels de votre fichier `pom.xml`.
**Note**  
L’URL dans le code suivant renvoie un exemple d’erreur si elle est utilisée dans un navigateur. Utilisez cette URL uniquement dans le contexte d’un projet Maven.

   Pour vous connecter à l’aide du protocole SSL, ajoutez le référentiel suivant à votre fichier `pom.xml`.

   ```
   <repositories>
       <repository>
         <id>redshift</id>
         <url>https://s3.amazonaws.com/redshift-maven-repository/release</url>
       </repository>
   </repositories>
   ```

   Pour un référentiel Maven Central, ajoutez ce qui suit à votre fichier `pom.xml`.

   ```
   <repositories>
       <repository>
         <id>redshift</id>
         <url>https://repo1.maven.org/maven2</url>
       </repository>
   </repositories>
   ```

1. Déclarez la version du pilote à utiliser dans la section des dépendances de votre fichier `pom.xml`.

   Amazon Redshift propose des pilotes pour les outils qui sont compatibles avec l’API JDBC 4.2. Pour plus d’informations sur les fonctionnalités prises en charge par ces pilotes, consultez [Télécharger le pilote Amazon Redshift JDBC, version 2.1](jdbc20-download-driver.md). 

   Remplacez `driver-version` dans l’exemple suivant avec votre version de pilote, par exemple, `2.1.0.1`. Pour un pilote compatible JDBC 4.2, utilisez ce qui suit. 

   ```
   <dependency>
      <groupId>com.amazon.redshift</groupId>
      <artifactId>redshift-jdbc42</artifactId>
      <version>driver-version</version>
   </dependency>
   ```

   Le nom de la classe de ce pilote est `com.amazon.redshift.Driver`.

Les pilotes Amazon Redshift Maven ont besoin des dépendances facultatives suivantes lorsque vous utilisez l’authentification de base de données IAM. 

```
<dependency>
      <groupId>com.amazonaws</groupId>
      <artifactId>aws-java-sdk-core</artifactId>
      <version>1.12.23</version>
      <scope>runtime</scope>
      <optional>true</optional>
</dependency>
    <dependency>
      <groupId>com.amazonaws</groupId>
      <artifactId>aws-java-sdk-redshift</artifactId>
      <version>1.12.23</version>
      <scope>runtime</scope>
      <optional>true</optional>
</dependency>
<dependency>
      <groupId>com.amazonaws</groupId>
      <artifactId>aws-java-sdk-sts</artifactId>
      <version>1.12.23</version>
      <scope>runtime</scope>
      <optional>true</optional>
</dependency>
```

Pour mettre à niveau ou modifier le pilote JDBC Amazon Redshift vers la dernière version, modifiez d’abord la section version de la dépendance vers la dernière version du pilote. Ensuite, nettoyez le projet avec le plugin Maven Clean, comme indiqué ci-après. 

```
mvn clean
```

# Configuration de l’authentification et du protocole SSL
<a name="jdbc20-configure-authentication-ssl"></a>

Pour protéger les données contre les accès non autorisés, les magasins de données Amazon Redshift exigent que toutes les connexions soient authentifiées à l’aide des informations d’identification de l’utilisateur. Certains magasins de données exigent également que les connexions soient établies via le protocole SSL, avec ou sans authentification unidirectionnelle.

Le pilote Amazon Redshift JDBC version 2.x fournit une prise en charge complète de ces protocoles d’authentification. 

La version SSL prise en charge par le pilote dépend de la version JVM que vous utilisez. Pour plus d’informations sur les versions SSL prises en charge par chaque version de Java, consultez [Diagnosing TLS, SSL, and HTTPS](https://blogs.oracle.com/java-platform-group/diagnosing-tls,-ssl,-and-https) sur le blog Java Platform Group Product Management. 

La version SSL utilisée pour la connexion est la version la plus élevée prise en charge par le pilote et le serveur, qui est déterminée au moment de la connexion.

Configurez le pilote JDBC Amazon Redshift version 2.x pour authentifier votre connexion conformément aux exigences de sécurité du serveur Redshift auquel vous vous connectez. 

Vous devez toujours fournir votre nom d’utilisateur et votre mot de passe Redshift pour authentifier la connexion. Selon que SSL est activé et requis sur le serveur, vous devrez peut-être également configurer le pilote pour qu’il se connecte via SSL. Vous pouvez également utiliser l’authentification SSL à sens unique afin que le client (le pilote lui-même) vérifie l’identité du serveur. 

Vous fournissez les informations de configuration au pilote dans l’URL de connexion. Pour plus d’informations sur la syntaxe de l’URL de connexion, consultez [Création de l’URL de connexion](jdbc20-build-connection-url.md). 

*SSL* indiqueTLS/SSL, both Transport Layer Security and Secure Sockets Layer. The driver supports industry-standard versions of TLS/SSL. 

## Configuration de l’authentification IAM
<a name="jdbc20-configure-iam-authentication"></a>

Si vous vous connectez à un serveur Amazon Redshift à l’aide de l’authentification IAM, définissez les propriétés suivantes dans le cadre de votre chaîne de connexion à la source de données. 

 Pour plus d’informations sur l’authentification IAM, consultez [Identity and Access Management dans Amazon Redshift](redshift-iam-authentication-access-control.md).

Pour utiliser l’authentification IAM, utilisez l’un des formats de chaîne de connexion suivants :


| Chaîne de connexion | Description | 
| --- | --- | 
|  `jdbc:redshift:iam:// [host]:[port]/[db]`  |  Chaîne de connexion régulière. Le pilote déduit les valeurs de ClusterID et Region de l’hôte.  | 
|  `jdbc:redshift:iam:// [cluster-id]: [region]/[db]`  |  Le pilote récupère les informations sur l’hôte, en fonction des valeurs de ClusterID et Region.  | 
|  `jdbc:redshift:iam:// [host]/[db]`  |  Le pilote utilise par défaut le port 5439 et déduit les valeurs de ClusterID et Region de l’hôte. En fonction du port que vous avez sélectionné lors de la création, de la modification ou de la migration du cluster, autorisez l’accès au port sélectionné.   | 

## Spécification des profils
<a name="jdbc20-aws-credentials-profiles"></a>

Si vous utilisez l’authentification IAM, vous pouvez spécifier des propriétés de connexion supplémentaires obligatoires ou facultatives sous un nom de profil. Ce faisant, vous pouvez éviter de mettre certaines informations directement dans la chaîne de connexion. Vous spécifiez le nom du profil dans votre chaîne de connexion à l’aide de la propriété Profile. 

Les profils peuvent être ajoutés au fichier AWS d'informations d'identification. L’emplacement par défaut de ce fichier est : `~/.aws/credentials` 

Vous pouvez modifier la valeur par défaut en définissant le chemin d’accès dans la variable d’environnement suivante : `AWS_CREDENTIAL_PROFILES_FILE` 

 Pour plus d’informations sur les profils, consultez [Utilisation d’informations d’identification AWS](https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/credentials.html) dans le *AWS SDK pour Java*. 

## Utilisation des informations d’identification du profil d’instance
<a name="jdbc20-instance-profile-credentials"></a>

Si vous exécutez une application sur une instance Amazon EC2 associée à un rôle IAM, vous pouvez vous connecter à l’aide des informations d’identification du profil d’instance. 

Pour ce faire, utilisez l’un des formats de chaîne de connexion IAM du tableau précédent et définissez la propriété de connexion dbuser sur le nom d’utilisateur Amazon Redshift sous lequel vous vous connectez. 

Pour plus d’informations sur les profils d’instance, consultez [Gestion des accès](https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html) dans le *Guide de l’utilisateur IAM*. 

## Utilisation des fournisseurs d’informations d’identification
<a name="jdbc20-aws-credentials-provider"></a>

Le pilote prend également en charge les plugins du fournisseur d’informations d’identification des services suivants : 
+ AWS Centre d'identité IAM
+ Active Directory Federation Service (ADFS)
+ Service de jetons web JSON (JWT)
+ Services Microsoft Azure Active Directory (AD) et navigateur Microsoft Azure Active Directory (AD)
+ Service Okta
+ PingFederate Service 
+ Navigateur SAML pour les services SAML tels qu’Okta, Ping ou ADFS

Si vous utilisez l’un de ces services, l’URL de connexion doit spécifier les propriétés suivantes : 
+ **Plugin\$1Name** : le chemin de classe complet pour votre classe de plugin fournisseur d’informations d’identification.
+ **IdP\$1Host** : hôte du service que vous utilisez pour vous authentifier dans Amazon Redshift.
+ **IdP\$1Port** : port sur lequel l’hôte du service d’authentification écoute. Non requis pour Okta.
+ **Utilisateur** : nom d’utilisateur du serveur idp\$1host.
+ **Mot de passe** : mot de passe associé au nom d’utilisateur idp\$1host.
+ **DbUser**— Le nom d'utilisateur Amazon Redshift sous lequel vous vous connectez.
+ **SSL\$1Insecure** : indique si le certificat du serveur IDP doit être vérifié.
+ **Client\$1ID** : ID client associé au nom d’utilisateur dans le portail Azure AD. Utilisé uniquement pour Azure AD.
+ **Client\$1Secret** : secret client associé à l’ID client dans le portail Azure AD. Utilisé uniquement pour Azure AD.
+ **IdP\$1Tenant** : ID de locataire Azure AD pour votre application Amazon Redshift. Utilisé uniquement pour Azure AD.
+ **App\$1ID** : ID de l’appli Okta pour votre application Amazon Redshift. Utilisé uniquement pour Okta.
+ **App\$1Name** : nom facultatif de l’appli Okta pour votre application Amazon Redshift. Utilisé uniquement pour Okta.
+ **Partner\$1SPID** : valeur SPID du partenaire facultative (ID du fournisseur de services). Utilisé uniquement pour PingFederate.
+ **Idc\$1Region** — L' Région AWS emplacement de l'instance AWS IAM Identity Center. Utilisé uniquement pour AWS IAM Identity Center.
+ **Issuer\$1Url — Point** de terminaison de l' AWS instance du serveur IAM Identity Center. Utilisé uniquement pour AWS IAM Identity Center.

Si vous utilisez un plugin de navigateur pour l’un de ces services, l’URL de connexion peut également inclure les éléments suivants : 
+ **Login\$1URL** : URL de la ressource sur le site Web du fournisseur d’identité lors de l’utilisation des services SAML (Security Assertion Markup Language) ou Azure AD via un plugin de navigateur. Ce paramètre est obligatoire si vous utilisez un plugin de navigateur.
+ **Listen\$1Port — Port** utilisé par le pilote pour obtenir la réponse SAML du fournisseur d'identité lorsqu'il utilise les services SAML, Azure AD ou AWS IAM Identity Center via un plug-in de navigateur.
+ **IDP\$1Response\$1Timeout** — Durée, en secondes, pendant laquelle le pilote attend la réponse SAML du fournisseur d'identité lorsqu'il utilise les services SAML, Azure AD ou IAM Identity Center via un plug-in de navigateur. AWS 

Pour plus d’informations sur les propriétés supplémentaires de la chaîne de connexion, consultez [Options de configuration du pilote JDBC version 2.x](jdbc20-configuration-options.md). 

# Utilisation du nom d’utilisateur et du mot de passe uniquement
<a name="jdbc20-authentication-username-password"></a>

Si le serveur auquel vous vous connectez n’utilise pas SSL, il vous suffit de fournir votre nom d’utilisateur et votre mot de passe Redshift pour authentifier la connexion. 

**Pour configurer l’authentification en utilisant uniquement votre nom d’utilisateur et votre mot de passe Redshift**

1. Définissez la propriété `UID` sur votre nom d’utilisateur Redshift pour accéder au serveur Amazon Redshift.

1. Définissez la propriété PWD avec le mot de passe correspondant à votre nom d’utilisateur Redshift.

# Utilisation de SSL sans vérification d’identité
<a name="jdbc20-use-ssl-without-identity-verification"></a>

Si le serveur auquel vous vous connectez utilise SSL, mais ne nécessite pas de vérification d’identité, vous pouvez configurer le pilote pour qu’il utilise une fabrique SSL non validante. 

**Pour configurer une connexion SSL sans vérification d’identité**

1. Définissez la propriété `UID` sur votre nom d’utilisateur Redshift pour accéder au serveur Amazon Redshift.

1. Définissez la propriété `PWD` avec le mot de passe correspondant à votre nom d’utilisateur Redshift.

1. Définition de la propriété `SSLFactory` à `com.amazon.redshift.ssl.NonValidatingFactory`.

# Utilisation de l’authentification SSL unidirectionnelle
<a name="jdbc20-use-one-way-SSL-authentication"></a>

Si le serveur auquel vous vous connectez utilise SSL et dispose d’un certificat, vous pouvez configurer le pilote pour vérifier l’identité du serveur à l’aide de l’authentification unidirectionnelle. 

L’authentification unidirectionnelle nécessite un certificat SSL signé et approuvé pour vérifier l’identité du serveur. Vous pouvez configurer le pilote pour utiliser un certificat spécifique ou accéder à un certificat TrustStore contenant le certificat approprié. Si vous ne spécifiez pas de certificat ou TrustStore, le pilote utilise le langage Java par défaut TrustStore (généralement l'un `jssecacerts` ou l'autre`cacerts`). 

**Pour configurer l’authentification SSL unidirectionnelle**

1. Définissez la propriété UID sur votre nom d’utilisateur Redshift pour accéder au serveur Amazon Redshift.

1. Définissez la propriété PWD avec le mot de passe correspondant à votre nom d’utilisateur Redshift.

1. Définissez la propriété SSL sur true (vrai).

1. Définissez la propriété SSLRoot Cert sur l'emplacement de votre certificat CA racine.

1. Si vous n'utilisez pas l'une des versions Java par défaut TrustStores, effectuez l'une des opérations suivantes :
   + Pour spécifier un certificat de serveur, définissez la propriété SSLRoot Cert sur le chemin complet du certificat.
   + Pour spécifier un TrustStore, procédez comme suit :

     1. Utilisez le programme keytool pour ajouter le certificat de serveur à celui TrustStore que vous souhaitez utiliser.

     1. Spécifiez le mot de passe TrustStore et à utiliser lors du démarrage de l'application Java à l'aide du pilote. Par exemple :

        ```
        -Djavax.net.ssl.trustStore=[TrustStoreName]
        -Djavax.net.ssl.trustStorePassword=[TrustStorePassword]
        -Djavax.net.ssl.trustStoreType=[TrustStoreType]
        ```

1. Choisissez-en une :
   + Pour valider le certificat, définissez la SSLMode propriété sur verify-ca.
   + Pour valider le certificat et vérifier le nom d'hôte indiqué dans le certificat, définissez la SSLMode propriété sur verify-full.

# Configuration de la journalisation
<a name="jdbc20-configuring-logging"></a>

Vous pouvez activer la journalisation dans le pilote pour aider à diagnostiquer les problèmes.

Vous pouvez consigner les informations relatives au pilote en utilisant les méthodes suivantes :
+ Pour enregistrer les informations consignées dans des fichiers .log, consultez[Utilisation des fichiers journaux](jdbc20-using-log-files.md).
+ Pour envoyer les informations enregistrées au LogStream ou LogWriter spécifiées dans le DriverManager, voir[En utilisant LogStream ou LogWriter](jdbc20-logstream-option.md). 

Vous fournissez les informations de configuration au pilote dans l’URL de connexion. Pour plus d’informations sur la syntaxe de l’URL de connexion, consultez [Création de l’URL de connexion](jdbc20-build-connection-url.md).

# Utilisation des fichiers journaux
<a name="jdbc20-using-log-files"></a>

N’activez la journalisation que le temps de capturer un problème. La journalisation diminue performances et peut consommer une grande quantité d’espace disque. 

Définissez la LogLevel clé dans votre URL de connexion pour activer la journalisation et spécifiez la quantité de détails inclus dans les fichiers journaux. Le tableau suivant répertorie les niveaux de journalisation fournis par le pilote JDBC Amazon Redshift version 2.x, dans l’ordre du moins verbeux au plus verbeux. 


| LogLevel valeur | Description | 
| --- | --- | 
|  1  |  Journalisation des événements d’erreurs graves qui conduiront le pilote à l’abandon.  | 
|  2  |  Journalisation des événements d’erreur qui pourraient permettre au pilote de continuer à fonctionner.  | 
|  3  |  Journalisation des événements qui peuvent entraîner une erreur si aucune action n’est entreprise. Ce niveau de journalisation et les niveaux de journalisation supérieurs à ce niveau enregistrent également les requêtes de l’utilisateur.  | 
|  4  |  Journalisation d’informations générales qui décrivent la progression du pilote.  | 
|  5  |  Journalisation d’informations détaillées qui sont utiles pour le débogage du pilote.  | 
|  6  |  Journalisation de toutes les activités du pilote.  | 

**Pour configurer la journalisation qui utilise des fichiers journaux**

1. Définissez la LogLevel propriété sur le niveau d'informations souhaité à inclure dans les fichiers journaux.

1. Définissez la LogPath propriété sur le chemin complet du dossier dans lequel vous souhaitez enregistrer les fichiers journaux. 

   Par exemple, l’URL de connexion suivante active le niveau 3 de journalisation et enregistre les fichiers journaux dans le dossier C:\$1temp : `jdbc:redshift://redshift.company.us-west- 1.redshift.amazonaws.com:9000/Default;DSILogLevel=3;LogPath=C:\temp`

1. Pour vous assurer que les nouveaux paramètres prennent effet, redémarrez votre application JDBC et reconnectez-vous au serveur.

   Le pilote Amazon Redshift JDBC produit les fichiers journaux suivants à l'emplacement spécifié dans la propriété : LogPath 
   +  redshift\$1jdbc.log qui enregistre l’activité du pilote qui n’est pas spécifique à une connexion.
   + redshift\$1jdbc\$1connection\$1[Number].log pour chaque connexion établie à la base de données, où [Number] est un numéro qui identifie chaque fichier journal. Ce fichier enregistre l’activité du pilote spécifique à la connexion.

Si la LogPath valeur n'est pas valide, le pilote envoie les informations enregistrées au flux de sortie standard (`System.out`)

# En utilisant LogStream ou LogWriter
<a name="jdbc20-logstream-option"></a>

N’activez la journalisation que le temps de capturer un problème. La journalisation diminue performances et peut consommer une grande quantité d’espace disque. 

Définissez la LogLevel clé dans votre URL de connexion pour activer la journalisation et spécifiez la quantité de détails envoyés au LogStream ou LogWriter spécifiée dans le DriverManager. 

**Pour activer la journalisation qui utilise le LogStream ou LogWriter :**

1. Pour configurer le pilote afin de consigner des informations générales décrivant la progression du pilote, définissez la LogLevel propriété sur 1 ou INFO.

1. Pour vous assurer que les nouveaux paramètres prennent effet, redémarrez votre application JDBC et reconnectez-vous au serveur.

# Conversions du type de données
<a name="jdbc20-data-type-mapping"></a>

Le pilote Amazon Redshift JDBC version 2.x prend en charge de nombreux formats de données courants, la conversion entre les types de données Amazon Redshift, SQL et Java.

Le tableau suivant répertorie les mappages de types de données pris en charge.


| Type Amazon Redshift | Type SQL | Type Java | 
| --- | --- | --- | 
|  BIGINT  |  SQL\$1BIGINT  |  Long  | 
|  BOOLEAN  |  SQL\$1BIT  |  Booléen  | 
|  CHAR  |  SQL\$1CHAR  |  String  | 
|  DATE  |  SQL\$1TYPE\$1DATE  |  java.sql.Date  | 
|  DECIMAL  |  SQL\$1NUMERIC  |  BigDecimal  | 
|  DOUBLE PRECISION  |  SQL\$1DOUBLE  |  Double  | 
|  GEOMETRY  |  SQL\$1 LONGVARBINARY  |  byte[]  | 
|  INTEGER  |  SQL\$1INTEGER  |  Entier  | 
|  OID  |  SQL\$1BIGINT  |  Long  | 
|  SUPER  |  SQL\$1LONGVARCHAR  |  String  | 
|  REAL  |  SQL\$1REAL  |  Float  | 
|  SMALLINT  |  SQL\$1SMALLINT  |  Court  | 
|  TEXT  |  SQL\$1VARCHAR  |  String  | 
|  TIME  |  SQL\$1TYPE\$1TIME  |  java.sql.Time  | 
|  TIMETZ  |  SQL\$1TYPE\$1TIME  |  java.sql.Time  | 
|  TIMESTAMP  |  SQL\$1TYPE\$1 TIMESTAMP  |  java.sql.Timestamp  | 
|  TIMESTAMPTZ  |  SQL\$1TYPE\$1 TIMESTAMP  |  java.sql.Timestamp  | 
|  VARCHAR  |  SQL\$1VARCHAR  |  String  | 

# Utilisation du support d’instructions préparées
<a name="jdbc20-prepared-statement-support"></a>

Le pilote JDBC Amazon Redshift prend en charge les instructions préparées. Vous pouvez utiliser des instructions préparées pour améliorer les performances des requêtes paramétrées qui doivent être exécutées plusieurs fois au cours de la même connexion.

Une *instruction préparée* est une instruction SQL compilée côté serveur, mais pas exécutée immédiatement. La déclaration compilée est stockée sur le serveur sous forme d' PreparedStatement objet jusqu'à ce que vous fermiez l'objet ou la connexion. Tant que cet objet existe, vous pouvez exécuter l’instruction préparée autant de fois que nécessaire en utilisant différentes valeurs de paramètre, sans avoir à compiler à nouveau l’instruction. Ce surcoût réduit permet à l’ensemble de requêtes d’être exécuté plus rapidement.

Pour plus d’informations sur les instructions préparées, consultez « Utilisation des instructions préparées » dans le [didacticiel JDBC Basics d’Oracle](https://docs.oracle.com/javase/tutorial/jdbc/basics/prepared.html).

Vous pouvez préparer une instruction contenant plusieurs requêtes. Par exemple, l’instruction préparée suivante contient deux requêtes INSERT :

```
PreparedStatement pstmt = conn.prepareStatement("INSERT INTO
MyTable VALUES (1, 'abc'); INSERT INTO CompanyTable VALUES
(1, 'abc');");
```

Veillez à ce que ces requêtes ne dépendent pas des résultats d’autres requêtes spécifiées dans la même instruction préparée. Étant donné que les requêtes ne s’exécutent pas pendant l’étape de préparation, les résultats n’ont pas encore été renvoyés et ne sont pas disponibles pour d’autres requêtes dans la même instruction préparée.

Par exemple, l’instruction préparée suivante, qui crée une table puis insère des valeurs dans cette table qui vient d’être créée, n’est pas autorisée :

```
PreparedStatement pstmt = conn.prepareStatement("CREATE
TABLE MyTable(col1 int, col2 varchar); INSERT INTO myTable
VALUES (1, 'abc');");
```

Si vous essayez de préparer cette instruction, le serveur renvoie une erreur indiquant que la table de destination (myTable) n’existe pas encore. La requête CREATE doit être exécutée avant que la requête INSERT puisse être préparée.

# Différences entre les versions 2.2 et 1.x du pilote JDBC
<a name="jdbc20-jdbc10-driver-differences"></a>

Cette section décrit les différences entre les informations renvoyées par les versions 2.2 et 1.x du pilote JDBC. Le pilote JDBC version 1.x est interrompu.

Le tableau suivant répertorie les DatabaseMetadata informations renvoyées par les fonctions getDatabaseProduct Name () et getDatabaseProduct Version () pour chaque version du pilote JDBC. La version 2.2 du pilote JDBC obtient les valeurs lors de l'établissement de la connexion. Le pilote JDBC version 1.x obtient les valeurs à la suite d’une requête.


| Version du pilote JDBC | getDatabaseProductNom () résultat | getDatabaseProductRésultat de la version () | 
| --- | --- | --- | 
|  2.2  |  Redshift  |  8,0.2  | 
|  1.x  |  PostgreSQL  |  08,00.0002  | 

Le tableau suivant répertorie les DatabaseMetadata informations renvoyées par la getTypeInfo fonction pour chaque version du pilote JDBC. 


| Version du pilote JDBC | getTypeInfo résultat | 
| --- | --- | 
|  2.2  |  Compatible avec les types de données Redshift  | 
|  1.x  |  Compatible avec les types de données PostgreSQL  | 

# Création de fichiers d’initialisation (.ini) pour le pilote JDBC version 2.x
<a name="jdbc20-ini-file"></a>

En utilisant des fichiers d’initialisation (.ini) pour le pilote JDBC Amazon Redshift version 2.x, vous pouvez spécifier des paramètres de configuration au niveau du système. Par exemple, les paramètres d’authentification de fournisseur d’identité fédéré peuvent varier pour chaque application. Le fichier .ini fournit un emplacement commun aux clients SQL pour obtenir les paramètres de configuration requis. 

Vous pouvez créer un fichier d’initialisation (.ini) du pilote JDBC version 2.x qui contient des options de configuration pour les clients SQL. Le nom par défaut du fichier est `rsjdbc.ini`. Le pilote JDBC version 2.x recherche le fichier .ini aux emplacements suivants, répertoriés par ordre de priorité :
+ Le paramètre `IniFile` dans l’URL de connexion ou dans la boîte de dialogue des propriétés de connexion du client SQL. Assurez-vous que le paramètre `IniFile` contient le chemin d’accès complet au fichier .ini, y compris le nom du fichier. Pour plus d’informations sur le paramètre `IniFile`, consultez [IniFile](jdbc20-configuration-options.md#jdbc20-inifile-option). Si le paramètre `IniFile` spécifie de manière incorrecte l’emplacement du fichier .ini, une erreur s’affiche.
+ Variables d’environnement telles que AMAZON\$1REDSHIFT\$1JDBC\$1INI\$1FILE avec le chemin complet, y compris le nom du fichier. Vous pouvez utiliser `rsjdbc.ini` ou spécifier un nom de fichier. Si la variable d’environnement AMAZON\$1REDSHIFT\$1JDBC\$1INI\$1FILE spécifie de manière incorrecte l’emplacement du fichier .ini, une erreur s’affiche.
+ Répertoire dans lequel se trouve le fichier JAR du pilote.
+ Répertoire de base de l’utilisateur.
+ Répertoire temporaire du système.

Vous pouvez organiser le fichier .ini en sections, par exemple, [DRIVER]. Chaque section contient des paires clé-valeur qui spécifient divers paramètres de connexion. Vous pouvez utiliser le paramètre `IniSection` pour spécifier une section dans le fichier .ini. Pour plus d’informations sur le paramètre `IniSection`, consultez [IniSection](jdbc20-configuration-options.md#jdbc20-inisection-option). 

Voici un exemple de format de fichier .ini, avec des sections pour [DRIVER], [DEV], [QA] et [PROD]. La section [DRIVER] peut s’appliquer à n’importe quelle connexion.

```
[DRIVER]
key1=val1
key2=val2

[DEV]
key1=val1
key2=val2

[QA]
key1=val1
key2=val2

[PROD]
key1=val1
key2=val2
```

Le pilote JDBC version 2.x charge les paramètres de configuration à partir des emplacements suivants, répertoriés par ordre de priorité :
+ Paramètres de configuration par défaut dans le code de l’application.
+ Propriétés de la section [DRIVER] du fichier .ini, si inclus.
+ Paramètres de configuration de la section personnalisée, si l’option `IniSection` est fournie dans l’URL de connexion ou dans la boîte de dialogue des propriétés de connexion du client SQL.
+ Propriétés de l’objet de propriété de connexion spécifié dans l’appel `getConnection`.
+ Paramètres de configuration spécifiés dans l’URL de connexion.

# Options de configuration du pilote JDBC version 2.x
<a name="jdbc20-configuration-options"></a>

Vous trouverez ci-dessous des descriptions des options que vous pouvez spécifier pour la version 2.2 du pilote Amazon Redshift JDBC. Les options de configuration ne sont pas sensibles à la casse.

Vous pouvez définir les propriétés de configuration à l’aide de l’URL de connexion. Pour de plus amples informations, veuillez consulter [Création de l’URL de connexion](jdbc20-build-connection-url.md).

**Topics**
+ [AccessKeyID](#jdbc20-accesskeyid-option)
+ [Autoriser le DBUser remplacement](#jdbc20-allowdbuseroverride-option)
+ [App\$1ID](#jdbc20-app-id-option)
+ [App\$1Name](#jdbc20-app-name-option)
+ [ApplicationName](#jdbc20-applicationname-option)
+ [AuthProfile](#jdbc20-authprofile-option)
+ [AutoCreate](#jdbc20-autocreate-option)
+ [Client\$1ID](#jdbc20-client_id-option)
+ [Client\$1Secret](#jdbc20-client_secret-option)
+ [ClusterID](#jdbc20-clusterid-option)
+ [Compression](#jdbc20-compression-option)
+ [connectTimeout](#jdbc20-connecttimeout-option)
+ [connectionTimezone](#jdbc20-connecttimezone-option)
+ [databaseMetadataCurrentDbOnly](#jdbc20-databasemetadatacurrentdbonly-option)
+ [DbUser](#jdbc20-dbuser-option)
+ [DbGroups](#jdbc20-dbgroups-option)
+ [DBNAME](#jdbc20-dbname-option)
+ [defaultRowFetchTaille](#jdbc20-defaultrowfetchsize-option)
+ [DisableIsValidQuery](#jdbc20-disableisvalidquery-option)
+ [enableFetchRingTampon](#jdbc20-enablefetchringbuffer-option)
+ [enableMultiSqlSupport](#jdbc20-enablemultisqlsupport-option)
+ [fetchRingBufferTaille](#jdbc20-fetchringbuffersize-option)
+ [ForceLowercase](#jdbc20-forcelowercase-option)
+ [groupFederation](#jdbc20-groupFederation-option)
+ [HOST](#jdbc20-host-option)
+ [IAMDisableCache](#jdbc20-iamdisablecache-option)
+ [IAMDuration](#jdbc20-iamduration-option)
+ [Idc\$1Client\$1Display\$1Name](#jdbc20-idc_client_display_name)
+ [Idc\$1Region](#jdbc20-idc_region)
+ [IdP\$1Host](#jdbc20-idp_host-option)
+ [IdP\$1Partition](#jdbc20-idp_partition-option)
+ [IdP\$1Port](#jdbc20-idp_port-option)
+ [IdP\$1Tenant](#jdbc20-idp_tenant-option)
+ [IdP\$1Response\$1Timeout](#jdbc20-idp_response_timeout-option)
+ [IniFile](#jdbc20-inifile-option)
+ [IniSection](#jdbc20-inisection-option)
+ [isServerless](#jdbc20-isserverless-option)
+ [Issuer\$1Url](#jdbc20-issuer-url)
+ [Listen\$1Port](#jdbc20-listen-port)
+ [Login\$1URL](#jdbc20-login_url-option)
+ [loginTimeout](#jdbc20-logintimeout-option)
+ [loginToRp](#jdbc20-logintorp-option)
+ [LogLevel](#jdbc20-loglevel-option)
+ [LogPath](#jdbc20-logpath-option)
+ [OverrideSchemaPatternType](#jdbc20-override-schema-pattern-type)
+ [Partner\$1SPID](#jdbc20-partner_spid-option)
+ [Mot de passe](#jdbc20-password-option)
+ [Plugin\$1Name](#jdbc20-plugin_name-option)
+ [PORT](#jdbc20-port-option)
+ [Preferred\$1Role](#jdbc20-preferred_role-option)
+ [Profil](#jdbc20-profile-option)
+ [PWD](#jdbc20-pwd-option)
+ [queryGroup](#jdbc20-querygroup-option)
+ [readOnly](#jdbc20-readonly-option)
+ [Région](#jdbc20-region-option)
+ [reWriteBatchedInsertions](#jdbc20-rewritebatchedinserts-option)
+ [reWriteBatchedInsertsSize](#jdbc20-rewritebatchedinsertssize-option)
+ [roleArn](#jdbc20-rolearn-option)
+ [roleSessionName](#jdbc20-roleaessionname-option)
+ [scope](#jdbc20-scope-option)
+ [SecretAccessKey](#jdbc20-secretaccesskey-option)
+ [SessionToken](#jdbc20-sessiontoken-option)
+ [serverlessAcctId](#jdbc20-serverlessacctid-option)
+ [serverlessWorkGroup](#jdbc20-serverlessworkgroup-option)
+ [socketFactory](#jdbc20-socketfactory-option)
+ [socketTimeout](#jdbc20-sockettimeout-option)
+ [SSL](#jdbc20-ssl-option)
+ [SSL\$1Insecure](#jdbc20-ssl_insecure-option)
+ [SSLCert](#jdbc20-sslcert-option)
+ [SSLFactory](#jdbc20-sslfactory-option)
+ [SSLKey](#jdbc20-sslkey-option)
+ [SSLMode](#jdbc20-sslmode-option)
+ [SSLPassword](#jdbc20-sslpassword-option)
+ [SSLRootCert](#jdbc20-sslrootcert-option)
+ [StsEndpointUrl](#jdbc20-stsendpointurl-option)
+ [tcpKeepAlive](#jdbc20-tcpkeepalive-option)
+ [jeton](#jdbc20-token-option)
+ [token\$1type](#jdbc20-token-type-option)
+ [UID](#jdbc20-uid-option)
+ [Utilisateur](#jdbc20-user-option)
+ [webIdentityToken](#jdbc20-webidentitytoken-option)

## AccessKeyID
<a name="jdbc20-accesskeyid-option"></a>
+ **Valeur par défaut** – Aucune
+ **Types de données** – Chaîne

Vous pouvez spécifier ce paramètre pour entrer la clé d’accès IAM pour l’utilisateur ou le rôle. Vous pouvez généralement localiser la clé en consultant une chaîne ou un profil utilisateur existant. Si vous spécifiez ce paramètre, vous devez également spécifier le paramètre `SecretAccessKey`. S'il est transmis dans l'URL JDBC, l' AccessKeyID doit être codé en URL.

Ce paramètre est facultatif.

## Autoriser le DBUser remplacement
<a name="jdbc20-allowdbuseroverride-option"></a>
+ **Valeur par défaut** : 0
+ **Types de données** – Chaîne

Cette option spécifie si le pilote utilise la valeur de l’assertion SAML ou la valeur `DbUser` spécifiée dans la propriété de connexion `DbUser` dans l’URL de connexion. 

Ce paramètre est facultatif.

**1**  
Le pilote utilise la valeur `DbUser` de l’assertion SAML.  
Si l’assertion SAML ne spécifie pas de valeur pour `DBUser`, le pilote utilise la valeur spécifiée dans la propriété de connexion `DBUser`. Si la propriété de connexion ne spécifie pas non plus de valeur, le pilote utilise la valeur spécifiée dans le profil de connexion.

**0**  
Le pilote utilise la valeur `DBUser` spécifiée dans la propriété de connexion `DBUser`.  
Si la propriété de connexion `DBUser` ne spécifie pas de valeur, le pilote utilise la valeur spécifiée dans le profil de connexion. Si le profil de connexion ne spécifie pas non plus de valeur, le pilote utilise la valeur de l’assertion SAML.

## App\$1ID
<a name="jdbc20-app-id-option"></a>
+ **Valeur par défaut** – Aucune
+ **Types de données** – Chaîne

L’ID unique fourni par Okta associé à votre application Amazon Redshift. 

Ce paramètre est obligatoire si vous vous authentifiez via le service Okta.

## App\$1Name
<a name="jdbc20-app-name-option"></a>
+ **Valeur par défaut** – Aucune
+ **Types de données** – Chaîne

Le nom de l’application Okta que vous utilisez pour authentifier la connexion à Amazon Redshift. 

Ce paramètre est facultatif.

## ApplicationName
<a name="jdbc20-applicationname-option"></a>
+ **Valeur par défaut** – null
+ **Types de données** – Chaîne

Nom de l’application à transmettre à Amazon Redshift à des fins d’audit. 

Ce paramètre est facultatif.

## AuthProfile
<a name="jdbc20-authprofile-option"></a>
+ **Valeur par défaut** – Aucune
+ **Types de données** – Chaîne

Le nom du profil d’authentification à utiliser pour la connexion à Amazon Redshift. 

Ce paramètre est facultatif.

## AutoCreate
<a name="jdbc20-autocreate-option"></a>
+ **Valeur par défaut** — false
+ **Types de données** – Booléen

Cette option spécifie si le pilote provoque la création d’un nouvel utilisateur lorsque l’utilisateur spécifié n’existe pas. 

Ce paramètre est facultatif.

**true**  
Si l’utilisateur spécifié par `DBUser` ou l’ID unique (UID) n’existe pas, un nouvel utilisateur portant ce nom est créé.

**false**  
Le pilote ne crée pas de nouveaux utilisateurs. Si l’utilisateur spécifié n’existe pas, l’authentification échoue.

## Client\$1ID
<a name="jdbc20-client_id-option"></a>
+ **Valeur par défaut** – Aucune
+ **Types de données** – Chaîne

L’ID client à utiliser lors de l’authentification de la connexion à l’aide du service Azure AD. 

Ce paramètre est obligatoire si vous vous authentifiez via le service Azure AD.

## Client\$1Secret
<a name="jdbc20-client_secret-option"></a>
+ **Valeur par défaut** – Aucune
+ **Types de données** – Chaîne

Le secret client à utiliser lors de l’authentification de la connexion à l’aide du service Azure AD. 

Ce paramètre est obligatoire si vous vous authentifiez via le service Azure AD.

## ClusterID
<a name="jdbc20-clusterid-option"></a>
+ **Valeur par défaut** – Aucune
+ **Types de données** – Chaîne

Le nom du cluster Amazon Redshift auquel vous souhaitez vous connecter. Le pilote tente de détecter ce paramètre à partir de l’hôte donné. Si vous utilisez un Network Load Balancer (NLB) et que vous vous connectez via IAM, le pilote ne le détectera pas. Vous pouvez donc le définir à l’aide de cette option de connexion. 

Ce paramètre est facultatif.

## Compression
<a name="jdbc20-compression-option"></a>
+ **Valeur par défaut** : désactivé
+ **Types de données** – Chaîne

Méthode de compression utilisée pour les communications par protocole filaire entre le serveur Amazon Redshift et le client ou le pilote.

Ce paramètre est facultatif.

Vous pouvez spécifier les valeurs suivantes :
+ **lz4**

  Définit la méthode de compression utilisée pour les communications par protocole filaire avec Amazon Redshift sur lz4.
+ **off**

  N’utilise pas la compression pour les communications par protocole filaire avec Amazon Redshift.

## connectTimeout
<a name="jdbc20-connecttimeout-option"></a>
+ **Valeur par défaut** – 10
+ **Type de données** – Entier

Valeur de délai d’expiration à utiliser pour les opérations de connexion de socket. Si le temps nécessaire à l’établissement d’une connexion Amazon Redshift dépasse cette valeur, la connexion est considérée comme non disponible. Le délai d’expiration est spécifié en secondes. Une valeur de 0 signifie qu’aucun délai d’expiration n’est spécifié.

Ce paramètre est facultatif.

## connectionTimezone
<a name="jdbc20-connecttimezone-option"></a>
+ **Valeur par défaut** : LOCAL
+ **Types de données** – Chaîne

Fuseau horaire au niveau de la session.

Ce paramètre est facultatif.

Vous pouvez spécifier les valeurs suivantes :

**LOCAL**  
Configure le fuseau horaire au niveau de la session sur le fuseau horaire de la JVM LOCAL.

**SERVER**  
Configure le fuseau horaire au niveau de la session sur le fuseau horaire défini pour l’utilisateur sur le serveur Amazon Redshift. Vous pouvez configurer les fuseaux horaires au niveau de la session pour les utilisateurs à l’aide de la commande suivante :  

```
ALTER USER
[...]
SET TIMEZONE TO [...];
```

## databaseMetadataCurrentDbOnly
<a name="jdbc20-databasemetadatacurrentdbonly-option"></a>
+ **Valeur par défaut** – true
+ **Types de données** – Booléen

Cette option spécifie si l’API de métadonnées récupère les données de toutes les bases de données accessibles ou uniquement de la base de données connectée. 

Ce paramètre est facultatif.

Vous pouvez spécifier les valeurs suivantes :

**true**  
L’application récupère les métadonnées d’une seule base de données.

**false**  
L'application récupère les métadonnées de toutes les bases de données accessibles.

## DbUser
<a name="jdbc20-dbuser-option"></a>
+ **Valeur par défaut** – Aucune
+ **Types de données** – Chaîne

L’ID utilisateur à utiliser avec votre compte Amazon Redshift. Vous pouvez utiliser un identifiant qui n'existe pas actuellement si vous avez activé la AutoCreate propriété. 

Ce paramètre est facultatif.

## DbGroups
<a name="jdbc20-dbgroups-option"></a>
+ **Valeur par défaut** – PUBLIC
+ **Types de données** – Chaîne

Une liste séparée par des virgules des noms de groupes de bases de données existants auxquels `DBUser` se joint pour la séance en cours. 

Ce paramètre est facultatif.

## DBNAME
<a name="jdbc20-dbname-option"></a>
+ **Valeur par défaut** – null
+ **Types de données** – Chaîne

Le nom de la base de données à laquelle se connecter. Vous pouvez utiliser cette option pour spécifier le nom de la base de données dans l’URL de connexion JDBC. 

Ce paramètre est obligatoire. Vous devez spécifier le nom de la base de données, soit dans l’URL de connexion, soit dans les propriétés de connexion de l’application cliente.

## defaultRowFetchTaille
<a name="jdbc20-defaultrowfetchsize-option"></a>
+ **Valeur par défaut** : 0
+ **Type de données** – Entier

Cette option spécifie une valeur par défaut pour getFetchSize. 

Ce paramètre est facultatif.

Vous pouvez spécifier les valeurs suivantes :

**0**  
Récupérez toutes les lignes en une seule opération.

**Nombre entier positif**  
Nombre de lignes à extraire de la base de données pour chaque itération de récupération du. ResultSet

## DisableIsValidQuery
<a name="jdbc20-disableisvalidquery-option"></a>
+ **Valeur par défaut** – False
+ **Types de données** – Booléen

Cette option spécifie si le pilote soumet une nouvelle requête de base de données lors de l’utilisation de la méthode Connection.isValid() pour déterminer si la connexion à la base de données est active. 

Ce paramètre est facultatif.

**true**  
Le pilote ne soumet pas de requête lors de l’utilisation de Connection.isValid() pour déterminer si la connexion à la base de données est active. Cela peut amener le pilote à identifier de manière incorrecte la connexion à la base de données comme étant active si le serveur de base de données s’est arrêté de manière inattendue.

**false**  
Le pilote soumet une requête lors de l’utilisation de Connection.isValid() pour déterminer si la connexion à la base de données est active.

## enableFetchRingTampon
<a name="jdbc20-enablefetchringbuffer-option"></a>
+ **Valeur par défaut** – true
+ **Types de données** – Booléen

Cette option spécifie que le pilote récupère les lignes à l’aide d’un tampon en anneau sur un thread séparé. Le paramètre fetchRingBuffer Size indique la taille de la mémoire tampon en anneau. 

La mémoire tampon en anneau implémente la gestion automatique de la mémoire dans JDBC afin d'éviter les erreurs out-of-memory (OOM) lors des opérations de récupération de données. La mémoire tampon surveille la taille réelle des données mises en mémoire tampon en temps réel, garantissant ainsi que l'utilisation totale de la mémoire par le pilote reste dans les limites définies. Lorsque la capacité de la mémoire tampon est atteinte, le pilote interrompt les opérations de récupération des données, empêchant ainsi le débordement de mémoire sans intervention manuelle. Cette protection intégrée élimine automatiquement les erreurs OOM, sans qu'aucune configuration ne soit requise de la part des utilisateurs.

Si une transaction détecte une instruction contenant plusieurs commandes SQL séparées par des points-virgules, la mémoire tampon de l'anneau de récupération pour cette transaction est définie sur false. enableFetchRingLa valeur du tampon ne change pas. 

Ce paramètre est facultatif.

**Note**  
Lorsque la mémoire tampon est désactivée et que la taille de récupération n'est pas correctement configurée, des problèmes out-of-memory (OOM) peuvent survenir. Pour plus d'informations sur la configuration de la taille de lecture, cliquez [ici](https://docs.aws.amazon.com/redshift/latest/dg/set-the-JDBC-fetch-size-parameter.html).

## enableMultiSqlSupport
<a name="jdbc20-enablemultisqlsupport-option"></a>
+ **Valeur par défaut** – true
+ **Types de données** – Booléen

Cette option spécifie s’il faut traiter plusieurs commandes SQL séparées par des points-virgules dans une instruction. 

Ce paramètre est facultatif.

Vous pouvez spécifier les valeurs suivantes :

**true**  
Le pilote traite plusieurs commandes SQL, séparées par des points-virgules, dans un objet Statement.

**false**  
Le pilote renvoie une erreur pour plusieurs commandes SQL dans une seule instruction.

## fetchRingBufferTaille
<a name="jdbc20-fetchringbuffersize-option"></a>
+ **Valeur par défaut** – 1G
+ **Types de données** – Chaîne

Cette option spécifie la taille de la mémoire tampon en anneau utilisée lors de la récupération du jeu de résultats. Vous pouvez spécifier une taille en octets, par exemple 1K pour 1 Ko, 5000 pour 5 000 octets, 1M pour 1 Mo, 1G pour 1 Go, etc. Vous pouvez également spécifier un pourcentage de mémoire de segment. Le pilote arrête de récupérer les lignes lorsqu’il atteint la limite. L’extraction reprend lorsque l’application lit les lignes et libère de l’espace dans la mémoire tampon en anneau. 

Ce paramètre est facultatif.

## ForceLowercase
<a name="jdbc20-forcelowercase-option"></a>
+ **Valeur par défaut** — false
+ **Types de données** – Booléen

Cette option indique si le pilote met en minuscules tous les groupes de bases de données (DbGroups) envoyés par le fournisseur d'identité à Amazon Redshift lors de l'utilisation de l'authentification unique. 

Ce paramètre est facultatif.

**true**  
Le pilote met en minuscules tous les groupes de bases de données envoyés par le fournisseur d’identité.

**false**  
Le pilote ne modifie pas les groupes de bases de données.

## groupFederation
<a name="jdbc20-groupFederation-option"></a>
+ **Valeur par défaut** — false
+ **Types de données** – Booléen

Cette option spécifie si les groupes d’IDP Amazon Redshift doivent être utilisés. Ceci est pris en charge par l'API GetClusterCredentials V2. 

Ce paramètre est facultatif.

**true**  
Utilisez les groupes Amazon Redshift Identity Provider (IDP).

**false**  
Utilisez l'API STS et GetClusterCredentials pour la fédération d'utilisateurs et spécifiez DbGroups explicitement la connexion.

## HOST
<a name="jdbc20-host-option"></a>
+ **Valeur par défaut** – null
+ **Types de données** – Chaîne

Le nom d’hôte du serveur Amazon Redshift auquel se connecter. Vous pouvez utiliser cette option pour spécifier le nom d’hôte dans l’URL de connexion JDBC. 

Ce paramètre est obligatoire. Vous devez spécifier le nom d’hôte, soit dans l’URL de connexion, soit dans les propriétés de connexion de l’application cliente.

## IAMDisableCache
<a name="jdbc20-iamdisablecache-option"></a>
+ **Valeur par défaut** — false
+ **Types de données** – Booléen

Cette option spécifie si les informations d’identification IAM sont mises en cache.

Ce paramètre est facultatif.

**true**  
Les informations d’identification IAM ne sont pas mises en cache.

**false**  
Les informations d’identification IAM sont mises en cache. Cela améliore les performances lorsque les demandes envoyées à API Gateway sont limitées, par exemple.

## IAMDuration
<a name="jdbc20-iamduration-option"></a>
+ **Valeur par défaut** – 900
+ **Type de données** – Entier

La durée, en secondes, jusqu’au moment de l’expiration des informations d’identification IAM temporaires. 
+ **Valeur minimale** – 900
+ **Valeur maximale** – 3 600

Ce paramètre est facultatif.

## Idc\$1Client\$1Display\$1Name
<a name="jdbc20-idc_client_display_name"></a>
+ **Valeur par défaut** : pilote JDBC Amazon Redshift
+ **Types de données** – Chaîne

Le nom d'affichage à utiliser pour le client qui l'utilise BrowserIdcAuthPlugin.

Ce paramètre est facultatif.

## Idc\$1Region
<a name="jdbc20-idc_region"></a>
+ **Valeur par défaut** – Aucune
+ **Types de données** – Chaîne

 AWS Région dans laquelle se trouve l'instance IAM Identity Center.

Ce paramètre est requis uniquement lors de l’authentification à l’aide de `BrowserIdcAuthPlugin` dans l’option de configuration plugin\$1name.

## IdP\$1Host
<a name="jdbc20-idp_host-option"></a>
+ **Valeur par défaut** – Aucune
+ **Types de données** – Chaîne

L’hôte IdP (fournisseur d’identité) que vous utilisez pour vous authentifier dans Amazon Redshift. Cela peut être spécifié dans la chaîne de connexion ou dans un profil. 

Ce paramètre est facultatif.

## IdP\$1Partition
<a name="jdbc20-idp_partition-option"></a>
+ **Valeur par défaut** – Aucune
+ **Types de données** – Chaîne

Spécifie la partition cloud sur laquelle votre fournisseur d'identité (IdP) est configuré. Cela détermine le point de terminaison d'authentification IdP auquel le pilote se connecte.

Si ce paramètre est laissé vide, le pilote utilise par défaut la partition commerciale. Les valeurs possibles sont :
+  `us-gov`: utilisez cette valeur si votre IdP est configuré dans Azure Government. Par exemple, Azure AD Government utilise le point de terminaison`login.microsoftonline.us`.
+  `cn`: Utilisez cette valeur si votre IdP est configuré dans la partition cloud de Chine. Par exemple, Azure AD Chine utilise le point de terminaison`login.chinacloudapi.cn`. 

Ce paramètre est facultatif.

## IdP\$1Port
<a name="jdbc20-idp_port-option"></a>
+ **Valeur par défaut** – Aucune
+ **Types de données** – Chaîne

Le port utilisé par un IdP (fournisseur d’identité). Vous pouvez spécifier le port soit dans la chaîne de connexion, soit dans un profil. La valeur par défaut du port est 5439. En fonction du port que vous avez sélectionné lors de la création, de la modification ou de la migration du cluster, autorisez l’accès au port sélectionné. 

Ce paramètre est facultatif.

## IdP\$1Tenant
<a name="jdbc20-idp_tenant-option"></a>
+ **Valeur par défaut** – Aucune
+ **Types de données** – Chaîne

ID de locataire Azure AD pour votre application Amazon Redshift. 

Ce paramètre est obligatoire si vous vous authentifiez via le service Azure AD.

## IdP\$1Response\$1Timeout
<a name="jdbc20-idp_response_timeout-option"></a>
+ **Valeur par défaut** – 120
+ **Type de données** – Entier

La durée, en secondes, pendant laquelle le pilote attend la réponse SAML du fournisseur d’identité lors de l’utilisation des services SAML ou Azure AD via un plugin de navigateur. 

Ce paramètre est facultatif.

## IniFile
<a name="jdbc20-inifile-option"></a>
+ **Valeur par défaut** – Aucune
+ **Types de données** – Chaîne

Le chemin complet du fichier .ini, y compris le nom du fichier. Par exemple :

```
IniFile="C:\tools\rsjdbc.ini"
```

Pour plus d’informations concernant le fichier .ini, consultez [Création de fichiers d’initialisation (.ini) pour le pilote JDBC version 2.x](jdbc20-ini-file.md).

Ce paramètre est facultatif.

## IniSection
<a name="jdbc20-inisection-option"></a>
+ **Valeur par défaut** – Aucune
+ **Types de données** – Chaîne

Le nom d’une section du fichier .ini contenant les options de configuration. Pour plus d’informations concernant le fichier .ini, consultez [Création de fichiers d’initialisation (.ini) pour le pilote JDBC version 2.x](jdbc20-ini-file.md). 

L’exemple suivant spécifie la section [Prod] du fichier .ini :

```
IniSection="Prod"
```

Ce paramètre est facultatif.

## isServerless
<a name="jdbc20-isserverless-option"></a>
+ **Valeur par défaut** — false
+ **Types de données** – Booléen

Cette option indique si l’hôte du point de terminaison Amazon Redshift est une instance sans serveur. Le pilote tente de détecter ce paramètre à partir de l’hôte donné. Si vous utilisez un Network Load Balancer (NLB), le pilote ne le détectera pas. Vous pouvez donc le définir ici. 

Ce paramètre est facultatif.

**true**  
L’hôte du point de terminaison Amazon Redshift est une instance sans serveur.

**false**  
L’hôte du point de terminaison Amazon Redshift est un cluster provisionné.

## Issuer\$1Url
<a name="jdbc20-issuer-url"></a>
+ **Valeur par défaut** – Aucune
+ **Types de données** – Chaîne

Pointe vers le point de terminaison de l'instance du serveur AWS IAM Identity Center. 

Ce paramètre est requis uniquement lors de l’authentification à l’aide de `BrowserIdcAuthPlugin` dans l’option de configuration plugin\$1name.

## Listen\$1Port
<a name="jdbc20-listen-port"></a>
+ **Valeur par défaut** : 7890
+ **Type de données** – Entier

Port utilisé par le pilote pour recevoir la réponse SAML du fournisseur d'identité ou le code d'autorisation lors de l'utilisation des services SAML, Azure AD ou AWS Identity Center via un plug-in de navigateur.

Ce paramètre est facultatif.

## Login\$1URL
<a name="jdbc20-login_url-option"></a>
+ **Valeur par défaut** – Aucune
+ **Types de données** – Chaîne

L’URL de la ressource sur le site Web du fournisseur d’identité lors de l’utilisation des services SAML ou Azure AD via un plugin de navigateur. 

Ce paramètre est requis si vous vous authentifiez avec les services SAML ou Azure AD via un plugin de navigateur.

## loginTimeout
<a name="jdbc20-logintimeout-option"></a>
+ **Valeur par défaut** : 0
+ **Type de données** – Entier

Le nombre de secondes à attendre avant d’interrompre la connexion et l’authentification au serveur. Si l’établissement de la connexion dépasse ce seuil, la connexion est abandonnée. 

Lorsque cette propriété est définie sur 0, les connexions ne sont pas interrompues.

Ce paramètre est facultatif.

## loginToRp
<a name="jdbc20-logintorp-option"></a>
+ **Valeur par défaut** : `urn:amazon:webservices`
+ **Types de données** – Chaîne

L’approbation des parties utilisatrices que vous souhaitez utiliser pour le type d’authentification AD FS. 

Ce paramètre est facultatif.

## LogLevel
<a name="jdbc20-loglevel-option"></a>
+ **Valeur par défaut** : 0
+ **Type de données** – Entier

Utilisez cette propriété pour activer ou désactiver la journalisation dans le pilote et pour spécifier la quantité de détails inclus dans les fichiers journaux. 

Activez la journalisation juste assez longtemps pour capturer un problème. La journalisation diminue performances et peut consommer une grande quantité d’espace disque.

Ce paramètre est facultatif.

Définissez le paramètre sur l’une des valeurs suivantes :

**0**  
Désactiver toute la journalisation.

**1**  
Activez la journalisation au niveau FATAL, qui enregistre les événements d’erreur très graves qui conduiront le pilote à abandonner les opérations.

**2**  
Activez la journalisation au niveau ERROR, qui consigne les événements d’erreur qui peuvent tout de même permettre au pilote de poursuivre son exécution.

**3**  
Activez la journalisation au niveau WARNING, qui consigne les événements susceptibles d’entraîner une erreur si aucune action n’est entreprise.

**4**  
Activez la journalisation au niveau INFO, qui consigne les informations générales décrivant la progression du pilote.

**5**  
Activez la journalisation au niveau DEBUG, qui enregistre des informations détaillées utiles pour le débogage du pilote.

**6**  
Activez la journalisation au niveau TRACE, qui enregistre toute l’activité du pilote.

Lorsque la journalisation est activée, le pilote produit les fichiers journaux suivants à l’emplacement spécifié dans la propriété `LogPath` :
+ ** `redshift_jdbc.log`** : fichier qui enregistre l’activité du pilote qui n’est pas spécifique à une connexion.
+ **`redshift_jdbc_connection_[Number].log`** : – Fichier pour chaque connexion établie à la base de données, où`[Number]` est un numéro qui distingue chaque fichier journal des autres. Ce fichier enregistre l’activité du pilote spécifique à la connexion. 

Si la LogPath valeur n'est pas valide, le pilote envoie les informations enregistrées au flux de sortie standard,`System.out`.

## LogPath
<a name="jdbc20-logpath-option"></a>
+ **Valeur par défaut** – Le répertoire de travail actuel.
+ **Types de données** – Chaîne

Le chemin complet du dossier dans lequel le pilote enregistre les fichiers journaux lorsque la propriété DSILog Level est activée. 

Pour avoir la garantie que l’URL de connexion est compatible avec toutes les applications JDBC, nous vous recommandons de traiter les barres obliques inverses (\$1) dans le chemin d’accès de votre fichier en saisissant une autre barre oblique inverse.

Ce paramètre est facultatif.

## OverrideSchemaPatternType
<a name="jdbc20-override-schema-pattern-type"></a>
+ **Valeur par défaut** – null
+ **Type de données** – Entier

Cette option indique si le type de requête utilisé dans les appels getTables doit être remplacé.

**0**  
Requête universelle sans schéma

**1**  
Requête à schéma local

**2**  
Requête à schéma externe

Ce paramètre est facultatif.

## Partner\$1SPID
<a name="jdbc20-partner_spid-option"></a>
+ **Valeur par défaut** – Aucune
+ **Types de données** – Chaîne

La valeur SPID (ID du fournisseur de services) du partenaire à utiliser lors de l'authentification de la connexion à l'aide du PingFederate service. 

Ce paramètre est facultatif.

## Mot de passe
<a name="jdbc20-password-option"></a>
+ **Valeur par défaut** – Aucune
+ **Types de données** – Chaîne

Lors de la connexion à l’aide de l’authentification IAM via un fournisseur d’identité, il s’agit du mot de passe du serveur IDP\$1Host. Lors de l’utilisation de l’authentification standard, celle-ci peut être utilisée pour le mot de passe de la base de données Amazon Redshift au lieu de PWD. 

Ce paramètre est facultatif.

## Plugin\$1Name
<a name="jdbc20-plugin_name-option"></a>
+ **Valeur par défaut** – Aucune
+ **Types de données** – Chaîne

Le nom de classe entièrement qualifié pour mettre en œuvre un plugin de fournisseur d’informations d’identification spécifique. 

Ce paramètre est facultatif.

Les options de fournisseur suivantes sont prises en charge :
+ **`AdfsCredentialsProvider`** – Active Directory Federation Service.
+ **`AzureCredentialsProvider`** : service Microsoft Azure Active Directory (AD).
+ **`BasicJwtCredentialsProvider`** : service de jetons web JSON (JWT).
+ **`BasicSamlCredentialsProvider`** – informations d’identification SAML (Security Assertion Markup Language) que vous pouvez utiliser avec de nombreux fournisseurs de services SAML.
+ **`BrowserAzureCredentialsProvider`** : service Microsoft Azure Active Directory (AD) du navigateur.
+ **`BrowserAzureOAuth2CredentialsProvider`** : service Microsoft Azure Active Directory (AD) du navigateur pour l’authentification native.
+ **`BrowserIdcAuthPlugin`**— Un plugin d'autorisation utilisant AWS IAM Identity Center.
+ **`BrowserSamlCredentialsProvider`** : navigateur SAML pour les services SAML tels qu’Okta, Ping ou ADFS.
+ **`IdpTokenAuthPlugin`**— Un plugin d'autorisation qui accepte un jeton AWS IAM Identity Center ou des jetons d'identité basés sur le JSON OpenID Connect (OIDC) (JWT) provenant de n'importe quel fournisseur d'identité Web lié à IAM Identity Center. AWS 
+ **`OktaCredentialsProvider`** : service Okta.
+ **`PingCredentialsProvider`**— PingFederate Un service.

## PORT
<a name="jdbc20-port-option"></a>
+ **Valeur par défaut** – null
+ **Type de données** – Entier

Le port du serveur Amazon Redshift auquel se connecter. Vous pouvez utiliser cette option pour spécifier le port dans l’URL de connexion JDBC. 

Ce paramètre est facultatif.

## Preferred\$1Role
<a name="jdbc20-preferred_role-option"></a>
+ **Valeur par défaut** – Aucune
+ **Types de données** – Chaîne

Le rôle IAM que vous souhaitez endosser lors de la connexion à Amazon Redshift. 

Ce paramètre est facultatif.

## Profil
<a name="jdbc20-profile-option"></a>
+ **Valeur par défaut** – Aucune
+ **Types de données** – Chaîne

Le nom du profil à utiliser pour l’authentification IAM. Ce profil contient toutes les propriétés de connexion supplémentaires non spécifiées dans la chaîne de connexion. 

Ce paramètre est facultatif.

## PWD
<a name="jdbc20-pwd-option"></a>
+ **Valeur par défaut** – Aucune
+ **Types de données** – Chaîne

Le mot de passe correspondant au nom d’utilisateur Amazon Redshift que vous avez fourni à l’aide de l’UID de propriété. 

Ce paramètre est facultatif.

## queryGroup
<a name="jdbc20-querygroup-option"></a>
+ **Valeur par défaut** – null
+ **Types de données** – Chaîne

Cette option permet d’affecter une requête à une file d’attente au moment de l’exécution en assignant votre requête au groupe de requêtes approprié. Le groupe de requêtes est défini pour la séance. Toutes les requêtes qui s’exécutent sur la connexion appartiennent à ce groupe de requêtes. 

Ce paramètre est facultatif.

## readOnly
<a name="jdbc20-readonly-option"></a>
+ **Valeur par défaut** — false
+ **Types de données** – Booléen

Cette propriété spécifie si le pilote est en mode lecture seule. 

Ce paramètre est facultatif.

**true**  
La connexion est en mode lecture seule et ne peut pas écrire dans le magasin de données.

**false**  
La connexion n’est pas en mode lecture seule et peut écrire dans le magasin de données.

## Région
<a name="jdbc20-region-option"></a>
+ **Valeur par défaut** – null
+ **Types de données** – Chaîne

Cette option indique la AWS région dans laquelle se trouve le cluster. Si vous spécifiez l' StsEndPoint option, l'option Région est ignorée. L’opération de l’API `GetClusterCredentials` Redshift utilise également l’option Region. 

Ce paramètre est facultatif.

## reWriteBatchedInsertions
<a name="jdbc20-rewritebatchedinserts-option"></a>
+ **Valeur par défaut** — false
+ **Types de données** – Booléen

Cette option permet d’optimiser la réécriture et la combinaison des instructions INSERT compatibles en lots. 

Ce paramètre est facultatif.

## reWriteBatchedInsertsSize
<a name="jdbc20-rewritebatchedinsertssize-option"></a>
+ **Valeur par défaut** – 128
+ **Type de données** – Entier

Cette option permet d’optimiser la réécriture et la combinaison des instructions INSERT compatibles en lots. Cette valeur doit augmenter de façon exponentielle par puissance 2. 

Ce paramètre est facultatif.

## roleArn
<a name="jdbc20-rolearn-option"></a>
+ **Valeur par défaut** – Aucune
+ **Types de données** – Chaîne

Amazon Resource Name (ARN) du rôle. Assurez-vous de spécifier ce paramètre lorsque vous spécifiez BasicJwtCredentialsProvider l'option Plugin\$1Name. Spécifiez l’ARN au format suivant : 

`arn:partition:service:region:account-id:resource-id`

Ce paramètre est obligatoire si vous spécifiez BasicJwtCredentialsProvider l'option Plugin\$1Name.

## roleSessionName
<a name="jdbc20-roleaessionname-option"></a>
+ **Valeur par défaut** : jwt\$1redshift\$1session
+ **Types de données** – Chaîne

Un identifiant pour la séance de rôle assumé. En règle générale, vous transmettez le nom ou l’identifiant associé à l’utilisateur de votre application. Les informations d’identification de sécurité temporaires utilisées par votre application sont associées à cet utilisateur. Vous pouvez spécifier ce paramètre lorsque vous spécifiez BasicJwtCredentialsProvider l'option Plugin\$1Name. 

Ce paramètre est facultatif.

## scope
<a name="jdbc20-scope-option"></a>
+ **Valeur par défaut** – Aucune
+ **Types de données** – Chaîne

Une liste des portées, séparées par des espaces, auxquels l’utilisateur peut consentir. Vous spécifiez ce paramètre afin que votre application Microsoft Azure puisse obtenir le consentement pour APIs ce que vous souhaitez appeler. Vous pouvez spécifier ce paramètre lorsque vous spécifiez BrowserAzure OAuth2 CredentialsProvider l'option Plugin\$1Name. 

Ce paramètre est obligatoire pour le BrowserAzure OAuth2 CredentialsProvider plug-in.

## SecretAccessKey
<a name="jdbc20-secretaccesskey-option"></a>
+ **Valeur par défaut** – Aucune
+ **Types de données** – Chaîne

La clé d’accès IAM pour l’utilisateur ou le rôle. Si cela est spécifié, l' AccessKeyID doit également être spécifié. Si l'URL JDBC est transmise, elle SecretAccessKey doit être codée en URL. 

Ce paramètre est facultatif.

## SessionToken
<a name="jdbc20-sessiontoken-option"></a>
+ **Valeur par défaut** – Aucune
+ **Types de données** – Chaîne

Le jeton de séance IAM temporaire associé au rôle IAM que vous utilisez pour vous authentifier. S’il est transmis dans l’URL JDBC, le jeton de session IAM temporaire doit être encodé en URL. 

Ce paramètre est facultatif.

## serverlessAcctId
<a name="jdbc20-serverlessacctid-option"></a>
+ **Valeur par défaut** – null
+ **Types de données** – Chaîne

ID du compte Amazon Redshift sans serveur. Le pilote tente de détecter ce paramètre à partir de l’hôte donné. Si vous utilisez un Network Load Balancer (NLB), le pilote ne le détectera pas. Vous pouvez donc le définir ici. 

Ce paramètre est facultatif.

## serverlessWorkGroup
<a name="jdbc20-serverlessworkgroup-option"></a>
+ **Valeur par défaut** – null
+ **Types de données** – Chaîne

Nom du groupe de travail Amazon Redshift sans serveur. Le pilote tente de détecter ce paramètre à partir de l’hôte donné. Si vous utilisez un Network Load Balancer (NLB), le pilote ne le détectera pas. Vous pouvez donc le définir ici. 

Ce paramètre est facultatif.

## socketFactory
<a name="jdbc20-socketfactory-option"></a>
+ **Valeur par défaut** – null
+ **Types de données** – Chaîne

Cette option spécifie une fabrique de sockets pour la création de sockets. 

Ce paramètre est facultatif.

## socketTimeout
<a name="jdbc20-sockettimeout-option"></a>
+ **Valeur par défaut** : 0
+ **Type de données** – Entier

Nombre de secondes à attendre pendant les opérations de lecture de socket avant expiration. Si l’opération prend plus de temps que ce seuil, alors la connexion est fermée. Lorsque cette propriété est définie sur 0, la connexion ne s’interrompt pas. 

Ce paramètre est facultatif.

## SSL
<a name="jdbc20-ssl-option"></a>
+ **Valeur par défaut** – TRUE
+ **Types de données** – Chaîne

Utilisez cette propriété pour activer ou désactiver SSL pour la connexion. 

Ce paramètre est facultatif.

Vous pouvez spécifier les valeurs suivantes :

**TRUE**  
Le pilote se connecte au serveur via SSL.

**FALSE**  
Le pilote se connecte au serveur sans utiliser SSL. Cette option n’est pas prise en charge avec l’authentification IAM.

Vous pouvez également configurer la AuthMech propriété.

## SSL\$1Insecure
<a name="jdbc20-ssl_insecure-option"></a>
+ **Valeur par défaut** – true
+ **Types de données** – Chaîne

Cette propriété indique si le certificat du serveur des hôtes IdP doit être vérifié.

Ce paramètre est facultatif.

Vous pouvez spécifier les valeurs suivantes :

**true**  
Le pilote ne vérifie pas l’authenticité du certificat du serveur IdP.

**false**  
Le pilote vérifie l'authenticité du certificat du serveur IdP.

## SSLCert
<a name="jdbc20-sslcert-option"></a>
+ **Valeur par défaut** – Aucune
+ **Types de données** – Chaîne

Le chemin d’accès complet d’un fichier .pem ou .crt contenant des certificats d’autorité de certification approuvés supplémentaires pour vérifier l’instance de serveur Amazon Redshift lors de l’utilisation de SSL. 

Ce paramètre est obligatoire s'il SSLKey est spécifié.

## SSLFactory
<a name="jdbc20-sslfactory-option"></a>
+ **Valeur par défaut** – Aucune
+ **Types de données** – Chaîne

La fabrique SSL à utiliser lors de la connexion au serveur TLS/SSL sans utiliser de certificat de serveur. 

## SSLKey
<a name="jdbc20-sslkey-option"></a>
+ **Valeur par défaut** – Aucune
+ **Types de données** – Chaîne

Le chemin complet du fichier .der contenant le fichier PKCS8 clé permettant de vérifier les certificats spécifiés dans SSLCert. 

Ce paramètre est obligatoire s'il SSLCert est spécifié.

## SSLMode
<a name="jdbc20-sslmode-option"></a>
+ **Valeur par défaut** : verify-ca
+ **Types de données** – Chaîne

Utilisez cette propriété pour spécifier la manière dont le pilote valide les certificats lorsque cette option TLS/SSL est activée. 

Ce paramètre est facultatif.

Vous pouvez spécifier les valeurs suivantes :

**verify-ca**  
Le pilote vérifie que le certificat provient d’une autorité de certification approuvée.

**verify-full**  
Le pilote vérifie que le certificat provient d'une autorité de certification approuvée et que le nom d'hôte dans le certificat correspond à celui spécifié dans l'URL de connexion.

## SSLPassword
<a name="jdbc20-sslpassword-option"></a>
+ **Valeur par défaut** : 0
+ **Types de données** – Chaîne

Le mot de passe du fichier clé crypté spécifié dans SSLKey. 

Ce paramètre est obligatoire s'il SSLKey est spécifié et si le fichier clé est crypté.

## SSLRootCert
<a name="jdbc20-sslrootcert-option"></a>
+ **Valeur par défaut** – Aucune
+ **Types de données** – Chaîne

Le chemin complet d'un fichier .pem ou .crt contenant le certificat d'autorité de certification racine (root CA certificate) pour vérifier l'instance Amazon Redshift Server lors de l'utilisation de SSL. 

## StsEndpointUrl
<a name="jdbc20-stsendpointurl-option"></a>
+ **Valeur par défaut** – null
+ **Types de données** – Chaîne

Vous pouvez spécifier un point de terminaison AWS Security Token Service (AWS STS). Si vous spécifiez cette option, l’option Region est ignorée. Vous pouvez uniquement spécifier un protocole sécurisé (HTTPS) pour ce point de terminaison. 

## tcpKeepAlive
<a name="jdbc20-tcpkeepalive-option"></a>
+ **Valeur par défaut** – TRUE
+ **Types de données** – Chaîne

Utilisez cette propriété pour activer ou désactiver les keepalives TCP. 

Ce paramètre est facultatif.

Vous pouvez spécifier les valeurs suivantes :

**TRUE**  
Le pilote utilise les keepalives TCP pour empêcher les connexions de s’interrompre.

**FALSE**  
Le pilote n’utilise pas les keepalives TCP.

## jeton
<a name="jdbc20-token-option"></a>
+ **Valeur par défaut** – Aucune
+ **Types de données** – Chaîne

Un jeton d'accès fourni par AWS IAM Identity Center ou un jeton Web JSON (JWT) OpenID Connect (OIDC) fourni par un fournisseur d'identité Web AWS lié à IAM Identity Center. Votre application doit générer ce jeton en authentifiant l'utilisateur de votre application auprès d' AWS IAM Identity Center ou d'un fournisseur d'identité lié à AWS IAM Identity Center. 

Ce paramètre fonctionne avec `IdpTokenAuthPlugin`.

## token\$1type
<a name="jdbc20-token-type-option"></a>
+ **Valeur par défaut** – Aucune
+ **Types de données** – Chaîne

Type de jeton utilisé dans `IdpTokenAuthPlugin`.

Vous pouvez spécifier les valeurs suivantes :

**ACCESS\$1TOKEN**  
Entrez cette valeur si vous utilisez un jeton d'accès fourni par AWS IAM Identity Center.

**EXT\$1JWT**  
Entrez cette valeur si vous utilisez un jeton Web JSON (JWT) OpenID Connect (OIDC) fourni par un fournisseur d’identité Web intégré à AWS IAM Identity Center.

Ce paramètre fonctionne avec `IdpTokenAuthPlugin`.

## UID
<a name="jdbc20-uid-option"></a>
+ **Valeur par défaut** – Aucune
+ **Types de données** – Chaîne

Le nom d’utilisateur de base de données que vous utilisez pour accéder à la base de données.

Ce paramètre est obligatoire.

## Utilisateur
<a name="jdbc20-user-option"></a>
+ **Valeur par défaut** – Aucune
+ **Types de données** – Chaîne

Lors de la connexion à l’aide de l’authentification IAM via un IdP, il s’agit du nom d’utilisateur du serveur idp\$1host. Lors de l’utilisation de l’authentification standard, celui-ci peut être utilisé comme nom d’utilisateur de la base de données Amazon Redshift. 

Ce paramètre est facultatif.

## webIdentityToken
<a name="jdbc20-webidentitytoken-option"></a>
+ **Valeur par défaut** – Aucune
+ **Types de données** – Chaîne

Le jeton d'accès OAuth 2.1 ou le jeton d'identification OpenID Connect fourni par le fournisseur d'identité. Votre application doit obtenir ce jeton en authentifiant l’utilisateur de votre application auprès d’un fournisseur d’identité web. Assurez-vous de spécifier ce paramètre lorsque vous spécifiez BasicJwtCredentialsProvider l'option Plugin\$1Name. 

Ce paramètre est obligatoire si vous spécifiez BasicJwtCredentialsProvider l'option Plugin\$1Name.

# Versions précédentes du pilote JDBC version 2.x
<a name="jdbc20-previous-driver-version-20"></a>

Ne téléchargez une version antérieure du pilote JDBC Amazon Redshift version 2.x que si votre outil nécessite une version spécifique du pilote. 

Il s’agit des anciens pilotes JDBC 4.2 compatibles avec la version 2.x des pilotes JDBC :
+ [https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.2.4/redshift-jdbc42-2.2.4.zip](https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.2.4/redshift-jdbc42-2.2.4.zip) [https://s3---cn-north-1.amazonaws.com.rproxy.govskope.us.cn/redshift-downloads-cn/drivers/jdbc/2.2.4/redshift-jdbc42-2.2.4.zip](https://s3---cn-north-1.amazonaws.com.rproxy.govskope.us.cn/redshift-downloads-cn/drivers/jdbc/2.2.4/redshift-jdbc42-2.2.4.zip) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.2.3/redshift-jdbc42-2.2.3.zip](https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.2.3/redshift-jdbc42-2.2.3.zip) [https://s3---cn-north-1.amazonaws.com.rproxy.govskope.us.cn/redshift-downloads-cn/drivers/jdbc/2.2.3/redshift-jdbc42-2.2.3.zip](https://s3---cn-north-1.amazonaws.com.rproxy.govskope.us.cn/redshift-downloads-cn/drivers/jdbc/2.2.3/redshift-jdbc42-2.2.3.zip) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.2.2/redshift-jdbc42-2.2.2.zip](https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.2.2/redshift-jdbc42-2.2.2.zip) [https://s3---cn-north-1.amazonaws.com.rproxy.govskope.us.cn/redshift-downloads-cn/drivers/jdbc/2.2.2/redshift-jdbc42-2.2.2.zip](https://s3---cn-north-1.amazonaws.com.rproxy.govskope.us.cn/redshift-downloads-cn/drivers/jdbc/2.2.2/redshift-jdbc42-2.2.2.zip) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.2.1/redshift-jdbc42-2.2.1.zip](https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.2.1/redshift-jdbc42-2.2.1.zip) [https://s3---cn-north-1.amazonaws.com.rproxy.govskope.us.cn/redshift-downloads-cn/drivers/jdbc/2.2.1/redshift-jdbc42-2.2.1.zip](https://s3---cn-north-1.amazonaws.com.rproxy.govskope.us.cn/redshift-downloads-cn/drivers/jdbc/2.2.1/redshift-jdbc42-2.2.1.zip) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.2.0/redshift-jdbc42-2.2.0.zip](https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.2.0/redshift-jdbc42-2.2.0.zip) [https://s3---cn-north-1.amazonaws.com.rproxy.govskope.us.cn/redshift-downloads-cn/drivers/jdbc/2.2.0/redshift-jdbc42-2.2.0.zip](https://s3---cn-north-1.amazonaws.com.rproxy.govskope.us.cn/redshift-downloads-cn/drivers/jdbc/2.2.0/redshift-jdbc42-2.2.0.zip) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.34/redshift-jdbc42-2.1.0.34.zip](https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.34/redshift-jdbc42-2.1.0.34.zip) [https://s3---cn-north-1.amazonaws.com.rproxy.govskope.us.cn/redshift-downloads-cn/drivers/jdbc/2.1.0.34/redshift-jdbc42-2.1.0.34.zip](https://s3---cn-north-1.amazonaws.com.rproxy.govskope.us.cn/redshift-downloads-cn/drivers/jdbc/2.1.0.34/redshift-jdbc42-2.1.0.34.zip) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.33/redshift-jdbc42-2.1.0.33.zip](https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.33/redshift-jdbc42-2.1.0.33.zip) [https://s3---cn-north-1.amazonaws.com.rproxy.govskope.us.cn/redshift-downloads-cn/drivers/jdbc/2.1.0.33/redshift-jdbc42-2.1.0.33.zip](https://s3---cn-north-1.amazonaws.com.rproxy.govskope.us.cn/redshift-downloads-cn/drivers/jdbc/2.1.0.33/redshift-jdbc42-2.1.0.33.zip) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.32/redshift-jdbc42-2.1.0.32.zip](https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.32/redshift-jdbc42-2.1.0.32.zip) [https://s3---cn-north-1.amazonaws.com.rproxy.govskope.us.cn/redshift-downloads-cn/drivers/jdbc/2.1.0.32/redshift-jdbc42-2.1.0.32.zip](https://s3---cn-north-1.amazonaws.com.rproxy.govskope.us.cn/redshift-downloads-cn/drivers/jdbc/2.1.0.32/redshift-jdbc42-2.1.0.32.zip) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.30/redshift-jdbc42-2.1.0.30.zip](https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.30/redshift-jdbc42-2.1.0.30.zip) [https://s3---cn-north-1.amazonaws.com.rproxy.govskope.us.cn/redshift-downloads-cn/drivers/jdbc/2.1.0.30/redshift-jdbc42-2.1.0.30.zip](https://s3---cn-north-1.amazonaws.com.rproxy.govskope.us.cn/redshift-downloads-cn/drivers/jdbc/2.1.0.30/redshift-jdbc42-2.1.0.30.zip) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.29/redshift-jdbc42-2.1.0.29.zip](https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.29/redshift-jdbc42-2.1.0.29.zip) [https://s3---cn-north-1.amazonaws.com.rproxy.govskope.us.cn/redshift-downloads-cn/drivers/jdbc/2.1.0.29/redshift-jdbc42-2.1.0.29.zip](https://s3---cn-north-1.amazonaws.com.rproxy.govskope.us.cn/redshift-downloads-cn/drivers/jdbc/2.1.0.29/redshift-jdbc42-2.1.0.29.zip) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.28/redshift-jdbc42-2.1.0.28.zip](https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.28/redshift-jdbc42-2.1.0.28.zip) [https://s3---cn-north-1.amazonaws.com.rproxy.govskope.us.cn/redshift-downloads-cn/drivers/jdbc/2.1.0.28/redshift-jdbc42-2.1.0.28.zip](https://s3---cn-north-1.amazonaws.com.rproxy.govskope.us.cn/redshift-downloads-cn/drivers/jdbc/2.1.0.28/redshift-jdbc42-2.1.0.28.zip) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.26/redshift-jdbc42-2.1.0.26.zip](https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.26/redshift-jdbc42-2.1.0.26.zip) [https://s3---cn-north-1.amazonaws.com.rproxy.govskope.us.cn/redshift-downloads-cn/drivers/jdbc/2.1.0.26/redshift-jdbc42-2.1.0.26.zip](https://s3---cn-north-1.amazonaws.com.rproxy.govskope.us.cn/redshift-downloads-cn/drivers/jdbc/2.1.0.26/redshift-jdbc42-2.1.0.26.zip) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.25/redshift-jdbc42-2.1.0.25.zip](https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.25/redshift-jdbc42-2.1.0.25.zip) [https://s3---cn-north-1.amazonaws.com.rproxy.govskope.us.cn/redshift-downloads-cn/drivers/jdbc/2.1.0.25/redshift-jdbc42-2.1.0.25.zip](https://s3---cn-north-1.amazonaws.com.rproxy.govskope.us.cn/redshift-downloads-cn/drivers/jdbc/2.1.0.25/redshift-jdbc42-2.1.0.25.zip) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.24/redshift-jdbc42-2.1.0.24.zip](https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.24/redshift-jdbc42-2.1.0.24.zip) [https://s3---cn-north-1.amazonaws.com.rproxy.govskope.us.cn/redshift-downloads-cn/drivers/jdbc/2.1.0.24/redshift-jdbc42-2.1.0.24.zip](https://s3---cn-north-1.amazonaws.com.rproxy.govskope.us.cn/redshift-downloads-cn/drivers/jdbc/2.1.0.24/redshift-jdbc42-2.1.0.24.zip) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.23/redshift-jdbc42-2.1.0.23.zip](https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.23/redshift-jdbc42-2.1.0.23.zip) [https://s3---cn-north-1.amazonaws.com.rproxy.govskope.us.cn/redshift-downloads-cn/drivers/jdbc/2.1.0.23/redshift-jdbc42-2.1.0.23.zip](https://s3---cn-north-1.amazonaws.com.rproxy.govskope.us.cn/redshift-downloads-cn/drivers/jdbc/2.1.0.23/redshift-jdbc42-2.1.0.23.zip) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.22/redshift-jdbc42-2.1.0.22.zip](https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.22/redshift-jdbc42-2.1.0.22.zip) [https://s3---cn-north-1.amazonaws.com.rproxy.govskope.us.cn/redshift-downloads-cn/drivers/jdbc/2.1.0.22/redshift-jdbc42-2.1.0.22.zip](https://s3---cn-north-1.amazonaws.com.rproxy.govskope.us.cn/redshift-downloads-cn/drivers/jdbc/2.1.0.22/redshift-jdbc42-2.1.0.22.zip) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.21/redshift-jdbc42-2.1.0.21.zip](https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.21/redshift-jdbc42-2.1.0.21.zip) [https://s3---cn-north-1.amazonaws.com.rproxy.govskope.us.cn/redshift-downloads-cn/drivers/jdbc/2.1.0.21/redshift-jdbc42-2.1.0.21.zip](https://s3---cn-north-1.amazonaws.com.rproxy.govskope.us.cn/redshift-downloads-cn/drivers/jdbc/2.1.0.21/redshift-jdbc42-2.1.0.21.zip) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.20/redshift-jdbc42-2.1.0.20.zip](https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.20/redshift-jdbc42-2.1.0.20.zip) [https://s3---cn-north-1.amazonaws.com.rproxy.govskope.us.cn/redshift-downloads-cn/drivers/jdbc/2.1.0.20/redshift-jdbc42-2.1.0.20.zip](https://s3---cn-north-1.amazonaws.com.rproxy.govskope.us.cn/redshift-downloads-cn/drivers/jdbc/2.1.0.20/redshift-jdbc42-2.1.0.20.zip) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.19/redshift-jdbc42-2.1.0.19.zip](https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.19/redshift-jdbc42-2.1.0.19.zip) [https://s3---cn-north-1.amazonaws.com.rproxy.govskope.us.cn/redshift-downloads-cn/drivers/jdbc/2.1.0.19/redshift-jdbc42-2.1.0.19.zip](https://s3---cn-north-1.amazonaws.com.rproxy.govskope.us.cn/redshift-downloads-cn/drivers/jdbc/2.1.0.19/redshift-jdbc42-2.1.0.19.zip) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.18/redshift-jdbc42-2.1.0.18.zip](https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.18/redshift-jdbc42-2.1.0.18.zip) [https://s3---cn-north-1.amazonaws.com.rproxy.govskope.us.cn/redshift-downloads-cn/drivers/jdbc/2.1.0.18/redshift-jdbc42-2.1.0.18.zip](https://s3---cn-north-1.amazonaws.com.rproxy.govskope.us.cn/redshift-downloads-cn/drivers/jdbc/2.1.0.18/redshift-jdbc42-2.1.0.18.zip) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.17/redshift-jdbc42-2.1.0.17.zip](https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.17/redshift-jdbc42-2.1.0.17.zip) [https://s3---cn-north-1.amazonaws.com.rproxy.govskope.us.cn/redshift-downloads-cn/drivers/jdbc/2.1.0.17/redshift-jdbc42-2.1.0.17.zip](https://s3---cn-north-1.amazonaws.com.rproxy.govskope.us.cn/redshift-downloads-cn/drivers/jdbc/2.1.0.17/redshift-jdbc42-2.1.0.17.zip) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.16/redshift-jdbc42-2.1.0.16.zip](https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.16/redshift-jdbc42-2.1.0.16.zip) [https://s3---cn-north-1.amazonaws.com.rproxy.govskope.us.cn/redshift-downloads-cn/drivers/jdbc/2.1.0.16/redshift-jdbc42-2.1.0.16.zip](https://s3---cn-north-1.amazonaws.com.rproxy.govskope.us.cn/redshift-downloads-cn/drivers/jdbc/2.1.0.16/redshift-jdbc42-2.1.0.16.zip) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.15/redshift-jdbc42-2.1.0.15.zip](https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.15/redshift-jdbc42-2.1.0.15.zip) [https://s3---cn-north-1.amazonaws.com.rproxy.govskope.us.cn/redshift-downloads-cn/drivers/jdbc/2.1.0.15/redshift-jdbc42-2.1.0.15.zip](https://s3---cn-north-1.amazonaws.com.rproxy.govskope.us.cn/redshift-downloads-cn/drivers/jdbc/2.1.0.15/redshift-jdbc42-2.1.0.15.zip) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.14/redshift-jdbc42-2.1.0.14.zip](https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.14/redshift-jdbc42-2.1.0.14.zip) [https://s3---cn-north-1.amazonaws.com.rproxy.govskope.us.cn/redshift-downloads-cn/drivers/jdbc/2.1.0.14/redshift-jdbc42-2.1.0.14.zip](https://s3---cn-north-1.amazonaws.com.rproxy.govskope.us.cn/redshift-downloads-cn/drivers/jdbc/2.1.0.14/redshift-jdbc42-2.1.0.14.zip) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.13/redshift-jdbc42-2.1.0.13.zip](https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.13/redshift-jdbc42-2.1.0.13.zip) [https://s3---cn-north-1.amazonaws.com.rproxy.govskope.us.cn/redshift-downloads-cn/drivers/jdbc/2.1.0.13/redshift-jdbc42-2.1.0.13.zip](https://s3---cn-north-1.amazonaws.com.rproxy.govskope.us.cn/redshift-downloads-cn/drivers/jdbc/2.1.0.13/redshift-jdbc42-2.1.0.13.zip) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.12/redshift-jdbc42-2.1.0.12.zip](https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.12/redshift-jdbc42-2.1.0.12.zip) [https://s3---cn-north-1.amazonaws.com.rproxy.govskope.us.cn/redshift-downloads-cn/drivers/jdbc/2.1.0.12/redshift-jdbc42-2.1.0.12.zip](https://s3---cn-north-1.amazonaws.com.rproxy.govskope.us.cn/redshift-downloads-cn/drivers/jdbc/2.1.0.12/redshift-jdbc42-2.1.0.12.zip) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.11/redshift-jdbc42-2.1.0.11.zip](https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.11/redshift-jdbc42-2.1.0.11.zip) [https://s3---cn-north-1.amazonaws.com.rproxy.govskope.us.cn/redshift-downloads-cn/drivers/jdbc/2.1.0.11/redshift-jdbc42-2.1.0.11.zip](https://s3---cn-north-1.amazonaws.com.rproxy.govskope.us.cn/redshift-downloads-cn/drivers/jdbc/2.1.0.11/redshift-jdbc42-2.1.0.11.zip) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.10/redshift-jdbc42-2.1.0.10.zip](https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.10/redshift-jdbc42-2.1.0.10.zip) [https://s3---cn-north-1.amazonaws.com.rproxy.govskope.us.cn/redshift-downloads-cn/drivers/jdbc/2.1.0.10/redshift-jdbc42-2.1.0.10.zip](https://s3---cn-north-1.amazonaws.com.rproxy.govskope.us.cn/redshift-downloads-cn/drivers/jdbc/2.1.0.10/redshift-jdbc42-2.1.0.10.zip) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.9/redshift-jdbc42-2.1.0.9.zip](https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.9/redshift-jdbc42-2.1.0.9.zip) [https://s3---cn-north-1.amazonaws.com.rproxy.govskope.us.cn/redshift-downloads-cn/drivers/jdbc/2.1.0.9/redshift-jdbc42-2.1.0.9.zip](https://s3---cn-north-1.amazonaws.com.rproxy.govskope.us.cn/redshift-downloads-cn/drivers/jdbc/2.1.0.9/redshift-jdbc42-2.1.0.9.zip) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.8/redshift-jdbc42-2.1.0.8.zip](https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.8/redshift-jdbc42-2.1.0.8.zip) [https://s3---cn-north-1.amazonaws.com.rproxy.govskope.us.cn/redshift-downloads-cn/drivers/jdbc/2.1.0.8/redshift-jdbc42-2.1.0.8.zip](https://s3---cn-north-1.amazonaws.com.rproxy.govskope.us.cn/redshift-downloads-cn/drivers/jdbc/2.1.0.8/redshift-jdbc42-2.1.0.8.zip) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.7/redshift-jdbc42-2.1.0.7.zip](https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.7/redshift-jdbc42-2.1.0.7.zip) [https://s3---cn-north-1.amazonaws.com.rproxy.govskope.us.cn/redshift-downloads-cn/drivers/jdbc/2.1.0.7/redshift-jdbc42-2.1.0.7.zip](https://s3---cn-north-1.amazonaws.com.rproxy.govskope.us.cn/redshift-downloads-cn/drivers/jdbc/2.1.0.7/redshift-jdbc42-2.1.0.7.zip) 

# Connecteur Amazon Redshift Python
<a name="python-redshift-driver"></a>

En utilisant le connecteur Amazon Redshift pour Python, vous pouvez intégrer [le travail au AWS SDK pour Python (Boto3), ainsi qu'à Pandas et à](https://github.com/boto/boto3) Numerical Python (). NumPy Pour plus d'informations sur les pandas, consultez le référentiel des [pandas GitHub ](https://github.com/pandas-dev/pandas). Pour plus d'informations NumPy, consultez le [NumPy GitHubréférentiel](https://github.com/numpy/numpy). 

Le connecteur Amazon Redshift Python fournit une solution open source. Vous pouvez parcourir le code source, demander des améliorations, signaler des problèmes et apporter des contributions. 

Pour utiliser le connecteur Amazon Redshift Python, assurez-vous que vous disposez de Python version 3.6 ou ultérieure. Pour plus d'informations, consultez le [Contrat de licence du pilote Amazon Redshift Python](https://github.com/aws/amazon-redshift-python-driver/blob/master/LICENSE). 

Le connecteur Amazon Redshift Python fournit les éléments suivants :
+ Gestion des identités et des accès AWS Authentification (IAM). Pour de plus amples informations, veuillez consulter [Identity and Access Management dans Amazon Redshift](redshift-iam-authentication-access-control.md).
+ Authentification du fournisseur d'identité utilisant l'accès à l'API fédérée. L'accès à l'API fédéré est pris en charge par les fournisseurs d'identité d'entreprise tels que les suivants :
  + Azure AD. Pour plus d'informations, consultez le billet de blog AWS Big Data [Federate Amazon Redshift access with Microsoft Azure AD](https://aws.amazon.com/blogs/big-data/federate-amazon-redshift-access-with-microsoft-azure-ad-single-sign-on/) single sign-on.
  + Active Directory Federation Services. Pour plus d'informations, consultez le billet de blog AWS Big Data [Fédérer l'accès à votre cluster Amazon Redshift avec Active Directory Federation Services (AD FS) : Partie 1](https://aws.amazon.com/blogs/big-data/federate-access-to-your-amazon-redshift-cluster-with-active-directory-federation-services-ad-fs-part-1/). 
  + Okta. Pour plus d'informations, consultez le billet de blog consacré au AWS Big Data [Federate Amazon Redshift access with Okta as](https://aws.amazon.com/blogs/big-data/federate-amazon-redshift-access-with-okta-as-an-identity-provider/) an identity provider.
  + PingFederate. Pour plus d'informations, consultez le [PingFederate site](https://www.pingidentity.com/en/software/pingfederate.html).
  + JumpCloud. Pour plus d'informations, consultez le [JumpCloud site](https://jumpcloud.com/).
+ Types de données Amazon Redshift.

Le connecteur Amazon Redshift Python implémente la spécification 2.0 de l'API de base de données Python. Pour plus d'informations, consultez [PEP 249 : spécification de l'API de base de données Python v2.0](https://www.python.org/dev/peps/pep-0249/) sur le site web de Python.

**Topics**
+ [Installation du connecteur Amazon Redshift Python](python-driver-install.md)
+ [Options de configuration du connecteur Amazon Redshift Python](python-configuration-options.md)
+ [Importation du connecteur Python](python-start-import.md)
+ [Intégrer le connecteur Python avec NumPy](python-connect-integrate-numpy.md)
+ [Intégration du connecteur Python à pandas](python-connect-integrate-pandas.md)
+ [Utilisation des plugins de fournisseur d'identité](python-connect-identity-provider-plugins.md)
+ [Exemples d'utilisation du connecteur Amazon Redshift Python](python-connect-examples.md)
+ [Référence d'API pour le connecteur Amazon Redshift Python](python-api-reference.md)

# Installation du connecteur Amazon Redshift Python
<a name="python-driver-install"></a>

Vous pouvez utiliser l'une des méthodes suivantes pour installer le connecteur Amazon Redshift Python :
+ Python Package Index (PyPI)
+ Conda
+ Clonage du référentiel GitHub 

## Installation du connecteur Python depuis PyPI
<a name="python-pip-install-pypi"></a>

Pour installer le connecteur Python à partir de l'index Python Package Index (PyPI), vous pouvez utiliser pip. Pour ce faire, exécutez la commande suivante.

```
>>> pip install redshift_connector
```

Vous pouvez installer le connecteur dans un environnement virtuel. Pour ce faire, exécutez la commande suivante.

```
>>> pip install redshift_connector
```

En option, vous pouvez installer des pandas et NumPy utiliser le connecteur.

```
>>> pip install 'redshift_connector[full]'
```

Pour plus d'informations sur pip, consultez le [site web de pip](https://pip.pypa.io/en/stable/).

## Installation du connecteur Python depuis Conda
<a name="python-pip-install-from-conda"></a>

Vous pouvez installer le connecteur Python depuis Anaconda.org.

```
>>>conda install -c conda-forge redshift_connector
```

## Installation du connecteur Python en clonant le GitHub dépôt depuis AWS
<a name="python-pip-install-from-source"></a>

Pour installer le connecteur Python depuis le code source, clonez le GitHub dépôt depuis AWS. Après avoir installé Python et virtualenv, configurez votre environnement et installez les dépendances requises en exécutant les commandes suivantes.

```
$ git clone https://github.com/aws/amazon-redshift-python-driver.git
$ cd amazon-redshift-python-driver
$ virtualenv venv
$ . venv/bin/activate
$ python -m pip install -r requirements.txt
$ python -m pip install -e .
$ python -m pip install redshift_connector
```

# Options de configuration du connecteur Amazon Redshift Python
<a name="python-configuration-options"></a>

Vous trouverez ci-dessous des descriptions des options que vous pouvez spécifier pour le connecteur Amazon Redshift Python. Les options ci-dessous s’appliquent à la dernière version de connecteur disponible, sauf indication contraire.

## access\$1key\$1id
<a name="python-access-key-id-option"></a>
+ **Valeur par défaut** – Aucune
+ **Types de données** – Chaîne

ID de clé d’accès pour l’utilisateur ou le rôle IAM configuré pour l’authentification de base de données IAM. 

Ce paramètre est facultatif.

## allow\$1db\$1user\$1override
<a name="python-allow-db-user-override-option"></a>
+ **Valeur par défaut** – False
+ **Types de données** – Booléen

True  
Spécifie que le connecteur utilise la valeur `DbUser` de l'assertion SAML (Security Assertion Markup Language).

False  
Spécifie que la valeur du paramètre de connexion `DbUser` est utilisée.

Ce paramètre est facultatif.

## app\$1name
<a name="python-app-name-option"></a>
+ **Valeur par défaut** – Aucune
+ **Types de données** – Chaîne

Nom de l'application fournisseur d'identité (IdP) utilisée pour l'authentification. 

Ce paramètre est facultatif.

## application\$1name
<a name="python-application_name-option"></a>
+ **Valeur par défaut** – Aucune
+ **Type de données** : chaîne

Nom de l’application client à transmettre à Amazon Redshift à des fins d’audit. Le nom de l’application que vous fournissez apparaît dans la colonne « application\$1name » de la table [SYS\$1CONNECTION\$1LOG](https://docs.aws.amazon.com/redshift/latest/dg/SYS_CONNECTION_LOG.html). Cela permet de suivre et de dépanner les sources de connexion lors des problèmes de débogage.

Ce paramètre est facultatif.

## auth\$1profile
<a name="python-auth-profile-option"></a>
+ **Valeur par défaut** – Aucune
+ **Types de données** – Chaîne

Nom d'un profil d'authentification Amazon Redshift ayant des propriétés de connexion JSON. Pour plus d'informations sur l'attribution de noms aux paramètres de connexion, consultez la classe `RedshiftProperty`. La classe `RedshiftProperty` stocke les paramètres de connexion fournis par l'utilisateur final et, le cas échéant, générés pendant le processus d'authentification IAM (par exemple, les informations d'identification IAM temporaires). Pour plus d'informations, consultez le [RedshiftProperty cours](https://github.com/aws/amazon-redshift-python-driver/blob/master/redshift_connector/redshift_property.py#L9). 

Ce paramètre est facultatif.

## auto\$1create
<a name="python-auto-create-option"></a>
+ **Valeur par défaut** – False
+ **Types de données** – Booléen

Valeur qui indique si l'utilisateur doit être créé s'il n'existe pas. 

Ce paramètre est facultatif.

## client\$1id
<a name="python-client-id-option"></a>
+ **Valeur par défaut** – Aucune
+ **Types de données** – Chaîne

ID client d'Azure IdP. 

Ce paramètre est facultatif.

## client\$1secret
<a name="python-client-secret-option"></a>
+ **Valeur par défaut** – Aucune
+ **Types de données** – Chaîne

Secret client d'Azure IdP. 

Ce paramètre est facultatif.

## cluster\$1identifier
<a name="python-cluster-identifier-option"></a>
+ **Valeur par défaut** – Aucune
+ **Types de données** – Chaîne

Identifiant du cluster Amazon Redshift. 

Ce paramètre est facultatif.

## credentials\$1provider
<a name="python-credential-provider-option"></a>
+ **Valeur par défaut** – Aucune
+ **Types de données** – Chaîne

IdP utilisé pour s'authentifier auprès d'Amazon Redshift. Voici les valeurs valides : 
+ `AdfsCredentialsProvider`
+ `AzureCredentialsProvider`
+ `BrowserAzureCredentialsProvider`
+ `BrowserAzureOAuth2CredentialsProvider`
+ `BrowserIdcAuthPlugin` : un plugin d’autorisation utilisant AWS IAM Identity Center.
+ `BrowserSamlCredentialsProvider`
+ `IdpTokenAuthPlugin`— Un plugin d'autorisation qui accepte un jeton AWS IAM Identity Center ou des jetons d'identité basés sur le JSON OpenID Connect (OIDC) (JWT) provenant de n'importe quel fournisseur d'identité Web lié à l'IAM Identity Center. AWS 
+ `PingCredentialsProvider`
+ `OktaCredentialsProvider`

Ce paramètre est facultatif.

## database
<a name="python-database-option"></a>
+ **Valeur par défaut** – Aucune
+ **Types de données** – Chaîne

Nom de la base de données à laquelle vous souhaitez vous connecter. 

Ce paramètre est obligatoire.

## database\$1metadata\$1current\$1db\$1only
<a name="python-database-metadata-current-db-only-option"></a>
+ **Valeur par défaut** – True
+ **Types de données** – Booléen

Valeur qui indique si une application prend en charge les catalogues d'unités de partage des données de plusieurs bases de données. La valeur par défaut True indique que l'application ne prend pas en charge les catalogues d'unités de partage des données de plusieurs bases de données pour des raisons de compatibilité ascendante. 

Ce paramètre est facultatif.

## db\$1groups
<a name="python-db-groups-option"></a>
+ **Valeur par défaut** – Aucune
+ **Type de données** : chaîne

Liste séparée par des virgules des noms de groupes de base de données existants que l'utilisateur a indiqués par des DbUser jointures pour la session en cours. 

Ce paramètre est facultatif.

## db\$1user
<a name="python-db-user-option"></a>
+ **Valeur par défaut** – Aucune
+ **Types de données** – Chaîne

L'ID utilisateur à utiliser avec Amazon Redshift. 

Ce paramètre est facultatif.

## endpoint\$1url
<a name="python-endpoint-url-option"></a>
+ **Valeur par défaut** – Aucune
+ **Types de données** – Chaîne

URL du point de terminaison Amazon Redshift. Cette option est réservée à un usage AWS interne. 

Ce paramètre est facultatif.

## group\$1federation
<a name="python-group-federation-option"></a>
+ **Valeur par défaut** – False
+ **Types de données** – Booléen

Cette option spécifie si les groupes d’IDP Amazon Redshift doivent être utilisés.

Ce paramètre est facultatif.

**true**  
Utilisez les groupes Amazon Redshift Identity Provider (IDP).

**false**  
Utilisez l'API STS et GetClusterCredentials pour la fédération d'utilisateurs et spécifiez **db\$1groups** pour la connexion.

## hôte
<a name="python-host-option"></a>
+ **Valeur par défaut** – Aucune
+ **Types de données** – Chaîne

Nom d'hôte du cluster Amazon Redshift. 

Ce paramètre est facultatif.

## iam
<a name="python-iam-option"></a>
+ **Valeur par défaut** – False
+ **Types de données** – Booléen

L'authentification IAM est activée. 

Ce paramètre est obligatoire.

## iam\$1disable\$1cache
<a name="python-iam-disable-cache-option"></a>
+ **Valeur par défaut** – False
+ **Types de données** – Booléen

Cette option spécifie si les informations d’identification IAM sont mises en cache. Par défaut, les informations d'identification IAM sont mises en cache. Cela améliore les performances lorsque les demandes envoyées à API Gateway sont limitées. 

Ce paramètre est facultatif.

## idc\$1client\$1display\$1name
<a name="python-idc_client_display_name-option"></a>
+ **Valeur par défaut** : connecteur Amazon Redshift Python
+ **Types de données** – Chaîne

Le nom d'affichage à utiliser pour le client qui l'utilise BrowserIdcAuthPlugin.

Ce paramètre est facultatif.

## idc\$1region
<a name="python-idc_region"></a>
+ **Valeur par défaut** – Aucune
+ **Types de données** – Chaîne

 AWS Région dans laquelle se trouve l'instance AWS IAM Identity Center.

Ce paramètre est requis uniquement lors de l’authentification à l’aide de `BrowserIdcAuthPlugin` dans l’option de configuration credentials\$1provider.

## idp\$1partition
<a name="python-idp_partition-option"></a>
+ **Valeur par défaut** – Aucune
+ **Types de données** – Chaîne

Spécifie la partition cloud sur laquelle votre fournisseur d'identité (IdP) est configuré. Cela détermine le point de terminaison d'authentification IdP auquel le pilote se connecte.

Si ce paramètre est laissé vide, le pilote utilise par défaut la partition commerciale. Les valeurs possibles sont :
+  `us-gov`: utilisez cette valeur si votre IdP est configuré dans Azure Government. Par exemple, Azure AD Government utilise le point de terminaison`login.microsoftonline.us`.
+  `cn`: Utilisez cette valeur si votre IdP est configuré dans la partition cloud de Chine. Par exemple, Azure AD Chine utilise le point de terminaison`login.chinacloudapi.cn`. 

Ce paramètre est facultatif.

## idpPort
<a name="python-idp-port-option"></a>
+ **Valeur par défaut** – 7890
+ **Type de données** – Entier

Port d'écoute auquel IdP envoie l'assertion SAML. 

Ce paramètre est obligatoire.

## idp\$1response\$1timeout
<a name="python-idp-response-timeout-option"></a>
+ **Valeur par défaut** – 120
+ **Type de données** – Entier

Délai d'expiration de la récupération de l'assertion SAML à partir de l'IdP. 

Ce paramètre est obligatoire.

## idp\$1tenant
<a name="python-idp-tenant-option"></a>
+ **Valeur par défaut** – Aucune
+ **Types de données** – Chaîne

Locataire IdP. 

Ce paramètre est facultatif.

## issuer\$1url
<a name="python-issuer_url"></a>
+ **Valeur par défaut** – Aucune
+ **Types de données** – Chaîne

 Pointe vers le point de terminaison de l'instance du serveur AWS IAM Identity Center. 

Ce paramètre est requis uniquement lors de l’authentification à l’aide de `BrowserIdcAuthPlugin` dans l’option de configuration credentials\$1provider.

## listen\$1port
<a name="python-listen-port-option"></a>
+ **Valeur par défaut** – 7890
+ **Type de données** – Entier

Port utilisé par le pilote pour recevoir la réponse SAML du fournisseur d'identité ou le code d'autorisation lors de l'utilisation des services SAML, Azure AD ou AWS IAM Identity Center via un plug-in de navigateur.

Ce paramètre est facultatif.

## login\$1url
<a name="python-login-url-option"></a>
+ **Valeur par défaut** – Aucune
+ **Type de données** : chaîne

URL d'authentification unique pour le fournisseur d'identité. 

Ce paramètre est facultatif.

## max\$1prepared\$1statements
<a name="python-max-prepared-statements-option"></a>
+ **Valeur par défaut** : 1 000
+ **Type de données** – Entier

Nombre maximal d’instructions préparées qui seront mises en cache par connexion. Le réglage de ce paramètre sur 0 désactive le mécanisme de mise en cache. La saisie d’un nombre négatif pour ce paramètre lui donne la valeur par défaut. 

Ce paramètre est facultatif.

## numeric\$1to\$1float
<a name="python-numeric-to-float-option"></a>
+ **Valeur par défaut** – False
+ **Types de données** – Booléen

Cette option spécifie si le connecteur convertit les valeurs de type de données numériques du format « décimal.Décimal » au format flottant. Par défaut, le connecteur reçoit les valeurs de type numérique en tant que format « décimal.Décimal » et ne les convertit pas. 

Nous ne recommandons pas d'activer l'option numeric\$1to\$1float pour les cas d'utilisation qui exigent de la précision, car les résultats peuvent être arrondis. 

Pour plus d'informations sur le format « décimal.Décimal » et les compromis entre celui-ci et le format flottant, consultez la section [decimal — Decimal fixed point and floating point arithmetic](https://docs.python.org/3/library/decimal.html) (Arithmétique à virgule fixe de type décimal — Décimal et à virgule flottante) sur le site Web de Python. 

Ce paramètre est facultatif.

## partner\$1sp\$1id
<a name="python-partner-sp-id-option"></a>
+ **Valeur par défaut** – Aucune
+ **Types de données** – Chaîne

ID SP partenaire utilisé pour l'authentification avec Ping. 

Ce paramètre est facultatif.

## mot de passe
<a name="python-password-option"></a>
+ **Valeur par défaut** – Aucune
+ **Types de données** – Chaîne

Mot de passe à utiliser pour l'authentification. 

Ce paramètre est facultatif.

## port
<a name="python-port-option"></a>
+ **Valeur par défaut** : 5439
+ **Type de données** – Entier

Numéro de port du cluster Amazon Redshift. 

Ce paramètre est obligatoire.

## preferred\$1role
<a name="python-preferred-role-option"></a>
+ **Valeur par défaut** – Aucune
+ **Types de données** – Chaîne

Rôle IAM préféré pour la connexion actuelle. 

Ce paramètre est facultatif.

## principal\$1arn
<a name="python-principal-arn-option"></a>
+ **Valeur par défaut** – Aucune
+ **Type de données** : chaîne

L'Amazon Resource Name (ARN) de l'utilisateur ou du rôle IAM pour lequel vous générez une politique. Il est recommandé d'attacher une politique à un rôle, puis d'attacher le rôle à votre utilisateur, pour y accéder. 

Ce paramètre est facultatif.

## profile
<a name="python-profile-option"></a>
+ **Valeur par défaut** – Aucune
+ **Type de données** : chaîne

Nom d'un profil dans un fichier d' AWS informations d'identification contenant des AWS informations d'identification. 

Ce paramètre est facultatif.

## provider\$1name
<a name="python-provider_name-option"></a>
+ **Valeur par défaut** – Aucune
+ **Type de données** : chaîne

Nom du fournisseur d'authentification native Redshift. 

Ce paramètre est facultatif.

## region
<a name="python-region-option"></a>
+ **Valeur par défaut** – Aucune
+ **Type de données** : chaîne

L' Région AWS endroit où se trouve le cluster. 

Ce paramètre est facultatif.

## role\$1arn
<a name="python-role-arn-option"></a>
+ **Valeur par défaut** – Aucune
+ **Types de données** – Chaîne

Amazon Resource Name (ARN) du rôle que l'appelant doit assumer. Ce paramètre est utilisé par le fournisseur indiqué par `JwtCredentialsProvider`. 

Pour le `JwtCredentialsProvider`, ce paramètre est obligatoire. Sinon, ce paramètre est facultatif.

## role\$1session\$1name
<a name="python-role-session-name-option"></a>
+ **Valeur par défaut** – jwt\$1redshift\$1session
+ **Types de données** – Chaîne

Un identifiant pour la séance de rôle assumé. En règle générale, vous transmettez le nom ou l'identifiant associé à l'utilisateur qui utilise votre application. Les informations d’identification de sécurité temporaires utilisées par votre application sont associées à cet utilisateur. Ce paramètre est utilisé par le fournisseur indiqué par `JwtCredentialsProvider`. 

Ce paramètre est facultatif.

## scope
<a name="python-scope-option"></a>
+ **Valeur par défaut** – Aucune
+ **Type de données** : chaîne

Une liste des portées, séparées par des espaces, auxquels l’utilisateur peut consentir. Vous spécifiez ce paramètre afin que votre application puisse obtenir le consentement pour APIs ce que vous souhaitez appeler. Vous pouvez spécifier ce paramètre lorsque vous spécifiez BrowserAzure OAuth2 CredentialsProvider l'option credentials\$1provider.

Ce paramètre est obligatoire pour le BrowserAzure OAuth2 CredentialsProvider plug-in.

## secret\$1access\$1key\$1id
<a name="python-secret-access-key-id-option"></a>
+ **Valeur par défaut** – Aucune
+ **Types de données** – Chaîne

Clé d'accès secrète pour l'utilisateur ou le rôle IAM configuré pour l'authentification de base de données IAM. 

Ce paramètre est facultatif.

## session\$1token
<a name="python-session-token-option"></a>
+ **Valeur par défaut** – Aucune
+ **Types de données** – Chaîne

ID de clé d’accès pour l’utilisateur ou le rôle IAM configuré pour l’authentification de base de données IAM. Ce paramètre est obligatoire si des AWS informations d'identification temporaires sont utilisées. 

Ce paramètre est facultatif.

## serverless\$1acct\$1id
<a name="python-serverless-acct-id-option"></a>
+ **Valeur par défaut** – Aucune
+ **Type de données** : chaîne

ID du compte Amazon Redshift Serverless.

Ce paramètre est facultatif.

## serverless\$1work\$1group
<a name="python-serverless-work-group-option"></a>
+ **Valeur par défaut** – Aucune
+ **Type de données** : chaîne

Nom du groupe de travail Amazon Redshift Serverless.

Ce paramètre est facultatif.

## ssl
<a name="python-ssl-option"></a>
+ **Valeur par défaut** – True
+ **Types de données** – Booléen

Le protocole SSL est activé. 

Ce paramètre est obligatoire.

## ssl\$1insecure
<a name="python-ssl-insecure-option"></a>
+ **Valeur par défaut** – False
+ **Types de données** – Booléen

Valeur qui indique si la vérification du certificat de serveur d’hôtes IdP doit être désactivée. La définition de ce paramètre sur True désactivera la vérification du certificat SSL du serveur d’hôtes IdP. Nous vous recommandons de conserver la valeur par défaut de False dans les environnements de production.

Ce paramètre est facultatif.

## sslmode
<a name="python-sslmode-option"></a>
+ **Valeur par défaut** – verify-ca
+ **Types de données** – Chaîne

Sécurité de la connexion à Amazon Redshift. Vous pouvez spécifier chacune des valeurs suivantes : 
+ verify-ca
+ verify-full

Ce paramètre est obligatoire.

## tcp\$1keepalive
<a name="python-tcp_keepalive-option"></a>
+ **Valeur par défaut** – True
+ **Types de données** – Booléen

S’il faut utiliser les keepalives TCP pour empêcher les connexions de s’interrompre. Vous pouvez spécifier les valeurs suivantes :
+ True : le pilote utilisera les keepalives TCP pour empêcher les connexions de s’interrompre.
+ False : le pilote n’utilisera pas les keepalives TCP.

Ce paramètre est facultatif.

## tcp\$1keepalive\$1count
<a name="python-tcp_keepalive_count-option"></a>
+ **Valeur par défaut** – Aucune
+ **Type de données** – Entier

Le nombre de sondes non reconnues à envoyer avant de considérer la connexion comme inactive. Par exemple, définir la valeur sur 3 signifie que le pilote enverra 3 paquets keepalive sans réponse avant de déterminer que la connexion n’est plus active.

Si ce paramètre n’est pas spécifié, Amazon Redshift utilise la valeur par défaut du système.

Ce paramètre est facultatif.

## tcp\$1keepalive\$1interval
<a name="python-tcp_keepalive_interval-option"></a>
+ **Valeur par défaut** – Aucune
+ **Type de données** – Entier

Intervalle, en secondes, entre les sondes keepalive suivantes si le pilote n’a pas reçu d’accusé de réception pour la sonde précédente. Si vous spécifiez ce paramètre, il doit s’agir d’un nombre entier positif.

Si ce paramètre n’est pas spécifié, Amazon Redshift utilise la valeur par défaut du système.

Ce paramètre est facultatif.

## tcp\$1keepalive\$1idle
<a name="python-tcp_keepalive_idle-option"></a>
+ **Valeur par défaut** – Aucune
+ **Type de données** – Entier

Durée d’inactivité, en secondes, après laquelle le pilote envoie la première sonde keepalive. Par exemple, si vous définissez la valeur sur 120, le pilote attendra 2 minutes d’inactivité avant d’envoyer le premier paquet keepalive. Si vous spécifiez ce paramètre, il doit s’agir d’un nombre entier positif. 

Si ce paramètre n’est pas spécifié, Amazon Redshift utilise la valeur par défaut du système.

Ce paramètre est facultatif.

## timeout
<a name="python-timeout-option"></a>
+ **Valeur par défaut** – Aucune
+ **Type de données** – Entier

Le nombre de secondes avant que la connexion au serveur ne soit interrompue. 

Ce paramètre est facultatif.

## jeton
<a name="python-token-option"></a>
+ **Valeur par défaut** – Aucune
+ **Types de données** – Chaîne

Un jeton d'accès fourni par AWS IAM Identity Center ou un jeton Web JSON (JWT) OpenID Connect (OIDC) fourni par un fournisseur d'identité Web AWS lié à IAM Identity Center. Votre application doit générer ce jeton en authentifiant l'utilisateur de votre application auprès d' AWS IAM Identity Center ou d'un fournisseur d'identité lié à AWS IAM Identity Center. 

Ce paramètre fonctionne avec `IdpTokenAuthPlugin`.

## token\$1type
<a name="python-token_type-option"></a>
+ **Valeur par défaut** – Aucune
+ **Types de données** – Chaîne

Type de jeton utilisé dans `IdpTokenAuthPlugin`.

Vous pouvez spécifier les valeurs suivantes :

**ACCESS\$1TOKEN**  
Entrez cette valeur si vous utilisez un jeton d'accès fourni par AWS IAM Identity Center.

**EXT\$1JWT**  
Entrez cette valeur si vous utilisez un jeton Web JSON (JWT) OpenID Connect (OIDC) fourni par un fournisseur d’identité Web intégré à AWS IAM Identity Center.

Ce paramètre fonctionne avec `IdpTokenAuthPlugin`.

## user
<a name="python-user-option"></a>
+ **Valeur par défaut** – Aucune
+ **Types de données** – Chaîne

Nom d'utilisateur à utiliser pour l'authentification. 

Ce paramètre est facultatif.

## web\$1identity\$1token
<a name="python-web-identity-token-option"></a>
+ **Valeur par défaut** – Aucune
+ **Type de données** : chaîne

Le jeton d'accès OAuth 2.0 ou le jeton d'identification OpenID Connect fourni par le fournisseur d'identité. Assurez-vous que votre application obtient ce jeton en authentifiant l'utilisateur de votre application auprès d'un fournisseur d'identité web. Ce paramètre est utilisé par le fournisseur indiqué par `JwtCredentialsProvider`. 

Pour le `JwtCredentialsProvider`, ce paramètre est obligatoire. Sinon, ce paramètre est facultatif.

# Importation du connecteur Python
<a name="python-start-import"></a>

Pour importer le connecteur Python, exécutez la commande suivante.

```
>>> import redshift_connector
```

Pour vous connecter à un cluster Amazon Redshift à l'aide AWS d'informations d'identification, exécutez la commande suivante.

```
conn = redshift_connector.connect(
    host='examplecluster.abc123xyz789.us-west-1.redshift.amazonaws.com',
    port=5439,
    database='dev',
    user='awsuser',
    password='my_password'
 )
```

# Intégrer le connecteur Python avec NumPy
<a name="python-connect-integrate-numpy"></a>

Voici un exemple d'intégration du connecteur Python avec NumPy.

```
>>>  import numpy
#Connect to the cluster
>>> import redshift_connector
>>> conn = redshift_connector.connect(
     host='examplecluster.abc123xyz789.us-west-1.redshift.amazonaws.com',
     port=5439,
     database='dev',
     user='awsuser',
     password='my_password'
  )
  
# Create a Cursor object
>>> cursor = conn.cursor()

# Query and receive result set            
cursor.execute("select * from book")

result: numpy.ndarray = cursor.fetch_numpy_array()
print(result)
```

Voici les résultats.

```
[['One Hundred Years of Solitude' 'Gabriel García Márquez']
['A Brief History of Time' 'Stephen Hawking']]
```

# Intégration du connecteur Python à pandas
<a name="python-connect-integrate-pandas"></a>

Voici un exemple d'intégration du connecteur Python à pandas.

```
>>> import pandas

#Connect to the cluster
>>> import redshift_connector
>>> conn = redshift_connector.connect(
     host='examplecluster.abc123xyz789.us-west-1.redshift.amazonaws.com',
     port=5439,
     database='dev',
     user='awsuser',
     password='my_password'
  )
  
# Create a Cursor object
>>> cursor = conn.cursor()

# Query and receive result set
cursor.execute("select * from book")
result: pandas.DataFrame = cursor.fetch_dataframe()
print(result)
```

# Utilisation des plugins de fournisseur d'identité
<a name="python-connect-identity-provider-plugins"></a>

Pour des informations générales sur l'utilisation des plugins de fournisseur d'identité, veuillez consulter [Options visant à fournir des informations d’identification IAM](options-for-providing-iam-credentials.md). Pour plus d'informations sur la gestion des identités IAM, y compris les bonnes pratiques pour les rôles IAM, consultez [Identity and Access Management dans Amazon Redshift](redshift-iam-authentication-access-control.md).

## Authentification à l'aide du plugin du fournisseur d'identité ADFS
<a name="python-connect-identity-provider-active-dir"></a>

Voici un exemple d'utilisation du plugin du fournisseur d'identité ADFS (Active Directory Federation Service) pour authentifier un utilisateur se connectant à une base de données Amazon Redshift.

```
>>> con = redshift_connector.connect(
    iam=True,
    database='dev',
    host='my-testing-cluster.abc.us-east-2.redshift.amazonaws.com',
    cluster_identifier='my-testing-cluster',
    credentials_provider='AdfsCredentialsProvider',
    user='brooke@myadfshostname.com',
    password='Hunter2',
    idp_host='myadfshostname.com'
)
```

## Authentification à l'aide du plugin du fournisseur d'identité Azure
<a name="python-connect-identity-provider-azure"></a>

Voici un exemple d'authentification à l'aide du plugin du fournisseur d'identité Azure. Vous pouvez créer des valeurs pour un `client_id` et un `client_secret` pour une application métier Azure, comme illustré ci-dessous. 

```
>>>  con = redshift_connector.connect(
    iam=True,
    database='dev',
    host='my-testing-cluster.abc.us-east-2.redshift.amazonaws.com',
    cluster_identifier='my-testing-cluster',
    credentials_provider='AzureCredentialsProvider',
    user='brooke@myazure.org',
    password='Hunter2',
    idp_tenant='my_idp_tenant',
    client_id='my_client_id',
    client_secret='my_client_secret',
    preferred_role='arn:aws:iam:123:role/DataScientist'
)
```

## Authentification à l'aide du AWS plug-in du fournisseur d'identité IAM Identity Center
<a name="python-connect-identity-provider-aws-idc"></a>

 Voici un exemple d'authentification à l'aide du plug-in de fournisseur d'identité AWS IAM Identity Center. 

```
with redshift_connector.connect(
credentials_provider='BrowserIdcAuthPlugin',
host='my-testing-cluster.abc.us-east-2.redshift.amazonaws.com',
database='dev',
idc_region='us-east-1',
issuer_url='https://identitycenter.amazonaws.com/ssoins-790723ebe09c86f9',
idp_response_timeout=60,
listen_port=8100,
idc_client_display_name='Test Display Name',
# port value of 5439 is specified by default
)
```

## Authentification à l'aide du plugin du fournisseur d'identité de navigateur Azure
<a name="python-connect-identity-provider-azure-browser"></a>

Voici un exemple d'utilisation du plugin du fournisseur d'identité de navigateur Azure pour authentifier un utilisateur se connectant à une base de données Amazon Redshift.

L'authentification multifacteur a lieu dans le navigateur, où les informations d'identification sont fournies par l'utilisateur.

```
>>>con = redshift_connector.connect(
    iam=True,
    database='dev',
    host='my-testing-cluster.abc.us-east-2.redshift.amazonaws.com',
    cluster_identifier='my-testing-cluster',
    credentials_provider='BrowserAzureCredentialsProvider',
    idp_tenant='my_idp_tenant',
    client_id='my_client_id',
)
```

## Authentification à l'aide du plugin du fournisseur d'identité Okta
<a name="python-connect-identity-provider-okta"></a>

Voici un exemple d'authentification à l'aide du plugin du fournisseur d'identité Okta. Vous pouvez obtenir les valeurs pour `idp_host`, `app_id` et `app_name` via l'application Okta.

```
>>> con = redshift_connector.connect(
    iam=True,
    database='dev',
    host='my-testing-cluster.abc.us-east-2.redshift.amazonaws.com',
    cluster_identifier='my-testing-cluster',
    credentials_provider='OktaCredentialsProvider',
    user='brooke@myazure.org',
    password='hunter2',
    idp_host='my_idp_host',
    app_id='my_first_appetizer',
    app_name='dinner_party'
)
```

## Authentification à l' JumpCloud aide d'un plugin de fournisseur d'identité de navigateur SAML générique
<a name="python-connect-identity-provider-jumpcloud"></a>

Voici un exemple d'utilisation d'un plug-in JumpCloud de fournisseur d'identité de navigateur SAML générique pour l'authentification.

Le paramètre de mot de passe est obligatoire. Toutefois, il n'est pas nécessaire de saisir ce paramètre, car l'authentification multifacteur a lieu dans le navigateur.

```
>>> con = redshift_connector.connect(
    iam=True,
    database='dev',
    host='my-testing-cluster.abc.us-east-2.redshift.amazonaws.com',
    cluster_identifier='my-testing-cluster',
    credentials_provider='BrowserSamlCredentialsProvider',
    user='brooke@myjumpcloud.org',
    password='',
    login_url='https://sso.jumpcloud.com/saml2/plustwo_melody'
)
```

# Exemples d'utilisation du connecteur Amazon Redshift Python
<a name="python-connect-examples"></a>

Vous trouverez ci-dessous des exemples d'utilisation du connecteur Amazon Redshift Python. Pour les exécuter, vous devez installer au préalable le connecteur Python. Pour plus d'informations sur l'installation du connecteur Python Amazon Redshift, consultez [Installation du connecteur Amazon Redshift Python](python-driver-install.md). Pour plus d'informations sur les options de configuration que vous pouvez utiliser avec le connecteur Python, consultez [Options de configuration du connecteur Amazon Redshift Python](python-configuration-options.md).

**Topics**
+ [Connexion à un cluster Amazon Redshift et interrogation à l'aide d'informations d'identification AWS](#python-connect-cluster)
+ [Activation de la validation automatique](#python-connect-enable-autocommit)
+ [Configuration du paramstyle d'un curseur](#python-connect-config-paramstyle)
+ [Utilisation de COPY pour copier des données à partir d'un compartiment Amazon S3 et de UNLOAD pour y écrire des données](#python-connect-copy-unload-s3)

## Connexion à un cluster Amazon Redshift et interrogation à l'aide d'informations d'identification AWS
<a name="python-connect-cluster"></a>

L'exemple suivant vous explique comment vous connecter à un cluster Amazon Redshift à l'aide de vos AWS informations d'identification, puis comment interroger une table et récupérer les résultats de la requête.

```
#Connect to the cluster
>>> import redshift_connector
>>> conn = redshift_connector.connect(
     host='examplecluster.abc123xyz789.us-west-1.redshift.amazonaws.com',
     database='dev',
     port=5439,
     user='awsuser',
     password='my_password'
  )
  
# Create a Cursor object
>>> cursor = conn.cursor()

# Query a table using the Cursor
>>> cursor.execute("select * from book")
                
#Retrieve the query result set
>>> result: tuple = cursor.fetchall()
>>> print(result)
 >> (['One Hundred Years of Solitude', 'Gabriel García Márquez'], ['A Brief History of Time', 'Stephen Hawking'])
```

## Activation de la validation automatique
<a name="python-connect-enable-autocommit"></a>

La propriété autocommit est désactivée par défaut, conformément à la spécification de l'API de base de données Python. Vous pouvez utiliser les commandes suivantes pour activer la propriété de validation automatique de la connexion après avoir exécuté une commande de restauration pour vous assurer qu'une transaction n'est pas en cours.

```
#Connect to the cluster
>>> import redshift_connector
>>> conn = redshift_connector.connect(...)

# Run a rollback command
>>>  conn.rollback()

# Turn on autocommit
>>>  conn.autocommit = True
>>>  conn.run("VACUUM")

# Turn off autocommit
>>>  conn.autocommit = False
```

## Configuration du paramstyle d'un curseur
<a name="python-connect-config-paramstyle"></a>

Le paramstyle d'un curseur peut être modifié via cursor.paramstyle. Le paramstyle par défaut utilisé est `format`. Les valeurs valides pour paramstyle sont `qmark`, `numeric`, `named`, `format` et `pyformat`.

Vous trouverez ci-dessous des exemples d'utilisation de différents paramstyles pour transmettre des paramètres à un exemple d'instruction SQL.

```
# qmark
redshift_connector.paramstyle = 'qmark'
sql = 'insert into foo(bar, jar) VALUES(?, ?)'
cursor.execute(sql, (1, "hello world"))

# numeric
redshift_connector.paramstyle = 'numeric'
sql = 'insert into foo(bar, jar) VALUES(:1, :2)'
cursor.execute(sql, (1, "hello world"))

# named
redshift_connector.paramstyle = 'named'
sql = 'insert into foo(bar, jar) VALUES(:p1, :p2)'
cursor.execute(sql, {"p1":1, "p2":"hello world"})

# format
redshift_connector.paramstyle = 'format'
sql = 'insert into foo(bar, jar) VALUES(%s, %s)'
cursor.execute(sql, (1, "hello world"))

# pyformat
redshift_connector.paramstyle = 'pyformat'
sql = 'insert into foo(bar, jar) VALUES(%(bar)s, %(jar)s)'
cursor.execute(sql, {"bar": 1, "jar": "hello world"})
```

## Utilisation de COPY pour copier des données à partir d'un compartiment Amazon S3 et de UNLOAD pour y écrire des données
<a name="python-connect-copy-unload-s3"></a>

L'exemple suivant montre comment copier des données depuis un compartiment Amazon S3 dans une table, puis comment les décharger de cette table dans le compartiment.

Un fichier texte nommé `category_csv.txt` contenant les données suivantes est chargé dans un compartiment Amazon S3.

```
12,Shows,Musicals,Musical theatre
13,Shows,Plays,"All ""non-musical"" theatre"
14,Shows,Opera,"All opera, light, and ""rock"" opera"
15,Concerts,Classical,"All symphony, concerto, and choir concerts"
```

Voici un exemple de code Python, qui se connecte d'abord à la base de données Amazon Redshift. Il crée ensuite une table appelée `category` et copie les données CSV du compartiment S3 dans la table.

```
#Connect to the cluster and create a Cursor
>>> import redshift_connector
>>> with redshift_connector.connect(...) as conn:
>>> with conn.cursor() as cursor:

#Create an empty table
>>>     cursor.execute("create table category (catid int, cargroup varchar, catname varchar, catdesc varchar)")

#Use COPY to copy the contents of the S3 bucket into the empty table 
>>>     cursor.execute("copy category from 's3://testing/category_csv.txt' iam_role 'arn:aws:iam::123:role/RedshiftCopyUnload' csv;")

#Retrieve the contents of the table
>>>     cursor.execute("select * from category")
>>>     print(cursor.fetchall())

#Use UNLOAD to copy the contents of the table into the S3 bucket
>>>     cursor.execute("unload ('select * from category') to 's3://testing/unloaded_category_csv.txt'  iam_role 'arn:aws:iam::123:role/RedshiftCopyUnload' csv;")

#Retrieve the contents of the bucket
>>>     print(cursor.fetchall())
 >> ([12, 'Shows', 'Musicals', 'Musical theatre'], [13, 'Shows', 'Plays', 'All "non-musical" theatre'], [14, 'Shows', 'Opera', 'All opera, light, and "rock" opera'], [15, 'Concerts', 'Classical', 'All symphony, concerto, and choir concerts'])
```

Si vous n'avez pas défini `autocommit` sur true, validez avec `conn.commit()` après avoir exécuté les instructions `execute()`.

Les données sont déchargées dans le fichier `unloaded_category_csv.text0000_part00` dans le compartiment S3, avec le contenu suivant :

```
12,Shows,Musicals,Musical theatre
13,Shows,Plays,"All ""non-musical"" theatre"
14,Shows,Opera,"All opera, light, and ""rock"" opera"
15,Concerts,Classical,"All symphony, concerto, and choir concerts"
```

# Référence d'API pour le connecteur Amazon Redshift Python
<a name="python-api-reference"></a>

Vous trouverez ci-dessous une description des opérations d'API du connecteur Amazon Redshift Python.

## redshift\$1connector
<a name="python-api-redshift_connector"></a>

Vous trouverez ci-dessous une description de l'opération d'API `redshift_connector`.

`connect(user, database, password[, port, …])`  
Établit une connexion à un cluster Amazon Redshift. Cette fonction valide les entrées de l'utilisateur, s'authentifie éventuellement à l'aide d'un plugin de fournisseur d'identité, puis construit un objet de connexion.

`apilevel`  
Le niveau DBAPI pris en charge, actuellement « 2.0 ».

`paramstyle``str(object=’’) -> str str(bytes_or_buffer[, encoding[, errors]]) -> str`  
Style de paramètre d'API de base de données à utiliser globalement.

## Connexion
<a name="python-api-connection"></a>

Vous trouverez ci-dessous une description des opérations d'API de connexion pour le connecteur Amazon Redshift Python.

`__init__(user, password, database[, host, …])`  
Initialise un objet de connexion brut.

`cursor`  
Crée un objet de curseur lié à cette connexion.

`commit`  
Valide la transaction de base de données actuelle.

`rollback`  
Annule la transaction de base de données actuelle.

`close`  
Ferme la connexion à la base de données.

`execute(cursor, operation, vals)`  
Exécute la commande SQL spécifiée. Vous pouvez fournir les paramètres sous forme de séquence ou de mappage, en fonction de la valeur de `redshift_connector.paramstyle`.

`run(sql[, stream])`  
Exécute la commande SQL spécifiée. Vous pouvez également fournir un flux à utiliser avec la commande COPY.

`xid(format_id, global_transaction_id, …)`  
Créez un ID de transaction. Seul le paramètre `global_transaction_id` est utilisé dans postgres. format\$1id et branch\$1qualifier ne sont pas utilisés dans postgres. Le `global_transaction_id` peut être n'importe quel identifiant de chaîne pris en charge par postgres qui renvoie un tuple (`format_id`, `global_transaction_id`, `branch_qualifier`).

`tpc_begin(xid)`  
Commence une transaction TPC avec un ID de transaction `xid` composé d'un ID de format, d'un ID de transaction global et d'un qualificateur de branche. 

`tpc_prepare`  
Effectue la première phase d'une transaction démarrée avec .tpc\$1begin.

`tpc_commit([xid])`  
Lorsqu'il est appelé sans argument, .tpc\$1commit engage une transaction TPC préalablement préparée avec .tpc\$1prepare().

`tpc_rollback([xid])`  
Lorsqu'il est appelé sans argument, .tpc\$1rollback annule une transaction TPC.

`tpc_recover`  
Renvoie une liste de transactions en attente IDs pouvant être utilisées avec .tpc\$1commit (xid) ou .tpc\$1rollback (xid).

## Curseur
<a name="python-api-cursor"></a>

Vous trouverez ci-dessous une description de l'opération d'API du curseur.

`__init__(connection[, paramstyle])`  
Initialise un objet de curseur brut.

`insert_data_bulk(filename, table_name, parameter_indices, column_names, delimiter, batch_size)`  
Exécute une instruction INSERT en bloc.

`execute(operation[, args, stream, …])`  
Exécute une opération de base de données.

`executemany(operation, param_sets)`  
Prépare une opération de base de données, puis l'exécute pour toutes les séquences de paramètres ou les mappages fournis.

`fetchone`  
Récupère la ligne suivante d'un ensemble de résultats de requête.

`fetchmany([num])`  
Récupère l'ensemble de lignes suivant d'un résultat de requête.

`fetchall`  
Récupère toutes les lignes restantes d'un résultat de requête.

`close`  
Fermez le curseur maintenant. 

`__iter__`  
Un objet de curseur peut être itéré pour récupérer les lignes d'une requête.

`fetch_dataframe([num])`  
Renvoie un dataframe des résultats de la dernière requête.

`write_dataframe(df, table)`  
Écrit le même dataframe de structure dans une base de données Amazon Redshift.

`fetch_numpy_array([num])`  
Renvoie un NumPy tableau des derniers résultats de la requête.

`get_catalogs`  
Amazon Redshift ne prend pas en charge plusieurs catalogues à partir d'une seule connexion. Amazon Redshift renvoie uniquement le catalogue actuel.

`get_tables([catalog, schema_pattern, …])`  
Renvoie les tables publiques uniques définies par l'utilisateur au sein du système.

`get_columns([catalog, schema_pattern, …])`  
Renvoie la liste de toutes les colonnes d'une table spécifique dans une base de données Amazon Redshift.

## AdfsCredentialsProvider plugin
<a name="python-adfs-credentials-plugin"></a>

Voici la syntaxe du fonctionnement de l'API du AdfsCredentialsProvider plugin pour le connecteur Amazon Redshift Python. 

```
redshift_connector.plugin.AdfsCredentialsProvider()
```

## AzureCredentialsProvider plugin
<a name="python-azure-credentials-plugin"></a>

Voici la syntaxe du fonctionnement de l'API du AzureCredentialsProvider plugin pour le connecteur Amazon Redshift Python.

```
redshift_connector.plugin.AzureCredentialsProvider()
```

## BrowserAzureCredentialsProvider plugin
<a name="python-browser-azure-credentials-plugin"></a>

Voici la syntaxe du fonctionnement de l'API du BrowserAzureCredentialsProvider plugin pour le connecteur Amazon Redshift Python.

```
redshift_connector.plugin.BrowserAzureCredentialsProvider()
```

## BrowserSamlCredentialsProvider plugin
<a name="python-browser-saml-credentials-plugin"></a>

Voici la syntaxe du fonctionnement de l'API du BrowserSamlCredentialsProvider plugin pour le connecteur Amazon Redshift Python.

```
redshift_connector.plugin.BrowserSamlCredentialsProvider()
```

## OktaCredentialsProvider plugin
<a name="python-okta-credentials-plugin"></a>

Voici la syntaxe du fonctionnement de l'API du OktaCredentialsProvider plugin pour le connecteur Amazon Redshift Python.

```
redshift_connector.plugin.OktaCredentialsProvider()
```

## PingCredentialsProvider plugin
<a name="python-ping-credentials-plugin"></a>

Voici la syntaxe du fonctionnement de l'API du PingCredentialsProvider plugin pour le connecteur Amazon Redshift Python.

```
redshift_connector.plugin.PingCredentialsProvider()
```

## SamlCredentialsProvider plugin
<a name="python-saml-credentials-plugin"></a>

Voici la syntaxe du fonctionnement de l'API du SamlCredentialsProvider plugin pour le connecteur Amazon Redshift Python.

```
redshift_connector.plugin.SamlCredentialsProvider()
```

# Intégration d'Amazon Redshift à Apache Spark
<a name="spark-redshift-connector"></a>

 [Apache Spark](https://aws.amazon.com/emr/features/spark/) est un modèle distribué de programmation et d'infrastructure qui vous permet d'effectuer des opérations de machine learning, de traitement de flux ou d'analyse graphique. De manière analogue à Apache Hadoop, Spark est un système de traitement distribué open source, couramment utilisé pour les charges de travail de big data. Spark dispose d'un moteur d'exécution optimisé de graphes orientés acycliques dirigés (DAG) et met activement en cache les données en mémoire. Cela peut améliorer les performances, en particulier pour certains algorithmes et requêtes interactives. 

 Cette intégration vous fournit un connecteur Spark que vous pouvez utiliser pour créer des applications Apache Spark qui lisent et écrivent des données dans Amazon Redshift et Amazon Redshift sans serveur. Ces applications ne compromettent pas les performances des applications ni la cohérence transactionnelle des données. Cette intégration est automatiquement incluse dans [Amazon EMR](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/) et [AWS Glue](https://docs.aws.amazon.com/glue/latest/dg/), ce qui vous permet d'exécuter immédiatement des tâches Apache Spark qui accèdent à des données et les chargent dans Amazon Redshift dans le cadre de vos pipelines d'ingestion et de transformation de données. 

Actuellement, vous pouvez utiliser les versions 3.3.x, 3.4.x, 3.5.x et 4.0.0 de Spark avec cette intégration.

 Cette intégration fournit les éléments suivants : 
+  Gestion des identités et des accès AWS Authentification (IAM). Pour plus d'informations, consultez [Identity and Access Management dans Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/mgmt/redshift-iam-authentication-access-control.html). 
+ Pushdown des prédicats et des requêtes pour améliorer les performances.
+  Types de données Amazon Redshift. 
+ Connectivité à Amazon Redshift et Amazon Redshift sans serveur.

## Considérations et limites relatives à l'utilisation du connecteur Spark
<a name="spark-redshift-connector-considerations"></a>
+  L'URI tempdir pointe vers un emplacement Amazon S3. Ce répertoire temporaire n'est pas nettoyé automatiquement et peut entraîner des frais supplémentaires. Nous vous recommandons d'utiliser les [stratégies de cycle de vie d'Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lifecycle-mgmt.html) dans le *guide d'utilisation d'Amazon Simple Storage Service* pour définir les règles de conservation du compartiment Amazon S3. 
+  Par défaut, les copies entre Amazon S3 et Redshift ne fonctionnent pas si le compartiment S3 et le cluster Redshift se trouvent dans des régions différentes. AWS Pour utiliser AWS des régions distinctes, définissez le `tempdir_region` paramètre sur la région du compartiment S3 utilisé pour le`tempdir`.
+ Écritures entre régions entre S3 et Redshift en cas d'écriture de données Parquet à l'aide du paramètre `tempformat`.
+ Nous vous recommandons d'utiliser le [chiffrement côté serveur Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/serv-side-encryption.html) pour chiffrer les compartiments Amazon S3 utilisés. 
+ Nous vous recommandons de [bloquer l'accès public aux compartiments Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-control-block-public-access.html). 
+  Nous recommandons que le cluster Amazon Redshift ne soit pas accessible au public. 
+  Nous vous recommandons d'activer la [journalisation des audits Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/mgmt/db-auditing.html). 
+  Nous vous recommandons d'activer le [chiffrement au repos d'Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/mgmt/security-server-side-encryption.html). 
+  Nous vous recommandons d'activer le protocole SSL pour la connexion JDBC entre Spark sur Amazon EMR et Amazon Redshift. 
+ Nous vous recommandons de transmettre un rôle IAM à l'aide du paramètre `aws_iam_role` pour le paramètre d'authentification Amazon Redshift.

# Authentification avec le connecteur Spark
<a name="redshift-spark-connector-authentication"></a>

Le schéma suivant décrit l'authentification entre Amazon S3, Amazon Redshift, le pilote Spark et les exécuteurs Spark.

![\[Voici un schéma de l'authentification du connecteur Spark.\]](http://docs.aws.amazon.com/fr_fr/redshift/latest/mgmt/images/spark-connector-authentication.png)


## Authentification entre Redshift et Spark
<a name="redshift-spark-authentication"></a>

 Vous pouvez utiliser le pilote JDBC version 2.x fourni par Amazon Redshift pour vous connecter à Amazon Redshift avec le connecteur Spark en spécifiant des informations d’identification. Pour utiliser IAM, [configurez votre URL JDBC pour utiliser l'authentification IAM](https://docs.aws.amazon.com/redshift/latest/mgmt/generating-iam-credentials-configure-jdbc-odbc.html). Pour vous connecter à un cluster Redshift depuis Amazon EMR ou AWS Glue assurez-vous que votre rôle IAM dispose des autorisations nécessaires pour récupérer les informations d'identification IAM temporaires. La liste suivante décrit toutes les autorisations dont votre rôle IAM a besoin pour récupérer des informations d'identification et exécuter des opérations Amazon S3. 
+ [Redshift : GetClusterCredentials](https://docs.aws.amazon.com/redshift/latest/APIReference/API_GetClusterCredentials.html) (pour les clusters Redshift provisionnés)
+ [Redshift : DescribeClusters](https://docs.aws.amazon.com/redshift/latest/APIReference/API_DescribeClusters.html) (pour les clusters Redshift provisionnés)
+ [Redshift : GetWorkgroup](https://docs.aws.amazon.com/redshift-serverless/latest/APIReference/API_GetWorkgroup.html) (pour les groupes de travail Amazon Redshift Serverless)
+ [Redshift : GetCredentials](https://docs.aws.amazon.com/redshift-serverless/latest/APIReference/API_GetCredentials.html) (pour les groupes de travail Amazon Redshift Serverless)
+ [s3 : ListBucket](https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBuckets.html)
+ [s3 : GetBucket](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetBucket.html)
+ [s3 : GetObject](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html)
+ [s3 : PutObject](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html)
+ [s3 : GetBucketLifecycleConfiguration](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketLifecycleConfiguration.html)

 Pour plus d'informations sur GetClusterCredentials, consultez les [politiques IAM pour GetClusterCredentials](https://docs.aws.amazon.com/redshift/latest/mgmt/redshift-iam-access-control-identity-based.html#redshift-policy-resources.getclustercredentials-resources). 

Vous devez également vous assurer qu'Amazon Redshift peut assumer le rôle IAM pendant les opérations `COPY` et `UNLOAD`.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "Service": "redshift.amazonaws.com"
            },
            "Action": "sts:AssumeRole"
        }
    ]
}
```

------

Si vous utilisez le pilote JDBC le plus récent, le pilote gérera automatiquement la transition d'un certificat auto-signé Amazon Redshift vers un certificat ACM. Vous devez toutefois [spécifier les options SSL dans l'URL JDBC](https://docs.aws.amazon.com/redshift/latest/mgmt/jdbc20-configuration-options.html#jdbc20-ssl-option). 

 L'exemple suivant montre comment spécifier l'URL du pilote JDBC et le `aws_iam_role` pour se connecter à Amazon Redshift. 

```
df.write \
  .format("io.github.spark_redshift_community.spark.redshift ") \
  .option("url", "jdbc:redshift:iam://<the-rest-of-the-connection-string>") \
  .option("dbtable", "<your-table-name>") \
  .option("tempdir", "s3a://<your-bucket>/<your-directory-path>") \
  .option("aws_iam_role", "<your-aws-role-arn>") \
  .mode("error") \
  .save()
```

## Authentification entre Amazon S3 et Spark
<a name="spark-s3-authentication"></a>

 Si vous utilisez un rôle IAM pour vous authentifier entre Spark et Amazon S3, utilisez l'une des méthodes suivantes : 
+ Le AWS SDK for Java tentera automatiquement de AWS trouver des informations d'identification en utilisant la chaîne de fournisseurs d'informations d'identification par défaut implémentée par la AWSCredentials ProviderChain classe Default. Pour plus d'informations, consultez [Utilisation de la chaîne de fournisseur d'informations d'identification par défaut](https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/credentials.html#credentials-default).
+ Vous pouvez spécifier des AWS clés via les propriétés de [configuration de Hadoop](https://github.com/apache/hadoop/blob/trunk/hadoop-tools/hadoop-aws/src/site/markdown/tools/hadoop-aws/index.md). Par exemple, si votre configuration `tempdir` pointe vers un système de fichiers `s3n://`, définissez les propriétés `fs.s3n.awsAccessKeyId` et `fs.s3n.awsSecretAccessKey` dans un fichier de configuration XML Hadoop ou appelez `sc.hadoopConfiguration.set()` pour modifier la configuration Hadoop globale de Spark.

Par exemple, si vous utilisez le système de fichiers s3n, ajoutez :

```
sc.hadoopConfiguration.set("fs.s3n.awsAccessKeyId", "YOUR_KEY_ID")
sc.hadoopConfiguration.set("fs.s3n.awsSecretAccessKey", "YOUR_SECRET_ACCESS_KEY")
```

Pour le système de fichiers s3a, ajoutez :

```
sc.hadoopConfiguration.set("fs.s3a.access.key", "YOUR_KEY_ID")
sc.hadoopConfiguration.set("fs.s3a.secret.key", "YOUR_SECRET_ACCESS_KEY")
```

Si vous utilisez Python, effectuez les opérations suivantes :

```
sc._jsc.hadoopConfiguration().set("fs.s3n.awsAccessKeyId", "YOUR_KEY_ID")
sc._jsc.hadoopConfiguration().set("fs.s3n.awsSecretAccessKey", "YOUR_SECRET_ACCESS_KEY")
```
+ Encodez les clés d'authentification dans l'URL `tempdir`. Par exemple, l'URI `s3n://ACCESSKEY:SECRETKEY@bucket/path/to/temp/dir` encode la paire de clés (`ACCESSKEY`, `SECRETKEY`).

## Authentification entre Redshift et Amazon S3
<a name="redshift-s3-authentication"></a>

 Si vous utilisez les commandes COPY et UNLOAD dans votre requête, vous devez également autoriser Amazon S3 à accéder à Amazon Redshift pour exécuter des requêtes en votre nom. Pour ce faire, [autorisez d'abord Amazon Redshift à accéder à d'autres AWS services](https://docs.aws.amazon.com/redshift/latest/mgmt/authorizing-redshift-service.html), puis autorisez les [opérations COPY et UNLOAD à l'aide des rôles IAM](https://docs.aws.amazon.com/redshift/latest/mgmt/copy-unload-iam-role.html). 

Il est recommandé d’associer des politiques d’autorisation à un rôle IAM, puis de l’attribuer à des utilisateurs et à des groupes, le cas échéant. Pour plus d’informations, consultez [Identity and Access Management dans Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/mgmt/redshift-iam-authentication-access-control.html).

## Intégration avec AWS Secrets Manager
<a name="redshift-secrets-manager-authentication"></a>

Vous pouvez récupérer vos informations d'identification de nom d'utilisateur et de mot de passe Redshift à partir d'un secret stocké dans AWS Secrets Manager. Pour fournir automatiquement les informations d'identification Redshift, utilisez le paramètre `secret.id`. Pour plus d'informations sur la création d'un secret d'informations d'identification Redshift, consultez [Création d'un secret de base de données AWS Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/create_database_secret.html).

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/redshift/latest/mgmt/redshift-spark-connector-authentication.html)

**Note**  
 Remerciement : cette documentation contient des exemples de code et de langage développés par l’[Apache Software Foundation](http://www.apache.org/) dans le cadre de la [licence Apache 2.0](https://www.apache.org/licenses/LICENSE-2.0). 

# Améliorations des performances grâce au pushdown
<a name="spark-redshift-connector-pushdown"></a>

 Le connecteur Spark applique automatiquement le pushdown des prédicats et des requêtes pour optimiser les performances. Cela signifie que si vous utilisez une fonction prise en charge dans votre requête, le connecteur Spark transformera la fonction en requête SQL et exécutera la requête dans Amazon Redshift. Cette optimisation permet de récupérer moins de données et Apache Spark peut donc traiter moins de données et obtenir de meilleures performances. Par défaut, le pushdown est automatiquement activé. Pour le désactiver, définissez `autopushdown` sur false. 

```
import sqlContext.implicits._val 
 sample= sqlContext.read
    .format("io.github.spark_redshift_community.spark.redshift")
    .option("url",jdbcURL )
    .option("tempdir", tempS3Dir)
    .option("dbtable", "event")
    .option("autopushdown", "false")
    .load()
```

 Les fonctions suivantes sont prises en charge avec le pushdown. Si vous utilisez une fonction qui ne figure pas dans cette liste, le connecteur Spark exécutera la fonction dans Spark au lieu d'Amazon Redshift, ce qui se traduira par des performances non optimisées. Pour obtenir la liste complète des fonctions de Spark, consultez [Built-in Functions](https://spark.apache.org/docs/latest/api/sql/index.html) (Fonctions intégrées). 
+ Fonctions d'agrégation
  + avg
  + count
  + max
  + min
  + sum
  + stddev\$1samp
  + stddev\$1pop
  + var\$1samp
  + var\$1pop
+ Opérateurs booléens
  + in
  + isnull
  + isnotnull
  + contient
  + endswith
  + startswith
+ Opérateurs logiques
  + and
  + or
  + not (ou \$1)
+ Fonctions mathématiques
  + \$1
  + -
  + \$1
  + /
  + - (unaire)
  + abs
  + acos
  + asin
  + atan
  + ceil
  + cos
  + exp
  + floor
  + greatest
  + least
  + log10
  + pi
  + pow
  + round
  + sin
  + sqrt
  + tan
+ Fonctions diverses
  + cast
  + coalesce
  + decimal
  + if
  + in
+ Opérateurs relationnels
  + \$1=
  + =
  + >
  + >=
  + <
  + <=
+ Fonctions de chaîne
  + ascii
  + lpad
  + rpad
  + translate
  + upper
  + lower
  + longueur
  + trim
  + ltrim
  + rtrim
  + like
  + substring
  + concat
+ Fonctions de date et d'heure
  + add\$1months
  + date
  + date\$1add
  + date\$1sub
  + date\$1trunc
  + timestamp
  + trunc
+ Operations mathématiques
  + CheckOverflow
  + PromotePrecision
+ Opérations relationnelles
  + Alias (par exemple, AS)
  + CaseWhen
  + Distinct
  + InSet
  + Jointures et jointures croisées
  + Restrictions
  + Unions, union all
  + ScalarSubquery
  + Sorts (par ordre croissant et décroissant)
  + UnscaledValue

# Autres options de configuration
<a name="spark-redshift-connector-other-config"></a>

Vous trouverez sur cette page des descriptions des options que vous pouvez spécifier pour le connecteur Amazon Redshift Spark.

## Taille maximale des colonnes de chaînes
<a name="spark-redshift-connector-other-config-max-size"></a>

Redshift crée des colonnes de chaîne sous forme de colonnes de texte lors de la création de tables, qui sont stockées en tant que VARCHAR(256). Si vous souhaitez que les colonnes prennent en charge de plus grandes tailles, vous pouvez utiliser maxlength pour spécifier la longueur maximale des colonnes de chaîne. Voici un exemple qui montre comment spécifier `maxlength`. 

```
columnLengthMap.foreach { case (colName, length) =>
  val metadata = new MetadataBuilder().putLong("maxlength", length).build()
  df = df.withColumn(colName, df(colName).as(colName, metadata))
}
```

## Type de colonne
<a name="spark-redshift-connector-other-config-column-type"></a>

Pour définir un type de colonne, utilisez le champ `redshift_type`.

```
columnTypeMap.foreach { case (colName, colType) =>
  val metadata = new MetadataBuilder().putString("redshift_type", colType).build()
  df = df.withColumn(colName, df(colName).as(colName, metadata))
}
```

## Encodage de compression dans une colonne
<a name="spark-redshift-connector-other-config-compression-encoding"></a>

 Pour utiliser un encodage de compression spécifique sur une colonne, utilisez le champ d'encodage. Pour obtenir la liste complète des encodages de compression pris en charge, consultez [Encodages de compression](https://docs.aws.amazon.com/redshift/latest/dg/c_Compression_encodings.html). 

## Description d’une colonne
<a name="spark-redshift-connector-other-config-description"></a>

Pour définir une description, utilisez le champ `description`.

## Authentification entre Redshift et Amazon S3
<a name="spark-redshift-connector-other-config-unload-as-text"></a>

 Par défaut, le résultat est déchargé sur Amazon S3 au format Parquet. Pour décharger le résultat sous forme de fichier texte séparé par une barre verticale, spécifiez l'option suivante. 

```
.option("unload_s3_format", "TEXT")
```

## Instructions pushdown
<a name="spark-redshift-connector-other-config-lazy-pushdown"></a>

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/redshift/latest/mgmt/spark-redshift-connector-other-config.html)

## Paramètres du connecteur
<a name="spark-redshift-connector-other-config-spark-parameters"></a>

La carte des paramètres ou `OPTIONS` dans Spark SQL prend en charge les paramètres suivants.

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/redshift/latest/mgmt/spark-redshift-connector-other-config.html)

**Note**  
 Remerciement : cette documentation contient des exemples de code et de langage développés par l’[Apache Software Foundation](http://www.apache.org/) dans le cadre de la [licence Apache 2.0](https://www.apache.org/licenses/LICENSE-2.0). 

# Types de données pris en charge
<a name="spark-redshift-connector-data-types"></a>

Les types de données suivants dans Amazon Redshift sont pris en charge par le connecteur Spark. Pour obtenir la liste complète des types de données pris en charge dans Amazon Redshift, consultez [Types de données](https://docs.aws.amazon.com//redshift/latest/dg/c_Supported_data_types.html). Si un type de données ne figure pas dans la table ci-dessous, il n'est pas pris en charge dans le connecteur Spark.

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/redshift/latest/mgmt/spark-redshift-connector-data-types.html)

## Types de données complexes
<a name="spark-redshift-connector-complex-data-types"></a>

 Vous pouvez utiliser le connecteur Spark pour lire et écrire des types de données complexes Spark tels que `ArrayType`, `MapType` et `StructType` vers et depuis les colonnes de type de données Redshift SUPER. Si vous fournissez un schéma lors d'une opération de lecture, les données de la colonne sont converties dans les types complexes correspondants dans Spark, y compris les types imbriqués. De plus, si `autopushdown` est activé, la projection des attributs imbriqués, des valeurs de mappage et des indices de tableau est transférée vers Redshift afin qu'il ne soit plus nécessaire de décharger l'intégralité de la structure de données imbriquée lors de l'accès à une simple partie des données. 

Lorsque vous écrivez DataFrames depuis le connecteur, toute colonne de type `MapType` (utilisant`StringType`)`StructType`, ou `ArrayType` est écrite dans une colonne de type de données Redshift SUPER. Lors de l'écriture de ces structures de données imbriquées, le paramètre `tempformat` doit être de type `CSV`, `CSV GZIP` ou `PARQUET`. L'utilisation de `AVRO` provoquera une exception. L'écriture d'une structure de données `MapType` dont le type de clé est autre que `StringType` provoquera également une exception. 

### StructType
<a name="spark-redshift-connector-complex-data-types-examples-structtype"></a>

L'exemple suivant montre comment créer une table avec un type de données SUPER contenant une structure.

```
create table contains_super (a super);
```

Vous pouvez ensuite utiliser le connecteur pour interroger un champ `StringType` `hello` à partir de la colonne SUPER `a` dans la table en utilisant un schéma comme dans l'exemple suivant.

```
import org.apache.spark.sql.types._

val sc = // existing SparkContext
val sqlContext = new SQLContext(sc)

val schema = StructType(StructField("a", StructType(StructField("hello", StringType) ::Nil)) :: Nil)

val helloDF = sqlContext.read
.format("io.github.spark_redshift_community.spark.redshift")
.option("url", jdbcURL )
.option("tempdir", tempS3Dir)
.option("dbtable", "contains_super")
.schema(schema)
.load().selectExpr("a.hello")
```

L'exemple suivant montre comment écrire une structure dans la colonne `a`.

```
import org.apache.spark.sql.types._
import org.apache.spark.sql._

val sc = // existing SparkContext
val sqlContext = new SQLContext(sc)

val schema = StructType(StructField("a", StructType(StructField("hello", StringType) ::Nil)) :: Nil)
val data = sc.parallelize(Seq(Row(Row("world"))))
val mydf = sqlContext.createDataFrame(data, schema)

mydf.write.format("io.github.spark_redshift_community.spark.redshift").
option("url", jdbcUrl).
option("dbtable", tableName).
option("tempdir", tempS3Dir).
option("tempformat", "CSV").
mode(SaveMode.Append).save
```

### MapType
<a name="spark-redshift-connector-complex-data-types-examples-maptype"></a>

Si vous préférez utiliser `MapType` pour représenter vos données, vous pouvez utiliser une structure de données `MapType` dans votre schéma et récupérer la valeur correspondant à une clé dans le mappage. Notez que toutes les clés de votre structure de données `MapType` doivent être de type String et que toutes les valeurs doivent être du même type, par exemple int. 

L'exemple suivant montre comment obtenir la valeur de la clé `hello` dans la colonne `a`.

```
import org.apache.spark.sql.types._

val sc = // existing SparkContext
val sqlContext = new SQLContext(sc)

val schema = StructType(StructField("a", MapType(StringType, IntegerType))::Nil)

val helloDF = sqlContext.read
    .format("io.github.spark_redshift_community.spark.redshift")
    .option("url", jdbcURL )
    .option("tempdir", tempS3Dir)
    .option("dbtable", "contains_super")
    .schema(schema)
    .load().selectExpr("a['hello']")
```

### ArrayType
<a name="spark-redshift-connector-complex-data-types-examples-arraytype"></a>

Si la colonne contient un tableau à la place d'une structure, vous pouvez utiliser le connecteur pour interroger le premier élément du tableau.

```
import org.apache.spark.sql.types._

val sc = // existing SparkContext
val sqlContext = new SQLContext(sc)

val schema = StructType(StructField("a", ArrayType(IntegerType)):: Nil)

val helloDF = sqlContext.read
    .format("io.github.spark_redshift_community.spark.redshift")
    .option("url", jdbcURL )
    .option("tempdir", tempS3Dir)
    .option("dbtable", "contains_super")
    .schema(schema)
    .load().selectExpr("a[0]")
```

### Limitations
<a name="spark-redshift-connector-complex-data-types-limitations"></a>

L'utilisation de types de données complexes avec le connecteur Spark présente les limites suivantes :
+ Tous les noms des champs de structure imbriqués et les clés de mappage doivent être en minuscules. Si vous effectuez une requête pour obtenir les noms de champs complexes avec des lettres majuscules, vous pouvez essayer d'omettre le schéma et d'utiliser la fonction Spark `from_json` pour convertir la chaîne renvoyée localement comme solution de contournement.
+ Tous les champs de mappage utilisés dans les opérations de lecture et d'écriture doivent contenir uniquement des clés `StringType`.
+ Seuls `CSV`, `CSV GZIP` et `PARQUET ` sont des valeurs tempformat prises en charge pour l'écriture de types complexes dans Redshift. Une tentative d'utilisation de `AVRO ` lèvera une exception.

# Configuration d’une connexion pour le pilote ODBC version 2.x pour Amazon Redshift
<a name="odbc20-install"></a>

Vous pouvez utiliser une connexion ODBC pour vous connecter à votre cluster Amazon Redshift à partir de nombreux outils et applications clients SQL tiers. Si votre outil client prend en charge JDBC, vous pouvez choisir d’utiliser ce type de connexion plutôt qu’ODBC en raison de la simplicité de configuration offerte par JDBC. Toutefois, si votre outil client ne prend pas en charge JDBC, vous pouvez suivre les étapes de cette section pour configurer une connexion ODBC sur votre ordinateur client ou sur votre instance Amazon EC2.

Amazon Redshift fournit des pilotes ODBC 64 bits pour les systèmes d'exploitation Linux, Windows et Mac ; les pilotes ODBC 32 bits ne sont plus disponibles. Aucune mise à jour des pilotes ODBC 32 bits ne sera publiée, sauf pour les correctifs de sécurité urgents.

Pour obtenir les dernières informations sur les modifications du pilote ODBC, consulter le [journal des modifications](https://github.com/aws/amazon-redshift-odbc-driver/blob/master/CHANGELOG.md).

**Topics**
+ [Obtention de l’URL ODBC](odbc20-getting-url.md)
+ [Utilisation d’un pilote ODBC Amazon Redshift sur Microsoft Windows](odbc20-install-config-win.md)
+ [Utilisation d’un pilote ODBC Amazon Redshift sous Linux](odbc20-install-config-linux.md)
+ [Utilisation d'un pilote ODBC Amazon Redshift sur Apple macOS](odbc20-install-config-mac.md)
+ [Méthodes d’authentification](odbc20-authentication-ssl.md)
+ [Conversions du type de données](odbc20-converting-data-types.md)
+ [Options du pilote ODBC](odbc20-configuration-options.md)
+ [Versions antérieures du pilote ODBC](odbc20-previous-versions.md)

# Obtention de l’URL ODBC
<a name="odbc20-getting-url"></a>

Amazon Redshift affiche l’URL ODBC de votre cluster dans la console Amazon Redshift. Cette URL contient les informations nécessaires pour configurer la connexion entre votre ordinateur client et la base de données.

Une URL ODBC a le format suivant : 

```
Driver={driver}; Server=endpoint_host; Database=database_name; UID=user_name; PWD=password; Port=port_number
```

Les champs du format précédent ont les valeurs suivantes :


| Champ | Value | 
| --- | --- | 
| Driver | Nom du pilote ODBC 64 bits à utiliser : Pilote ODBC Amazon Redshift (x64). | 
| Server | L’hôte du point de terminaison du cluster Amazon Redshift. | 
| Database | Base de données que vous avez créée pour votre cluster. | 
| UID | Nom d’utilisateur d’un compte utilisateur de la base de données autorisé à se connecter à la base de données. Bien que cette valeur soit une autorisation de niveau base de données, et non une autorisation de niveau cluster, vous pouvez utiliser le compte administrateur Redshift que vous avez configuré lorsque vous avez lancé le cluster. | 
| PWD | Mot de passe du compte utilisateur de la base de données vous permettant de vous connecter à la base de données. | 
| Port | Numéro du port que vous avez spécifié lorsque vous avez lancé le cluster. Si vous avez un pare-feu, vérifiez que ce port est ouvert pour que vous l’utilisiez. | 

Voici un exemple d’URL ODBC : 

```
Driver={Amazon Redshift ODBC Driver (x64)}; Server=examplecluster.abc123xyz789.us-west-2.redshift.amazonaws.com; Database=dev; UID=adminuser; PWD=insert_your_admin_user_password_here; Port=5439
```

Pour plus d’informations sur l’emplacement de l’URL ODBC, consultez [Recherche de votre chaîne de connexion au cluster](https://docs.aws.amazon.com/redshift/latest/mgmt/configuring-connections.html#connecting-connection-string). 

# Utilisation d’un pilote ODBC Amazon Redshift sur Microsoft Windows
<a name="odbc20-install-config-win"></a>

Vous devez installer le pilote ODBC Amazon Redshift sur les ordinateurs clients accédant à un entrepôt des données Amazon Redshift. Pour chaque ordinateur sur lequel vous installez le pilote, les exigences minimales suivantes sont requises : 
+ Droits d’administrateur sur l’ordinateur. 
+ L’ordinateur répond à la configuration du système requise suivante :
  + L’un des systèmes d’exploitation suivants :
    + Windows 10 ou 8.1.
    + Windows Server 2019, 2016 ou 2012.
  + 100 Mo d’espace disque disponible.
  + Visual C\$1\$1 Redistributable pour Visual Studio 2015 pour Windows 64 bits installé. Vous pouvez télécharger le package d’installation sur le site web de Microsoft [Download Visual C\$1\$1 Redistributable for Visual Studio 2022](https://visualstudio.microsoft.com/downloads/#microsoft-visual-c-redistributable-for-visual-studio-2022) (Télécharger Visual C\$1\$1 redistribuable pour Visual Studio 2022).

# Téléchargement et installation du pilote ODBC Amazon Redshift
<a name="odbc20-install-win"></a>

Utilisez la procédure suivante pour télécharger et installer le pilote ODBC Amazon Redshift pour les systèmes d’exploitation Windows. N’utilisez un pilote différent que si vous exécutez une application tierce qui est certifiée pour être utilisée avec Amazon Redshift, et que cette application nécessite ce pilote spécifique.

Pour télécharger et installer le pilote ODBC : 

1. Téléchargez le pilote suivant : pilote [ODBC 64 bits version 2.1.15.0 Dans la région de Chine (Pékin), utilisez le lien suivant : pilote](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.15.0/AmazonRedshiftODBC64-2.1.15.0.msi) version 2.1.15.0

   Le nom de ce pilote est **Pilote ODBC Amazon Redshift (x64)**.

1. Vérifiez la [licence de la version 2.x du pilote ODBC Amazon Redshift](https://github.com/aws/amazon-redshift-odbc-driver/blob/master/LICENSE).

1. Double-cliquez sur le fichier .msi et suivez les étapes de l’assistant pour installer le pilote.

# Création d’une entrée du nom de la source de données (DSN) système pour une connexion ODBC
<a name="odbc20-dsn-win"></a>

Après avoir téléchargé et installé le pilote ODBC, ajoutez une entrée de nom de source de données (DSN) à l’ordinateur client ou à l’instance Amazon EC2. Les outils clients SQL peuvent utiliser cette source de données pour se connecter à la base de données Amazon Redshift. 

Nous vous recommandons de créer un DSN système au lieu d’un DSN utilisateur. Certaines applications chargent les données à l'aide d'un autre compte utilisateur de base de données et peuvent ne pas être en mesure de détecter DSNs les utilisateurs créés sous un autre compte utilisateur de base de données.

**Note**  
Pour l'authentification à l'aide des informations d'identification Gestion des identités et des accès AWS (IAM) ou des informations d'identification du fournisseur d'identité (IdP), des étapes supplémentaires sont requises. Pour plus d’informations, consultez [Configurer une connexion JDBC ou ODBC pour utiliser des informations d’identification IAM](https://docs.aws.amazon.com/redshift/latest/mgmt/generating-iam-credentials-configure-jdbc-odbc.html).

Pour créer une entrée DSN système pour une connexion ODBC :

1. Dans le menu **Start** (Démarrer) saisissez « Sources de données ODBC ». Choisissez **ODBC Data sources** (Sources de données ODBC).

   Veillez à choisir l’administrateur de sources de données ODBC qui a le même bitness que l’application client que vous utilisez pour vous connecter à Amazon Redshift. 

1. Dans **l’administrateur de source de données ODBC**, choisissez l’onglet **Driver** (Pilote) et recherchez le dossier du pilote suivant : **Pilote ODBC Amazon Redshift (x64)**.

1. Sélectionnez l’onglet **DSN système** pour configurer le pilote pour tous les utilisateurs sur l’ordinateur ou l’onglet **DSN utilisateur** pour configurer le pilote correspondant à votre compte utilisateur de la base de données uniquement.

1. Choisissez **Ajouter**. La fenêtre **Créer une nouvelle source de données** s’ouvre.

1. Choisissez le **pilote ODBC Amazon Redshift (x64)**, puis cliquez sur **Finish** (Terminer). La fenêtre **Amazon Redshift ODBC Driver DSN Setup (Configuration DSN du pilote ODBC Amazon Redshift)** s’ouvre.

1. Sous la section **Connection Settings** (Paramètres de connexion), saisissez les informations suivantes : 
   + 

**Nom de la source de données**  
 Entrez un nom pour la source de données. Par exemple, si vous avez suivi le *Guide de démarrage d’Amazon Redshift*, vous pouvez taper `exampleclusterdsn` pour faciliter la mémorisation du cluster que vous associez à ce DSN. 
   + 

**Serveur**  
 Spécifiez l’hôte du point de terminaison de votre cluster Amazon Redshift. Vous trouverez ces informations dans la console Amazon Redshift sur la page des détails du cluster. Pour plus d’informations, consultez [Configuration des connexions dans Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/mgmt/configuring-connections.html). 
   + 

**Port**  
 Entrez le numéro de port utilisé par la base de données. En fonction du port que vous avez sélectionné lors de la création, de la modification ou de la migration du cluster, autorisez l’accès au port sélectionné. 
   + 

**Base de données**  
 Saisissez le nom de la base de données Amazon Redshift. Si vous avez lancé votre cluster sans spécifier de nom de base de données, entrez `dev`. Sinon, utilisez le nom que vous avez choisi pendant le processus de lancement. Si vous avez suivi les étapes de *Guide de démarrage d’Amazon Redshift*, saisissez `dev`. 

1. Sous la section **Authentication** (Authentification), spécifiez les options de configuration pour configurer l’authentification standard ou IAM. 

1. Choisissez **SSL Options** (Options SSL) et spécifiez une valeur pour les éléments suivants :
   + 

**Mode d’authentification**  
Sélectionnez un mode de traitement SSL (Secure Sockets Layer). Dans un environnement de test, vous pouvez utiliser `prefer`. Cependant, pour les environnements de production et lorsque l’échange de données sécurisé est nécessaire, utilisez `verify-ca` ou `verify-full`.
   + 

**TLS min**  
Vous pouvez éventuellement choisir la version minimale TLS/SSL que le pilote autorise le magasin de données à utiliser pour chiffrer les connexions. Par exemple, si vous spécifiez TLS 1.2, TLS 1.1 ne peut pas être utilisé pour chiffrer des connexions. La version par défaut est TLS 1.2.

1.  Dans l’onglet **Proxy**, spécifiez tout paramètre de connexion du proxy. 

1. Dans l’onglet **Cursor** (Curseur), spécifiez des options de renvoi des résultats de la requête à votre outil ou application cliente SQL. 

1. Dans **Options avancées**, spécifiez les valeurs de `logLevel`, `logPath`, `compression` et d’autres options. 

1. Sélectionnez **Tester)**. Si l’ordinateur client peut se connecter à la base de données Amazon Redshift, le message suivant apparaît : **Connexion réussie**. Si l'ordinateur client ne parvient pas à se connecter à la base de données, vous pouvez résoudre les problèmes éventuels en générant un fichier journal et en contactant le AWS support. Pour plus d’informations sur la génération de journaux, consultez (LIEN). 

1.  Choisissez **OK**. 

# Utilisation d’un pilote ODBC Amazon Redshift sous Linux
<a name="odbc20-install-config-linux"></a>

Vous devez installer le pilote ODBC Amazon Redshift sur les ordinateurs clients accédant à un entrepôt des données Amazon Redshift. Pour chaque ordinateur sur lequel vous installez le pilote, les exigences minimales suivantes sont requises : 
+ Accès root sur la machine.
+ Une des distributions suivantes :
  + Red Hat® Enterprise Linux® (RHEL) 8 ou version ultérieure
  + CentOS 8 ou version ultérieure
+ 150 Mo d’espace disque disponible.
+ unixODBC 2.2.14 ou version ultérieure.
+ glibc 2.26 ou version ultérieure.

# Téléchargement et installation du pilote ODBC Amazon Redshift
<a name="odbc20-install-linux"></a>

Pour télécharger et installer le pilote ODBC version 2.x Amazon Redshift pour Linux :

1.  Téléchargez le pilote suivant : 
   + [Version du pilote RPM x86 64 bits 2.1.15.0](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.15.0/AmazonRedshiftODBC-64-bit-2.1.15.0.x86_64.rpm) 2.1.15.0
   + [Version 2.1.15.0 du pilote RPM ARM 64 bits](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.15.0/AmazonRedshiftODBC-64-bit-2.1.15.0.aarch64.rpm) 2.1.15.0
**Note**  
Les pilotes ODBC 32 bits sont interrompus. D’autres mises à jour ne seront pas publiées, sauf pour les correctifs de sécurité urgents.

1.  Accédez à l’emplacement dans lequel vous avez téléchargé le package et exécutez l’une des commandes suivantes. Utilisez la commande qui correspond à votre distribution Linux. 

   Sur les systèmes d’exploitation RHEL et CentOS, exécutez la commande suivante :

   ```
   yum --nogpgcheck localinstall RPMFileName
   ```

   Remplacez `RPMFileName` par le nom du fichier de package RPM. Par exemple, la commande suivante illustre l’installation du pilote 64 bits :

   ```
   yum --nogpgcheck localinstall AmazonRedshiftODBC-64-bit-2.x.xx.xxxx.x86_64.rpm
   ```

# Utilisation d’un gestionnaire de pilotes ODBC pour configurer le pilote ODBC
<a name="odbc20-config-linux"></a>

Sur Linux, vous utilisez un gestionnaire de pilotes ODBC pour configurer les paramètres de connexion ODBC. Les gestionnaires de pilotes ODBC utilisent des fichiers de configuration pour définir et configurer les pilotes et les sources de données ODBC. Le gestionnaire de pilotes ODBC que vous utilisez s’appuie sur le système d’exploitation que vous utilisez.

## Configuration du pilote ODBC à l’aide du gestionnaire de pilotes unixODBC
<a name="odbc20-config-unixodbc-linux"></a>

Les fichiers suivants sont nécessaires pour configurer le pilote ODBC Amazon Redshift : 
+ ` amazon.redshiftodbc.ini `
+ ` odbc.ini `
+ ` odbcinst.ini `

 Si vous l’avez installé à l’emplacement par défaut, le fichier de configuration `amazon.redshiftodbc.ini` se trouve dans `/opt/amazon/redshiftodbcx64`.

 De plus, sous `/opt/amazon/redshiftodbcx64`, vous pouvez trouver un exemple `odbc.ini` et des fichiers `odbcinst.ini`. Vous pouvez utiliser ces fichiers comme exemples pour configurer le pilote ODBC Amazon Redshift et le nom de la source de données (DSN).

 Nous ne recommandons pas d’utiliser le répertoire d’installation du pilote ODBC d’Amazon Redshift pour les fichiers de configuration. Les fichiers d’exemple du répertoire installé sont proposés à titre d’exemple seulement. Si vous réinstallez le pilote ODBC Amazon Redshift ultérieurement, ou si vous effectuez une mise à niveau vers une version plus récente, le répertoire d’installation est écrasé. Vous perdez toute modification que vous avez pu apporter aux fichiers du répertoire d’installation.

 Pour éviter cela, copiez le fichier `amazon.redshiftodbc.ini` dans un répertoire autre que le répertoire d’installation. Si vous copiez ce fichier vers le répertoire de base de l’utilisateur, ajouter un point (.) au début du nom de fichier pour le masquer.

 Pour les fichiers `odbc.ini` et `odbcinst.ini`, utilisez les fichiers de configuration dans le répertoire personnel de l’utilisateur ou créez de nouvelles versions dans un autre répertoire. Par défaut, votre système d’exploitation Linux doit avoir un fichier `odbc.ini` et un fichier `odbcinst.ini` dans le répertoire personnel de l’utilisateur (`/home/$USER` ou `~/.`). Ces fichiers par défaut sont des fichiers cachés, ce qui est indiqué par le point (.) devant chaque nom de fichier. Ces fichiers s’affichent uniquement lorsque vous utilisez l’indicateur `-a` pour répertorier le contenu du répertoire.

 Quelle que soit l’option choisie pour les fichiers `odbc.ini` et `odbcinst.ini`, modifiez les fichiers pour ajouter les informations de configuration du pilote et du DSN. Si vous avez choisi de créer de nouveaux fichiers, vous devez également définir des variables d’environnement afin de spécifier l’emplacement dans lequel se trouvent ces fichiers de configuration.

 Par défaut, les gestionnaires de pilotes ODBC sont configurés pour utiliser les versions cachées des fichiers de configuration `odbc.ini` et `odbcinst.ini` (nommés `.odbc.ini` et `.odbcinst.ini`) situés dans le répertoire de base. Ils sont également configurés pour utiliser le fichier `amazon.redshiftodbc.ini` dans le répertoire d’installation du pilote. Si vous stockez ces fichiers de configuration ailleurs, définissez les variables d’environnement décrites ci-dessous afin que le gestionnaire de pilotes puisse localiser les fichiers.

 Si vous utilisez unixODBC, procédez comme suit : 
+  Définissez `ODBCINI` vers le chemin complet et le nom du fichier `odbc.ini`. 
+  Définissez `ODBCSYSINI` vers le chemin complet du répertoire qui contient le fichier `odbcinst.ini`. 
+  Définissez `AMAZONREDSHIFTODBCINI` vers le chemin complet et le nom du fichier `amazon.redshiftodbc.ini`. 

Voici un exemple de configuration des valeurs ci-dessus :

```
export ODBCINI=/usr/local/odbc/odbc.ini 
export ODBCSYSINI=/usr/local/odbc 
export AMAZONREDSHIFTODBCINI=/etc/amazon.redshiftodbc.ini
```

## Configuration d’une connexion à l’aide d’un nom de source de données (DSN) sur Linux
<a name="odbc20-dsn-linux"></a>

Lorsque vous vous connectez à votre banque de données à l'aide d'un nom de source de données (DSN), configurez le `odbc.ini` fichier pour définir les noms des sources de données (DSNs). Définissez les propriétés du fichier `odbc.ini` pour créer un DSN qui spécifie les informations de connexion pour votre magasin de données.

Sur les systèmes d’exploitation Linux, utilisez le format suivant :

```
[ODBC Data Sources]
driver_name=dsn_name

[dsn_name]
Driver=path/driver_file
Host=cluster_endpoint
Port=port_number
Database=database_name
locale=locale
```

L’exemple suivant illustre la configuration du fichier `odbc.ini` à l’aide du pilote ODBC 64 bits sur les systèmes d’exploitation Linux.

```
[ODBC Data Sources]
Amazon_Redshift_x64=Amazon Redshift ODBC Driver (x64)

[Amazon_Redshift_x64]
Driver=/opt/amazon/redshiftodbcx64/librsodbc64.so
Host=examplecluster.abc123xyz789.us-west-2.redshift.amazonaws.com
Port=5932Database=dev
locale=en-US
```

## Configuration d’une connexion sans DSN sur Linux
<a name="odbc20-no-dsn-linux"></a>

 Pour vous connecter à votre magasin de données via une connexion qui n’a pas de DSN, définissez le pilote dans le fichier `odbcinst.ini`. Ensuite, fournissez une chaîne de connexion sans DSN dans votre application.

Sur les systèmes d’exploitation Linux, utilisez le format suivant :

```
[ODBC Drivers]
driver_name=Installed
...
                            
[driver_name]
Description=driver_description
Driver=path/driver_file
    
...
```

L’exemple suivant illustre la configuration du fichier `odbcinst.ini` à l’aide du pilote ODBC 64 bits sur les systèmes d’exploitation Linux.

```
[ODBC Drivers]
Amazon Redshift ODBC Driver (x64)=Installed

[Amazon Redshift ODBC Driver (x64)]
Description=Amazon Redshift ODBC Driver (64-bit)
Driver=/opt/amazon/redshiftodbcx64/librsodbc64.so
```

# Utilisation d'un pilote ODBC Amazon Redshift sur Apple macOS
<a name="odbc20-install-config-mac"></a>

Vous devez installer le pilote ODBC Amazon Redshift sur les ordinateurs clients accédant à un entrepôt des données Amazon Redshift. Pour chaque ordinateur sur lequel vous installez le pilote, voici la configuration minimale requise : 
+ Accès root sur la machine. 
+ Configuration système requise pour Apple macOS :
  + Une version 64 bits d'Apple macOS version 11.7 ou ultérieure (telle que Apple macOS Big Sur, Monterey, Ventura ou version ultérieure) est requise. Le pilote ODBC Redshift ne prend en charge que les applications clientes 64 bits.
  + 150 Mo d’espace disque disponible.
  + Le pilote prend en charge les applications créées avec iODBC 3.52.9\$1 ou UnixODBC 2.3.7\$1.

# Téléchargement et installation du pilote ODBC Amazon Redshift
<a name="odbc20-install-mac"></a>

Suivez la procédure ci-dessous pour télécharger et installer le pilote ODBC Amazon Redshift sur Apple macOS. N’utilisez un pilote différent que si vous exécutez une application tierce qui est certifiée pour être utilisée avec Amazon Redshift, et que cette application nécessite ce pilote spécifique.

Pour télécharger et installer le pilote ODBC : 

1. Téléchargez le pilote suivant : pilote [ODBC 64 bits version 2.1.15.0 Dans la région de Chine (Pékin), utilisez le lien suivant : pilote](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.15.0/AmazonRedshiftODBC-64-bit.2.1.15.0.universal.pkg) version 2.1.15.0

   Ce pilote est pris en charge sur les architectures x86\$164 et arm64. Le nom de ce pilote est **Pilote ODBC Amazon Redshift (x64)**.

1. Vérifiez la [licence de la version 2.x du pilote ODBC Amazon Redshift](https://github.com/aws/amazon-redshift-odbc-driver/blob/master/LICENSE).

1. Double-cliquez sur le fichier .pkg, puis suivez les étapes de l'assistant pour installer le pilote. Vous pouvez également exécuter la commande suivante :

   ```
   sudo installer -pkg PKGFileName -target /
   ```

   Remplacez `PKGFileName` par le nom du fichier du package pkg. Par exemple, la commande suivante illustre l’installation du pilote 64 bits :

   ```
   sudo installer -pkg ./AmazonRedshiftODBC-64-bit.X.X.XX.X.universal.pkg -target /
   ```

# Utilisation d’un gestionnaire de pilotes ODBC pour configurer le pilote ODBC
<a name="odbc20-config-mac"></a>

Sur Mac, vous utilisez un gestionnaire de pilotes ODBC pour configurer les paramètres de connexion ODBC. Les gestionnaires de pilotes ODBC utilisent des fichiers de configuration pour définir et configurer les pilotes et les sources de données ODBC. Le gestionnaire de pilotes ODBC que vous utilisez s’appuie sur le système d’exploitation que vous utilisez.

## Configuration du pilote ODBC à l'aide du gestionnaire de pilotes IODBC ou UnixODBC
<a name="odbc20-config-iodbc-mac"></a>

Les fichiers suivants sont nécessaires pour configurer le pilote ODBC Amazon Redshift : 
+ ` amazon.redshiftodbc.ini `
+ ` odbc.ini `
+ ` odbcinst.ini `

 Si vous l’avez installé à l’emplacement par défaut, le fichier de configuration `amazon.redshiftodbc.ini` se trouve dans `/opt/amazon/redshiftodbcx64`.

 De plus, sous `/opt/amazon/redshiftodbcx64`, vous pouvez trouver un exemple `odbc.ini` et des fichiers `odbcinst.ini`. Vous pouvez utiliser ces fichiers comme exemples pour configurer le pilote ODBC Amazon Redshift et le nom de la source de données (DSN). Les fichiers d’exemple du répertoire installé sont proposés à titre d’exemple seulement.

 Nous ne recommandons pas d’utiliser le répertoire d’installation du pilote ODBC d’Amazon Redshift pour les fichiers de configuration. Si vous réinstallez le pilote ODBC Amazon Redshift ultérieurement, ou si vous effectuez une mise à niveau vers une version plus récente, le répertoire d’installation est écrasé. Vous perdez toute modification que vous avez pu apporter aux fichiers du répertoire d’installation.

 Pour éviter cela, copiez les `amazon.redshiftodbc.ini` fichiers`odbc.ini`, `odbcinst.ini` et dans un répertoire autre que le répertoire d'installation. Si vous copiez ces fichiers dans le répertoire personnel de l'utilisateur, ajoutez un point (.) au début de ces noms de fichiers pour en faire un fichier masqué.

 Modifiez les fichiers pour ajouter des informations de configuration DSN. Lorsque vous créez de nouveaux fichiers, vous devez également définir des variables d'environnement pour spécifier l'emplacement de ces fichiers de configuration.

Voici un exemple de définition des variables d'environnement :

```
export ODBCINI=/Library/ODBC/odbc.ini
export ODBCSYSINI=/Library/ODBC
export ODBCINSTINI=${ODBCSYSINI}/odbcinst.ini
```

Pour les applications en ligne de commande : ajoutez les commandes d'exportation à votre fichier de démarrage du shell (par exemple, `~/.bash_profile` ou`~/.zshrc`). 

Pour la version prise en charge du gestionnaire de pilotes, voir [ici](https://docs.aws.amazon.com/redshift/latest/mgmt/odbc20-install-config-mac.html) 

### Configuration d'une connexion à l'aide d'un nom de source de données (DSN) sur Apple macOS
<a name="odbc20-dsn-mac"></a>

Lorsque vous vous connectez à votre banque de données à l'aide d'un nom de source de données (DSN), configurez le `odbc.ini` fichier pour définir les noms des sources de données (DSNs). Définissez les propriétés du `odbc.ini` fichier pour créer un DSN qui spécifie les informations de connexion pour votre entrepôt de données Redshift.

Sur Apple macOS, utilisez le format suivant :

```
[ODBC Data Sources]
driver_name=dsn_name

[dsn_name]
Driver=path/driver_file
Host=cluster_endpoint
Port=port_number
Database=database_name
locale=locale
```

L'exemple suivant montre la configuration `odbc.ini` avec le pilote ODBC 64 bits sur Apple macOS.

```
[ODBC Data Sources]
Amazon_Redshift_x64=Amazon Redshift ODBC Driver (x64)

[Amazon_Redshift_x64]
Driver=/opt/amazon/redshiftodbcx64/librsodbc64.dylib
Host=examplecluster.abc123xyz789.us-west-2.redshift.amazonaws.com
Port=5932
Database=dev
locale=en-US
```

### Configuration d'une connexion sans DSN sur Apple macOS
<a name="odbc20-no-dsn-mac"></a>

 Pour vous connecter à votre entrepôt de données Redshift via une connexion sans DSN, définissez le pilote dans le fichier. `odbcinst.ini` Ensuite, fournissez une chaîne de connexion sans DSN dans votre application.

Sur Apple macOS, utilisez le format suivant :

```
[ODBC Drivers]
driver_name=Installed
...
                            
[driver_name]
Description=driver_description
Driver=path/driver_file
    
...
```

L'exemple suivant montre la configuration `odbcinst.ini` avec le pilote ODBC 64 bits sur Apple macOS.

```
[ODBC Drivers]
Amazon Redshift ODBC Driver (x64)=Installed

[Amazon Redshift ODBC Driver (x64)]
Description=Amazon Redshift ODBC Driver (64-bit)
Driver=/opt/amazon/redshiftodbcx64/librsodbc64.dylib
```

# Méthodes d’authentification
<a name="odbc20-authentication-ssl"></a>

Pour protéger les données contre les accès non autorisés, les magasins de données Amazon Redshift exigent que toutes les connexions soient authentifiées à l’aide des informations d’identification de l’utilisateur.

La table suivante illustre les options de connexion obligatoires et facultatives pour chaque méthode d’authentification pouvant être utilisée pour se connecter au pilote ODBC Amazon Redshift version 2.x :


| Méthode d’authentification | Obligatoire | Facultatif | 
| --- | --- | --- | 
|  Standard  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/redshift/latest/mgmt/odbc20-authentication-ssl.html)  |   | 
|  Profil IAM  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/redshift/latest/mgmt/odbc20-authentication-ssl.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/redshift/latest/mgmt/odbc20-authentication-ssl.html)   Les options **ClusterID** et **Region** (Région) doivent être définies sur **Host** (Héberger) si elles ne sont pas définies séparément.    | 
|  Informations d’identification IAM  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/redshift/latest/mgmt/odbc20-authentication-ssl.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/redshift/latest/mgmt/odbc20-authentication-ssl.html)   Les options **ClusterID** et **Region** (Région) doivent être définies sur **Host** (Héberger) si elles ne sont pas définies séparément.    | 
|  AD FS  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/redshift/latest/mgmt/odbc20-authentication-ssl.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/redshift/latest/mgmt/odbc20-authentication-ssl.html)   Les options **ClusterID** et **Region** (Région) doivent être définies sur **Host** (Héberger) si elles ne sont pas définies séparément.    | 
|  Azure AD  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/redshift/latest/mgmt/odbc20-authentication-ssl.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/redshift/latest/mgmt/odbc20-authentication-ssl.html)   Les options **ClusterID** et **Region** (Région) doivent être définies sur **Host** (Héberger) si elles ne sont pas définies séparément.    | 
|  JWT  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/redshift/latest/mgmt/odbc20-authentication-ssl.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/redshift/latest/mgmt/odbc20-authentication-ssl.html)  | 
|  Okta  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/redshift/latest/mgmt/odbc20-authentication-ssl.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/redshift/latest/mgmt/odbc20-authentication-ssl.html)   Les options **ClusterID** et **Region** (Région) doivent être définies sur **Host** (Héberger) si elles ne sont pas définies séparément.    | 
|  Ping Federate  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/redshift/latest/mgmt/odbc20-authentication-ssl.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/redshift/latest/mgmt/odbc20-authentication-ssl.html)   Les options **ClusterID** et **Region** (Région) doivent être définies sur **Host** (Héberger) si elles ne sont pas définies séparément.    | 
|  Navigateur Azure AD  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/redshift/latest/mgmt/odbc20-authentication-ssl.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/redshift/latest/mgmt/odbc20-authentication-ssl.html)   Les options **ClusterID** et **Region** (Région) doivent être définies sur **Host** (Héberger) si elles ne sont pas définies séparément.    | 
|  Navigateur SAML  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/redshift/latest/mgmt/odbc20-authentication-ssl.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/redshift/latest/mgmt/odbc20-authentication-ssl.html)   Les options **ClusterID** et **Region** (Région) doivent être définies sur **Host** (Héberger) si elles ne sont pas définies séparément.    | 
|  Profil d’authentification  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/redshift/latest/mgmt/odbc20-authentication-ssl.html)  |   | 
|  Navigateur Azure AD OAUTH2  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/redshift/latest/mgmt/odbc20-authentication-ssl.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/redshift/latest/mgmt/odbc20-authentication-ssl.html)   Les options **ClusterID** et **Region** (Région) doivent être définies sur **Host** (Héberger) si elles ne sont pas définies séparément.    | 
|  AWS Centre d'identité IAM  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/redshift/latest/mgmt/odbc20-authentication-ssl.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/redshift/latest/mgmt/odbc20-authentication-ssl.html)  | 

## Utilisation d’un service d’informations d’identification externe
<a name="odbc20-authentication-external"></a>

En plus de la prise en charge intégrée d’AD FS, d’Azure AD et d’Okta, la version Windows du pilote ODBC Amazon Redshift prend également en charge d’autres services d’identification. Le pilote peut authentifier les connexions à l’aide de n’importe quel plug-in de fournisseur d’informations d’identification basé sur SAML de votre choix. 

Pour configurer un service d’informations d’identification externe sur Windows :

1. Créez un profil IAM qui spécifie le plug-in du fournisseur d’informations d’identification et d’autres paramètres d’authentification selon les besoins. Le profil doit être codé en ASCII et doit contenir la paire clé-valeur suivante, où `PluginPath`est le chemin complet de l’application du plug-in : 

   ```
   plugin_name = PluginPath
   ```

   Par exemple :

   ```
   plugin_name = C:\Users\kjson\myapp\CredServiceApp.exe 
   ```

   Pour plus d’informations sur la manière de créer un profil, consultez [Utilisation d’un profil de configuration](https://docs.aws.amazon.com/redshift/latest/mgmt/options-for-providing-iam-credentials.html#using-configuration-profile) dans le Guide de la gestion du cluster Amazon Redshift.

1. Configurez le pilote pour utiliser ce profil. Le pilote détecte et utilise les paramètres d’authentification spécifiés dans le profil.

# Conversions du type de données
<a name="odbc20-converting-data-types"></a>

Le pilote Amazon Redshift ODBC version 2.x prend en charge de nombreux formats de données courants, la conversion entre les types de données Amazon Redshift et SQL.

Le tableau suivant répertorie les mappages de types de données pris en charge.


| Type Amazon Redshift | Type SQL | 
| --- | --- | 
|  BIGINT  |  SQL\$1BIGINT  | 
|  BOOLEAN  |  SQL\$1BIT  | 
|  CHAR  |  SQL\$1CHAR  | 
|  DATE  |  SQL\$1TYPE\$1DATE  | 
|  DECIMAL  |  SQL\$1NUMERIC  | 
|  DOUBLE PRECISION  |  SQL\$1DOUBLE  | 
|  GEOGRAPHY  |  SQL\$1 LONGVARBINARY  | 
|  GEOMETRY  |  SQL\$1 LONGVARBINARY  | 
|  INTEGER  |  SQL\$1INTEGER  | 
|  REAL  |  SQL\$1REAL  | 
|  SMALLINT  |  SQL\$1SMALLINT  | 
|  SUPER  |  SQL\$1LONGVARCHAR  | 
|  TEXT  |  SQL\$1LONGVARCHAR  | 
|  TIME  |  SQL\$1TYPE\$1TIME  | 
|  TIMETZ  |  SQL\$1TYPE\$1TIME  | 
|  TIMESTAMP  |  SQL\$1TYPE\$1 TIMESTAMP  | 
|  TIMESTAMPTZ  |  SQL\$1TYPE\$1 TIMESTAMP  | 
|  VARBYTE  |  SQL\$1LONGVARBINARY  | 
|  VARCHAR  |  SQL\$1VARCHAR  | 

# Options du pilote ODBC
<a name="odbc20-configuration-options"></a>

Vous pouvez utiliser les options de configuration du pilote pour contrôler le comportement du pilote ODBC Amazon Redshift. Les options du pilote ne sont pas sensibles à la casse.

Sous Microsoft Windows, vous définissez généralement les options du pilote lorsque vous configurez un nom de source de données (DSN). Vous pouvez également définir des options de pilote dans la chaîne de connexion lorsque vous vous connectez par programme, ou en ajoutant ou en modifiant des clés de Registre dans `HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\your_DSN`.

Sous Linux, vous définissez les options de configuration du pilote dans vos fichiers `odbc.ini` et `amazon.redshiftodbc.ini`. Les options de configuration définies dans un fichier `amazon.redshiftodbc.ini` s’appliquent à toutes les connexions. En revanche, les options de configuration définies dans un fichier `odbc.ini` sont spécifiques à une connexion. Les options de configuration définies dans `odbc.ini` ont priorité sur les options de configuration définies dans `amazon.redshiftodbc.ini`.

Vous trouverez ci-dessous des descriptions des options que vous pouvez spécifier pour le pilote ODBC Amazon Redshift version 2.x :

## AccessKeyID
<a name="odbc20-accesskeyid-option"></a>
+ **Valeur par défaut** – Aucune
+ **Types de données** – Chaîne

 La clé d’accès IAM pour l’utilisateur ou le rôle. Si vous définissez ce paramètre, vous devez également le spécifier **SecretAccessKey**.

Ce paramètre est facultatif.

## app\$1id
<a name="odbc20-app-id-option"></a>
+ **Valeur par défaut** – Aucune
+ **Types de données** – Chaîne

L’ID unique fourni par Okta associé à votre application Amazon Redshift.

Ce paramètre est facultatif.

## ApplicationName
<a name="odbc20-application_name-option"></a>
+ **Valeur par défaut** – Aucune
+ **Type de données** : chaîne

Nom de l’application client à transmettre à Amazon Redshift à des fins d’audit. Le nom de l’application que vous fournissez apparaît dans la colonne « application\$1name » de la table [SYS\$1CONNECTION\$1LOG](https://docs.aws.amazon.com/redshift/latest/dg/SYS_CONNECTION_LOG.html). Cela permet de suivre et de dépanner les sources de connexion lors des problèmes de débogage.

Ce paramètre est facultatif.

## app\$1name
<a name="odbc20-app-name-option"></a>
+ **Valeur par défaut** – Aucune
+ **Types de données** – Chaîne

Le nom de l’application Okta que vous utilisez pour authentifier la connexion à Amazon Redshift.

Ce paramètre est facultatif.

## AuthProfile
<a name="odbc20-authprofile-option"></a>
+ **Valeur par défaut** – Aucune
+ **Types de données** – Chaîne

Le profil d’authentification utilisé pour gérer les paramètres de connexion. Si vous définissez ce paramètre, vous devez également définir l'**AccessKeyID** et **SecretAccessKey**. 

Ce paramètre est facultatif.

## AuthType
<a name="odbc20-authtype-option"></a>
+ **Valeur par défaut** : standard
+ **Types de données** – Chaîne

Cette option spécifie le mode d’authentification que le pilote utilise lorsque vous configurez un DSN à l’aide de la boîte de dialogue Configuration DSN du pilote ODBC Amazon Redshift : 
+  Standard : authentification standard en utilisant votre nom d’utilisateur et votre mot de passe Amazon Redshift. 
+  AWS Profil : authentification IAM à l'aide d'un profil.
+  AWS Informations d'identification IAM : authentification IAM à l'aide des informations d'identification IAM. 
+  Fournisseur d’identité : AD FS : authentification IAM en utilisant Active Directory Federation Services (AD FS). 
+  Fournisseur d'identité : plug-in d'authentification : plug-in d'autorisation qui accepte un jeton AWS IAM Identity Center ou des jetons d'identité basés sur OpenID Connect (OIDC) JSON (JWT) provenant de n'importe quel fournisseur d'identité Web lié à IAM Identity Center. AWS 
+  Fournisseur d’identité : Azure AD : authentification IAM en utilisant un portail Azure AD. 
+  Fournisseur d’identité : JWT : authentification IAM en utilisant un jeton web JSON (JWT). 
+  Fournisseur d’identité : Okta : authentification IAM en utilisant Okta. 
+  Fournisseur d'identité PingFederate : authentification IAM à l'aide PingFederate de. 

Cette option n’est disponible que lorsque vous configurez un DSN en utilisant la boîte de dialogue Configuration DSN du pilote ODBC Amazon Redshift dans le pilote Windows. Lorsque vous configurez une connexion à l'aide d'une chaîne de connexion ou d'un ordinateur autre que Windows, le pilote détermine automatiquement s'il convient d'utiliser l'authentification standard, de AWS profil ou AWS IAM en fonction des informations d'identification que vous avez spécifiées. Pour utiliser un fournisseur d’identité, vous devez définir la propriété **plugin\$1name**. 

Ce paramètre est obligatoire.

## AutoCreate
<a name="odbc20-autocreate-option"></a>
+ **Valeur par défaut** : 0
+ **Types de données** – Booléen

Une valeur booléenne indiquant si le pilote crée un nouvel utilisateur lorsque l’utilisateur spécifié n’existe pas. 
+  1 \$1 TRUE : Si l’utilisateur spécifié par l’**UID** n’existe pas, le pilote crée un nouvel utilisateur. 
+  0 \$1 FALSE : Le pilote ne crée pas de nouvel utilisateur. Si l’utilisateur spécifié n’existe pas, l’authentification échoue. 

Ce paramètre est facultatif.

## CaFile
<a name="odbc20-cafile-option"></a>
+ **Valeur par défaut** – Aucune
+ **Types de données** – Chaîne

Chemin d’accès au fichier de certificat d’autorité de certification utilisé pour certaines formes d’authentification IAM. 

 Ce paramètre est disponible uniquement sur Linux.

Ce paramètre est facultatif.

## client\$1id
<a name="odbc20-client-id-option"></a>
+ **Valeur par défaut** – Aucune
+ **Types de données** – Chaîne

ID client associé à votre application Amazon Redshift dans Azure AD. 

Ce paramètre est obligatoire si vous vous authentifiez via le service Azure AD.

## client\$1 secret
<a name="odbc20-client-secret-option"></a>
+ **Valeur par défaut** – Aucune
+ **Types de données** – Chaîne

 Clé secrète associée à votre application Amazon Redshift dans Azure AD. 

Ce paramètre est obligatoire si vous vous authentifiez via le service Azure AD.

## ClusterId
<a name="odbc20-clusterid-option"></a>
+ **Valeur par défaut** – Aucune
+ **Types de données** – Chaîne

Le nom du cluster Amazon Redshift auquel vous souhaitez vous connecter. Il est utilisé dans l’authentification IAM. L’ID du cluster n’est pas spécifié dans le paramètre **Server** (Serveur).

Ce paramètre est facultatif.

## compression
<a name="odbc20-compression-option"></a>
+ **Valeur par défaut** : désactivé
+ **Types de données** – Chaîne

Méthode de compression utilisée pour les communications par protocole filaire entre le serveur Amazon Redshift et le client ou le pilote.

Vous pouvez spécifier les valeurs suivantes :
+ lz4 : définit la méthode de compression utilisée pour les communications par protocole filaire avec Amazon Redshift sur `lz4`. 
+ zstd : définit la méthode de compression utilisée pour les communications par protocole filaire avec Amazon Redshift sur `zstd`. 
+  désactivé : n’utilise pas la compression pour les communications par protocole filaire avec Amazon Redshift. 

Ce paramètre est facultatif.

## Base de données
<a name="odbc20-database-option"></a>
+ **Valeur par défaut** – Aucune
+ **Types de données** – Chaîne

Nom de la base de données Amazon Redshift à laquelle vous souhaitez accéder.

Ce paramètre est obligatoire.

## DatabaseMetadataCurrentDbOnly
<a name="odbc20-database-metadata-option"></a>
+ **Valeur par défaut** : 1
+ **Types de données** – Booléen

Valeur booléenne indiquant si le pilote renvoie des métadonnées provenant de plusieurs bases de données et clusters.
+ 1 \$1 TRUE : Le pilote renvoie uniquement les métadonnées de la base de données actuelle. 
+  0 \$1 FALSE. Le pilote renvoie les métadonnées de plusieurs bases de données et clusters Amazon Redshift. 

Ce paramètre est facultatif.

## dbgroups\$1filter
<a name="odbc20-dbgroups-filter-option"></a>
+ **Valeur par défaut** – Aucune
+ **Types de données** – Chaîne

Expression régulière DbGroups que vous pouvez spécifier pour filtrer les informations reçues de la réponse SAML à Amazon Redshift lorsque vous utilisez les types d'authentification Azure, Browser Azure et Browser SAML. 

Ce paramètre est facultatif.

## Pilote
<a name="odbc20-driver-option"></a>
+ **Valeur par défaut** : Pilote ODBC Amazon Redshift (64 bits)
+ **Types de données** – Chaîne

Nom du pilote. La seule valeur prise en charge est **Pilote ODBC Amazon Redshift (x64)**.

Ce paramètre est obligatoire si vous ne définissez pas le **DSN**.

## DSN
<a name="odbc20-dsn-option"></a>
+ **Valeur par défaut** – Aucune
+ **Types de données** – Chaîne

Nom de la source de données du pilote. L'application spécifie le DSN dans l'API SQLDriver Connect.

Ce paramètre est obligatoire si vous ne définissez pas le **Pilote**.

## EndpointUrl
<a name="odbc20-endpointurl-option"></a>
+ **Valeur par défaut** – Aucune
+ **Types de données** – Chaîne

Point de terminaison principal utilisé pour communiquer avec le service Coral Amazon Redshift pour l’authentification IAM.

Ce paramètre est facultatif.

## ForceLowercase
<a name="odbc20-forcelowercase-option"></a>
+ **Valeur par défaut** : 0
+ **Types de données** – Booléen

Un booléen spécifiant si le pilote met en minuscules toutes les informations DbGroups envoyées par le fournisseur d'identité à Amazon Redshift lors de l'utilisation de l'authentification unique. 
+  1 \$1 VRAI : Le pilote met en minuscules tout DbGroups ce qui est envoyé par le fournisseur d'identité. 
+  0 \$1 FAUX : le pilote ne change pas DbGroups. 

Ce paramètre est facultatif.

## group\$1federation
<a name="odbc20-group-federation-option"></a>
+ **Valeur par défaut** : 0
+ **Types de données** – Booléen

Un booléen spécifiant si l’API `getClusterCredentialsWithIAM` est utilisée pour obtenir des informations d’identification de cluster temporaires dans les clusters alloués. Cette option permet aux utilisateurs IAM d’intégrer les rôles de base de données Redshift dans les clusters alloués. Notez que cette option ne s’applique pas aux espaces de noms Redshift sans serveur.
+  1 \$1 TRUE : Le pilote utilise l’API `getClusterCredentialsWithIAM` pour obtenir les informations d’identification temporaires du cluster dans les clusters alloués. 
+  0 \$1 FALSE : le pilote utilise l’API `getClusterCredentials` par défaut pour obtenir des informations d’identification de cluster temporaires dans les clusters alloués. 

Ce paramètre est facultatif.

## https\$1proxy\$1host
<a name="odbc20-https-proxy-host-option"></a>
+ **Valeur par défaut** – Aucune
+ **Types de données** – Chaîne

Nom d’hôte ou adresse IP du serveur proxy via lequel vous souhaitez transmettre les processus d’authentification IAM.

Ce paramètre est facultatif.

## https\$1proxy\$1password
<a name="odbc20-https-proxy-password-option"></a>
+ **Valeur par défaut** – Aucune
+ **Types de données** – Chaîne

Mot de passe que vous utilisez pour accéder au serveur proxy. Il est utilisé pour l’authentification IAM.

Ce paramètre est facultatif.

## https\$1proxy\$1port
<a name="odbc20-https-proxy-port-option"></a>
+ **Valeur par défaut** – Aucune
+ **Type de données** – Entier

Numéro du port que le serveur proxy utilise pour écouter les connexions client. Il est utilisé pour l’authentification IAM.

Ce paramètre est facultatif.

## https\$1proxy\$1username
<a name="odbc20-https-proxy-username-option"></a>
+ **Valeur par défaut** – Aucune
+ **Types de données** – Chaîne

Le nom d’utilisateur que vous utilisez pour accéder au serveur proxy. Il est utilisé pour l’authentification IAM.

Ce paramètre est facultatif.

## IAM
<a name="odbc20-iam-option"></a>
+ **Valeur par défaut** : 0
+ **Types de données** – Booléen

Valeur booléenne indiquant si le pilote utilise une méthode d’authentification IAM pour authentifier la connexion. 
+  1 \$1 VRAI : Le pilote utilise l’une des méthodes d’authentification IAM (en utilisant une paire clé d’accès et clé secrète, un profil ou un service d’informations d’identification). 
+  0 \$1 FALSE. Le pilote utilise l’authentification standard (en utilisant le nom d’utilisateur et le mot de passe de votre base de données). 

Ce paramètre est facultatif.

## idc\$1client\$1display\$1name
<a name="odbc20-idc_client_display_name-option"></a>
+ **Valeur par défaut** : pilote ODBC Amazon Redshift
+ **Types de données** – Chaîne

Le nom d'affichage à utiliser pour le client qui l'utilise BrowserIdcAuthPlugin.

Ce paramètre est facultatif.

## idc\$1region
<a name="odbc20-idc_region"></a>
+ **Valeur par défaut** – Aucune
+ **Types de données** – Chaîne

 AWS Région dans laquelle se trouve l'instance AWS IAM Identity Center.

Ce paramètre est requis uniquement lors de l’authentification à l’aide de `BrowserIdcAuthPlugin` dans l’option de configuration plugin\$1name.

## idp\$1host
<a name="odbc20-idp-host-option"></a>
+ **Valeur par défaut** – Aucune
+ **Types de données** – Chaîne

L’hôte IdP (fournisseur d’identité) que vous utilisez pour vous authentifier dans Amazon Redshift.

Ce paramètre est facultatif.

## idp\$1port
<a name="odbc20-idp-port-option"></a>
+ **Valeur par défaut** – Aucune
+ **Type de données** – Entier

Port pour un IdP (fournisseur d’identité) que vous utilisez pour vous authentifier dans Amazon Redshift. En fonction du port que vous avez sélectionné lors de la création, de la modification ou de la migration du cluster, autorisez l’accès au port sélectionné. 

Ce paramètre est facultatif.

## idp\$1response\$1timeout
<a name="odbc20-idp-response-timeout-option"></a>
+ **Valeur par défaut** – 120
+ **Type de données** – Entier

La durée, en secondes, pendant laquelle le pilote attend la réponse SAML du fournisseur d’identité lors de l’utilisation des services SAML ou Azure AD via un plug-in de navigateur. 

Ce paramètre est facultatif.

## idp\$1tenant
<a name="odbc20-idp-tenant-option"></a>
+ **Valeur par défaut** – Aucune
+ **Types de données** – Chaîne

 ID de locataire Azure AD associé à votre application Amazon Redshift.

Ce paramètre est obligatoire si vous vous authentifiez via le service Azure AD.

## idp\$1partition
<a name="odbc20-idp-partition-option"></a>
+ **Valeur par défaut** – Aucune
+ **Types de données** – Chaîne

Spécifie la partition cloud sur laquelle votre fournisseur d'identité (IdP) est configuré. Cela détermine le point de terminaison d'authentification IdP auquel le pilote se connecte.

Si ce paramètre est laissé vide, le pilote utilise par défaut la partition commerciale. Les valeurs possibles sont :
+ `us-gov`: utilisez cette valeur si votre IdP est configuré dans Azure Government. Par exemple, Azure AD Government utilise le point de terminaison`login.microsoftonline.us`.
+ `cn`: Utilisez cette valeur si votre IdP est configuré dans la partition cloud de Chine. Par exemple, Azure AD Chine utilise le point de terminaison`login.chinacloudapi.cn`.

Ce paramètre est facultatif.

## idp\$1use\$1https\$1proxy
<a name="odbc20-idp-use-https-proxy-option"></a>
+ **Valeur par défaut** : 0
+ **Types de données** – Booléen

Valeur booléenne indiquant si le pilote transmet les processus d’authentification pour les fournisseurs d’identité (IdP) par un serveur proxy. 
+  1 \$1 TRUE : Le pilote transmet les processus d’authentification IdP par un serveur proxy. 
+  0 \$1 FALSE. Le pilote ne transmet pas les processus d’authentification IdP par un serveur proxy. 

Ce paramètre est facultatif.

## InstanceProfile
<a name="odbc20-instanceprofile-option"></a>
+ **Valeur par défaut** : 0
+ **Types de données** – Booléen

Valeur booléenne indiquant si le pilote utilise le profil d’instance Amazon EC2, lorsqu’il est configuré pour utiliser un profil pour l’authentification.
+  1 \$1 TRUE : Le pilote utilise le profil d’instance Amazon EC2. 
+  0 \$1 FALSE. Le pilote utilise le profil des rôles reliés par chaîne spécifié par l’option Nom du profil (**Profil**) à la place. 

Ce paramètre est facultatif.

## issuer\$1url
<a name="odbc20-issuer_url"></a>
+ **Valeur par défaut** – Aucune
+ **Types de données** – Chaîne

 Pointe vers le point de terminaison de l'instance du serveur AWS IAM Identity Center. 

Ce paramètre est requis uniquement lors de l’authentification à l’aide de `BrowserIdcAuthPlugin` dans l’option de configuration plugin\$1name.

## KeepAlive
<a name="odbc20-keepalive-option"></a>
+ **Valeur par défaut** : 1
+ **Types de données** – Booléen

Valeur booléenne indiquant si le pilote utilise les keepalives TCP pour empêcher les connexions de s’interrompre.
+  1 \$1 TRUE : Le pilote utilise les keepalives TCP pour empêcher les connexions de s’interrompre. 
+  0 \$1 FALSE. Le pilote n’utilise pas les keepalives TCP. 

Ce paramètre est facultatif.

## KeepAliveCount
<a name="odbc20-keepalivecount-option"></a>
+ **Valeur par défaut** : 0
+ **Type de données** – Entier

Nombre de paquets TCP keepalive qui peuvent être perdus avant que la connexion soit considérée comme interrompue. Lorsque ce paramètre est défini sur 0, le pilote utilise la valeur par défaut du système pour ce paramètre. 

Ce paramètre est facultatif.

## KeepAliveInterval
<a name="odbc20-keepaliveinterval-option"></a>
+ **Valeur par défaut** : 0
+ **Type de données** – Entier

Nombre de secondes entre chaque retransmission de paquet TCP keepalive. Lorsque ce paramètre est défini sur 0, le pilote utilise la valeur par défaut du système pour ce paramètre. 

Ce paramètre est facultatif.

## KeepAliveTime
<a name="odbc20-keepalivetime-option"></a>
+ **Valeur par défaut** : 0
+ **Type de données** – Entier

Nombre de secondes d’inactivité avant que le pilote envoie un paquet TCP keepalive. Lorsque ce paramètre est défini sur 0, le pilote utilise la valeur par défaut du système pour ce paramètre. 

Ce paramètre est facultatif.

## listen\$1port
<a name="odbc20-listen-port-option"></a>
+ **Valeur par défaut** : 7890
+ **Type de données** – Entier

Port utilisé par le pilote pour recevoir la réponse SAML du fournisseur d'identité ou le code d'autorisation lors de l'utilisation des services SAML, Azure AD ou AWS IAM Identity Center via un plug-in de navigateur.

Ce paramètre est facultatif.

## login\$1url
<a name="odbc20-login-url-option"></a>
+ **Valeur par défaut** – Aucune
+ **Types de données** – Chaîne

URL de la ressource sur le site web du fournisseur d’identité lors de l’utilisation du plug-in générique du Navigateur SAML.

Ce paramètre est requis si vous vous authentifiez avec les services SAML ou Azure AD via un plugin de navigateur.

## loginToRp
<a name="odbc20-logintorp-option"></a>
+ **Valeur par défaut** : urn:amazon:webservices
+ **Types de données** – Chaîne

L’approbation des parties utilisatrices que vous souhaitez utiliser pour le type d’authentification AD FS.

Cette chaîne est facultative.

## LogLevel
<a name="odbc20-loglevel-option"></a>
+ **Valeur par défaut** : 0
+ **Type de données** – Entier

Utilisez cette propriété pour activer ou désactiver la journalisation dans le pilote et pour spécifier la quantité de détails inclus dans les fichiers journaux. Nous vous recommandons d’activer la journalisation juste assez longtemps pour capturer un problème, car elle diminue les performances et peut consommer une grande quantité d’espace disque.

 Définissez la propriété sur l’une des valeurs suivantes :
+  0 : OFF. Désactiver toute la journalisation. 
+  1 : ERROR. Enregistre les événements d’erreur qui pourraient permettre au pilote de continuer à fonctionner, mais qui produisent une erreur. 
+  2 : API\$1CALL. Enregistre les appels de fonctions de l’API ODBC avec les valeurs des arguments de fonction. 
+  3 : INFO. Enregistre les informations générales qui décrivent la progression du pilote. 
+  4 : MSG\$1PROTOCOL. Enregistre les informations détaillées sur le protocole de messages du pilote. 
+  5 : DEBUG. Enregistre toutes les activités du pilote. 
+  6 : DEBUG\$1APPEND. Continue d’ajouter des journaux pour toutes les activités du pilote. 

Lorsque la journalisation est activée, le pilote produit les fichiers journaux suivants à l'emplacement que vous spécifiez dans la **LogPath**propriété : 
+  Un fichier `redshift_odbc.log.1` qui enregistre l’activité du pilote pendant la négociation d’une connexion. 
+  Un fichier `redshift_odbc.log` pour toutes les activités du pilote après l’établissement d’une connexion à la base de données. 

Ce paramètre est facultatif.

## LogPath
<a name="odbc20-logpath-option"></a>
+ **Valeur par défaut** : Le répertoire TEMP spécifique au système d’exploitation
+ **Types de données** – Chaîne

Le chemin complet du dossier dans lequel le pilote enregistre les fichiers journaux lorsqu'il **LogLevel**est supérieur à 0.

Ce paramètre est facultatif.

## Min\$1TLS
<a name="odbc20-min-tls-option"></a>
+ **Valeur par défaut** : 1,2
+ **Types de données** – Chaîne

 Version minimale TLS/SSL que le pilote autorise le magasin de données à utiliser pour chiffrer les connexions. Par exemple, si le protocole TLS 1.2 est spécifié, le protocole TLS 1.1 ne peut pas être utilisé pour chiffrer les connexions.

Min\$1TLS accepte les valeurs suivantes :
+  1.0 : La connexion doit utiliser au moins TLS 1.0. 
+  1.1 : La connexion doit utiliser au moins TLS 1.1. 
+  1.2 : La connexion doit utiliser au moins TLS 1.2. 

Ce paramètre est facultatif.

## partner\$1spid
<a name="odbc20-partner-spid-option"></a>
+ **Valeur par défaut** – Aucune
+ **Types de données** – Chaîne

La valeur SPID (ID du fournisseur de services) du partenaire à utiliser lors de l'authentification de la connexion à l'aide du PingFederate service.

Ce paramètre est facultatif.

## Mot de passe \$1 PWS
<a name="odbc20-password-option"></a>
+ **Valeur par défaut** – Aucune
+ **Types de données** – Chaîne

Mot de passe correspondant au nom d’utilisateur de la base de données que vous avez fourni dans le champ Utilisateur (**UID** \$1 **Utilisateur** \$1 **LogonID**). 

Ce paramètre est facultatif.

## plugin\$1name
<a name="odbc20-plugin-name-option"></a>
+ **Valeur par défaut** – Aucune
+ **Types de données** – Chaîne

Le nom du plug-in du fournisseur d’informations d’identification que vous souhaitez utiliser pour l’authentification. 

 Les valeurs suivantes sont prises en charge : 
+  `ADFS` : utilisez Active Directory Federation Services pour l’authentification. 
+  `AzureAD` : utilisez le service Microsoft Azure Active Directory (AD) pour l’authentification. 
+  `BrowserAzureAD` : utilisez un plug-in de navigateur pour le service Microsoft Azure Active Directory (AD) pour l’authentification. 
+  `BrowserIdcAuthPlugin `: un plugin d’autorisation utilisant AWS IAM Identity Center. 
+  `BrowserSAML` : utilisez un plug-in de navigateur pour les services SAML tels qu’Okta ou Ping pour l’authentification. 
+  `IdpTokenAuthPlugin`: plugin d'autorisation qui accepte un jeton AWS IAM Identity Center ou des jetons d'identité basés sur le JSON OpenID Connect (OIDC) (JWT) provenant de n'importe quel fournisseur d'identité Web lié à IAM Identity Center. AWS 
+  `JWT` : utilisez un jeton web JSON (JWT) pour l’authentification. 
+  `Ping`: utilisez le PingFederate service pour l'authentification. 
+  `Okta` : utilisez le service Okta pour l’authentification. 

Ce paramètre est facultatif.

## Port \$1 PortNumber
<a name="odbc20-port-option"></a>
+ **Valeur par défaut** : 5439
+ **Type de données** – Entier

Numéro du port TCP que le serveur Amazon Redshift utilise pour écouter les connexions client. 

Ce paramètre est facultatif.

## preferred\$1role
<a name="odbc20-preferred-role-option"></a>
+ **Valeur par défaut** – Aucune
+ **Types de données** – Chaîne

Le rôle que vous souhaitez endosser lors de la connexion à Amazon Redshift. Il est utilisé pour l’authentification IAM.

Ce paramètre est facultatif.

## Profil
<a name="odbc20-profile-option"></a>
+ **Valeur par défaut** – Aucune
+ **Types de données** – Chaîne

Le nom du AWS profil utilisateur utilisé pour s'authentifier auprès d'Amazon Redshift.
+  Si le paramètre Use Instance Profile (la **InstanceProfile**propriété) est défini sur 1 \$1 TRUE, ce paramètre est prioritaire et le pilote utilise le profil d'instance Amazon EC2 à la place. 
+  L’emplacement par défaut du fichier d’informations d’identification qui contient des profils est `~/.aws/Credentials`. La variable d’environnement `AWS_SHARED_CREDENTIALS_FILE` peut être utilisée pour désigner un autre fichier d’informations d’identification. 

Ce paramètre est facultatif.

## provider\$1name
<a name="odbc20-provider-name-option"></a>
+ **Valeur par défaut** – Aucune
+ **Types de données** – Chaîne

Fournisseur d’authentification créé par l’utilisateur à l’aide de la requête CREATE IDENTITY PROVIDER. Il est utilisé dans l’authentification native Amazon Redshift.

Ce paramètre est facultatif.

## ProxyHost
<a name="odbc20-proxyhost-option"></a>
+ **Valeur par défaut** – Aucune
+ **Types de données** – Chaîne

Nom d’hôte ou adresse IP du serveur proxy via lequel vous souhaitez vous connecter.

Ce paramètre est facultatif.

## ProxyPort
<a name="odbc20-proxyport-option"></a>
+ **Valeur par défaut** – Aucune
+ **Type de données** – Entier

Numéro du port que le serveur proxy utilise pour écouter les connexions client.

Ce paramètre est facultatif.

## ProxyPwd
<a name="odbc20-proxypwd-option"></a>
+ Problème de **version du pilote ValPrevious ODBC par défaut : aucun**
+ **Types de données** – Chaîne

Mot de passe que vous utilisez pour accéder au serveur proxy. 

Ce paramètre est facultatif.

## ProxyUid
<a name="odbc20-proxyuid-option"></a>
+ **Valeur par défaut** – Aucune
+ **Types de données** – Chaîne

Le nom d’utilisateur que vous utilisez pour accéder au serveur proxy.

Ce paramètre est facultatif.

## ReadOnly
<a name="odbc20-readonly-option"></a>
+ **Valeur par défaut** : 0
+ **Types de données** – Booléen

Valeur booléenne indiquant si le pilote est en mode lecture seule. 
+  1 \$1 TRUE : La connexion est en mode lecture seule et ne peut pas écrire dans le magasin de données. 
+  0 \$1 FALSE : La connexion n’est pas en mode lecture seule et peut écrire dans le magasin de données. 

Ce paramètre est facultatif.

## region
<a name="odbc20-region-option"></a>
+ **Valeur par défaut** – Aucune
+ **Types de données** – Chaîne

La AWS région dans laquelle se trouve votre cluster. 

Ce paramètre est facultatif.

## SecretAccessKey
<a name="odbc20-secretaccesskey-option"></a>
+ **Valeur par défaut** – Aucune
+ **Types de données** – Chaîne

 La clé de secret IAM pour l’utilisateur ou le rôle. Si vous définissez ce paramètre, vous devez également définir l'**AccessKeyID**. 

Ce paramètre est facultatif.

## SessionToken
<a name="odbc20-sessiontoken-option"></a>
+ **Valeur par défaut** – Aucune
+ **Types de données** – Chaîne

 Le jeton de séance IAM temporaire associé au rôle IAM que vous utilisez pour vous authentifier. 

Ce paramètre est facultatif.

## Serveur \$1 HostName \$1 Hôte
<a name="odbc20-server-option"></a>
+ **Valeur par défaut** – Aucune
+ **Types de données** – Chaîne

Serveur de point de terminaison auquel se connecter.

Ce paramètre est obligatoire.

## ssl\$1insecure
<a name="odbc20-ssl-insecure-option"></a>
+ **Valeur par défaut** : 0
+ **Types de données** – Booléen

Valeur booléenne indiquant si le pilote vérifie l’authenticité du certificat du serveur IdP.
+  1 \$1 TRUE : Le pilote ne vérifie pas l’authenticité du certificat du serveur IdP. 
+  0 \$1 FALSE : Le pilote vérifie l’authenticité du certificat du serveur IdP. 

Ce paramètre est facultatif.

## SSLMode
<a name="odbc20-sslmode-option"></a>
+ **Valeur par défaut** : `verify-ca`
+ **Types de données** – Chaîne

Mode de vérification du certificat SSL à utiliser lors de la connexion à Amazon Redshift. Les valeurs suivantes sont possibles : 
+  `verify-full` : connectez-vous uniquement en utilisant un protocole SSL, une autorité de certification de confiance et un nom de serveur qui correspond au certificat. 
+  `verify-ca` : connectez-vous uniquement en utilisant le protocole SSL et une autorité de certification de confiance. 
+  `require` : connectez-vous uniquement en utilisant le protocole SSL. 
+  `prefer` : connectez-vous en utilisant le protocole SSL s’il est disponible. Sinon, connectez-vous sans utiliser le protocole SSL. 
+  `allow` : par défaut, connectez-vous sans utiliser le protocole SSL. Si le serveur nécessite des connexions SSL, utilisez le protocole SSL. 
+  `disable` : connectez-vous sans utiliser le protocole SSL. 

Ce paramètre est facultatif.

## StsConnectionTimeout
<a name="odbc20-stsconnectiontimeout-option"></a>
+ **Valeur par défaut** : 0
+ **Type de données** – Entier

Durée d’attente maximale pour les connexions IAM, en secondes. Si la valeur est définie sur 0 ou si elle n'est pas spécifiée, le chauffeur attend 60 secondes pour chaque AWS STS appel. 

Ce paramètre est facultatif.

## StsEndpointUrl
<a name="odbc20-stsendpointurl-option"></a>
+ **Valeur par défaut** – Aucune
+ **Types de données** – Chaîne

Cette option spécifie le point de terminaison principal utilisé pour communiquer avec AWS Security Token Service (AWS STS). 

Ce paramètre est facultatif.

## jeton
<a name="jdbc20-token-option"></a>
+ **Valeur par défaut** – Aucune
+ **Types de données** – Chaîne

Un jeton d'accès fourni par AWS IAM Identity Center ou un jeton Web JSON (JWT) OpenID Connect (OIDC) fourni par un fournisseur d'identité Web AWS lié à IAM Identity Center. Votre application doit générer ce jeton en authentifiant l'utilisateur de votre application auprès d' AWS IAM Identity Center ou d'un fournisseur d'identité lié à AWS IAM Identity Center. 

Ce paramètre fonctionne avec `IdpTokenAuthPlugin`.

## token\$1type
<a name="jdbc20-token-type-option"></a>
+ **Valeur par défaut** – Aucune
+ **Types de données** – Chaîne

Type de jeton utilisé dans `IdpTokenAuthPlugin`.

Vous pouvez spécifier les valeurs suivantes :

**ACCESS\$1TOKEN**  
Entrez cette valeur si vous utilisez un jeton d'accès fourni par AWS IAM Identity Center.

**EXT\$1JWT**  
Entrez cette valeur si vous utilisez un jeton Web JSON (JWT) OpenID Connect (OIDC) fourni par un fournisseur d’identité Web intégré à AWS IAM Identity Center.

Ce paramètre fonctionne avec `IdpTokenAuthPlugin`.

## UID \$1 Utilisateur \$1 LogonID
<a name="odbc20-uid-option"></a>
+ **Valeur par défaut** – Aucune
+ **Types de données** – Chaîne

Nom d’utilisateur que vous utilisez pour accéder au serveur Amazon Redshift.

Ce paramètre est obligatoire si vous utilisez l’authentification de base de données.

## UseUnicode
<a name="odbc20-useunicode-option"></a>
+ **Valeur par défaut** : 0
+ **Types de données** – Booléen

Un booléen spécifiant si le pilote renvoie les données Redshift sous forme d'Unicode ou de type SQL normal.
+  1 \$1 VRAI : Le pilote renvoie un type SQL large pour le type de données de type caractère. 
  + SQL\$1WCHAR est renvoyé à la place de SQL\$1CHAR.
  + SQL\$1WVARCHAR est renvoyé à la place de SQL\$1VARCHAR.
  + SQL\$1WLONGVARCHAR est renvoyé au lieu de SQL\$1LONGVARCHAR.
+  0 \$1 FALSE : le pilote renvoie un type SQL normal pour le type de données de type caractère. 
  + SQL\$1CHAR est renvoyé au lieu de SQL\$1WCHAR.
  + SQL\$1VARCHAR est renvoyé au lieu de SQL\$1WVARCHAR.
  + SQL\$1LONGVARCHAR est renvoyé au lieu de SQL\$1WLONGVARCHAR.

Ce paramètre est facultatif. Il est disponible dans les versions 2.1.15 et ultérieures du pilote.

## web\$1identity\$1token
<a name="odbc20-web-identity-token-option"></a>
+ **Valeur par défaut** – Aucune
+ **Types de données** – Chaîne

Jeton OAUTH fourni par le fournisseur d’identité. Il est utilisé dans le plug-in JWT.

Ce paramètre est obligatoire si vous définissez le paramètre **plugin\$1name** sur. BasicJwtCredentialsProvider

# Versions antérieures du pilote ODBC
<a name="odbc20-previous-versions"></a>

Ne téléchargez une version antérieure du pilote ODBC Amazon Redshift version 2x que si votre outil nécessite une version spécifique du pilote. 

## Utiliser les versions antérieures du pilote ODBC pour Microsoft Windows
<a name="odbc20-previous-versions-windows"></a>

Voici les versions précédentes du pilote ODBC Amazon Redshift version 2.x pour Microsoft Windows : 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.14.0/AmazonRedshiftODBC64-2.1.14.0.msi Dans](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.14.0/AmazonRedshiftODBC64-2.1.14.0.msi) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.13.0/AmazonRedshiftODBC64-2.1.13.0.msi Dans](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.13.0/AmazonRedshiftODBC64-2.1.13.0.msi) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.12.0/AmazonRedshiftODBC64-2.1.12.0.msi Dans](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.12.0/AmazonRedshiftODBC64-2.1.12.0.msi) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.11.0/AmazonRedshiftODBC64-2.1.11.0.msi Dans](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.11.0/AmazonRedshiftODBC64-2.1.11.0.msi) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.10.0/AmazonRedshiftODBC64-2.1.10.0.msi Dans](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.10.0/AmazonRedshiftODBC64-2.1.10.0.msi) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.9.0/AmazonRedshiftODBC64-2.1.9.0.msi Dans](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.9.0/AmazonRedshiftODBC64-2.1.9.0.msi) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.9.0/AmazonRedshiftODBC64-2.1.9.0.msi Dans](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.9.0/AmazonRedshiftODBC64-2.1.9.0.msi) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.8.0/AmazonRedshiftODBC64-2.1.8.0.msi Dans](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.8.0/AmazonRedshiftODBC64-2.1.8.0.msi) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.7.0/AmazonRedshiftODBC64-2.1.7.0.msi Dans](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.7.0/AmazonRedshiftODBC64-2.1.7.0.msi) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.6.0/AmazonRedshiftODBC64-2.1.6.0.msi Dans](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.6.0/AmazonRedshiftODBC64-2.1.6.0.msi) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.4.0/AmazonRedshiftODBC64-2.1.4.0.msi Dans](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.4.0/AmazonRedshiftODBC64-2.1.4.0.msi) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.3.0/AmazonRedshiftODBC64-2.1.3.0.msi Dans](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.3.0/AmazonRedshiftODBC64-2.1.3.0.msi) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.2.0/AmazonRedshiftODBC64-2.1.2.0.msi Dans](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.2.0/AmazonRedshiftODBC64-2.1.2.0.msi) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.1.0/AmazonRedshiftODBC64-2.1.1.0.msi Dans](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.1.0/AmazonRedshiftODBC64-2.1.1.0.msi) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.0.0/AmazonRedshiftODBC64-2.1.0.0.msi Dans](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.0.0/AmazonRedshiftODBC64-2.1.0.0.msi) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.0.1.0/AmazonRedshiftODBC64-2.0.1.0.msi Dans](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.0.1.0/AmazonRedshiftODBC64-2.0.1.0.msi) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.0.0.11/AmazonRedshiftODBC64-2.0.0.11.msi Dans](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.0.0.11/AmazonRedshiftODBC64-2.0.0.11.msi) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.0.0.9/AmazonRedshiftODBC64-2.0.0.9.msi Dans](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.0.0.9/AmazonRedshiftODBC64-2.0.0.9.msi) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.0.0.8/AmazonRedshiftODBC64-2.0.0.8.msi Dans](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.0.0.8/AmazonRedshiftODBC64-2.0.0.8.msi) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.0.0.7/AmazonRedshiftODBC64-2.0.0.7.msi Dans](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.0.0.7/AmazonRedshiftODBC64-2.0.0.7.msi) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.0.0.6/AmazonRedshiftODBC64-2.0.0.6.msi Dans](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.0.0.6/AmazonRedshiftODBC64-2.0.0.6.msi) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.0.0.5/AmazonRedshiftODBC64-2.0.0.5.msi Dans](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.0.0.5/AmazonRedshiftODBC64-2.0.0.5.msi) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.0.0.3/AmazonRedshiftODBC64-2.0.0.3.msi Dans](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.0.0.3/AmazonRedshiftODBC64-2.0.0.3.msi) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.0.0.1/AmazonRedshiftODBC64-2.0.0.1.msi Dans](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.0.0.1/AmazonRedshiftODBC64-2.0.0.1.msi) 

## Utiliser les versions antérieures du pilote ODBC pour Linux
<a name="odbc20-previous-versions-linux"></a>

Vous trouverez ci-dessous les versions précédentes du pilote ODBC Amazon Redshift version 2.x pour Linux : 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.14.0/AmazonRedshiftODBC-64 bit-2.1.14.0.x86\$164.rpm](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.14.0/AmazonRedshiftODBC-64-bit-2.1.14.0.x86_64.rpm) -64 bits-2.1.14.0.x86\$164\$1rpm 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.14.0/AmazonRedshiftODBC-64-bit-2.1.14.0.aarch64.rpm](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.14.0/AmazonRedshiftODBC-64-bit-2.1.14.0.aarch64.rpm) -64 bits-2.1.14.0.aarch64.rpm 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.13.0/AmazonRedshiftODBC-64 bit-2.1.13.0.x86\$164.rpm](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.13.0/AmazonRedshiftODBC-64-bit-2.1.13.0.x86_64.rpm) -64 bits-2.1.13.0.x86\$164\$1rpm 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.13.0/AmazonRedshiftODBC-64-bit-2.1.13.0.aarch64.rpm](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.13.0/AmazonRedshiftODBC-64-bit-2.1.13.0.aarch64.rpm) -64 bits-2.1.13.0.aarch64.rpm 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.12.0/AmazonRedshiftODBC-64 bit-2.1.12.0.x86\$164.rpm](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.12.0/AmazonRedshiftODBC-64-bit-2.1.12.0.x86_64.rpm) -64 bits-2.1.12.0.x86\$164 tr/min 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.12.0/AmazonRedshiftODBC-64-bit-2.1.12.0.aarch64.rpm](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.12.0/AmazonRedshiftODBC-64-bit-2.1.12.0.aarch64.rpm) -64 bits-2.1.12.0.aarch64.rpm 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.11.0/AmazonRedshiftODBC-64 bit-2.1.11.0.x86\$164.rpm](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.11.0/AmazonRedshiftODBC-64-bit-2.1.11.0.x86_64.rpm) -64 bits-2.1.11.0.x86\$164 tr/min 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.11.0/AmazonRedshiftODBC-64-bit-2.1.11.0.aarch64.rpm](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.11.0/AmazonRedshiftODBC-64-bit-2.1.11.0.aarch64.rpm) -64 bits-2.1.11.0.aarch64.rpm 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.10.0/AmazonRedshiftODBC-64 bit-2.1.10.0.x86\$164.rpm](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.10.0/AmazonRedshiftODBC-64-bit-2.1.10.0.x86_64.rpm) -64 bits-2.1.10.0.x86\$164 tr/min 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.9.0/AmazonRedshiftODBC-64 bit-2.1.9.0.x86\$164.rpm](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.9.0/AmazonRedshiftODBC-64-bit-2.1.9.0.x86_64.rpm) -64 bits-2.1.9.0.x86\$164 tr/min 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.8.0/AmazonRedshiftODBC-64 bit-2.1.8.0.x86\$164.rpm](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.8.0/AmazonRedshiftODBC-64-bit-2.1.8.0.x86_64.rpm) -64 bits-2.1.8.0.x86\$164 tr/min 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.7.0/AmazonRedshiftODBC-64 bit-2.1.7.0.x86\$164.rpm](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.7.0/AmazonRedshiftODBC-64-bit-2.1.7.0.x86_64.rpm) -64 bits-2.1.7.0.x86\$164 tr/min 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.6.0/AmazonRedshiftODBC-64 bit-2.1.6.0.x86\$164.rpm](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.6.0/AmazonRedshiftODBC-64-bit-2.1.6.0.x86_64.rpm) -64 bits-2.1.6.0.x86\$164 tr/min 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.4.0/AmazonRedshiftODBC-64 bit-2.1.4.0.x86\$164.rpm](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.4.0/AmazonRedshiftODBC-64-bit-2.1.4.0.x86_64.rpm) -64 bits-2.1.4.0.x86\$164 tr/min 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.3.0/AmazonRedshiftODBC-64 bit-2.1.3.0.x86\$164.rpm](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.3.0/AmazonRedshiftODBC-64-bit-2.1.3.0.x86_64.rpm) -64 bits-2.1.3.0.x86\$164 tr/min 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.2.0/AmazonRedshiftODBC-64 bit-2.1.2.0.x86\$164.rpm](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.2.0/AmazonRedshiftODBC-64-bit-2.1.2.0.x86_64.rpm) -64 bits-2.1.2.0.x86\$164 tr/min 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.1.0/AmazonRedshiftODBC-64 bit-2.1.1.0.x86\$164.rpm](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.1.0/AmazonRedshiftODBC-64-bit-2.1.1.0.x86_64.rpm) -64 bits-2.1.1.0.x86\$164\$1rpm 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.0.0/AmazonRedshiftODBC-64-bit-2.1.0.0.x86\$164.rpm](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.0.0/AmazonRedshiftODBC-64-bit-2.1.0.0.x86_64.rpm) -64 bits-2.1.0.0.x86\$164 tr/min 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.0.1.0/AmazonRedshiftODBC-64-bit-2.0.1.0.x86\$164.rpm](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.0.1.0/AmazonRedshiftODBC-64-bit-2.0.1.0.x86_64.rpm) [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.0.1.0/AmazonRedshiftODBC-64 bits-2.0.1.0.x86\$164 tr/min](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.0.1.0/AmazonRedshiftODBC-64-bit-2.0.1.0.x86_64.rpm) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.0.0.11/AmazonRedshiftODBC-64-bit-2.0.0.11.x86\$164.rpm](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.0.0.11/AmazonRedshiftODBC-64-bit-2.0.0.11.x86_64.rpm) [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.0.0.11/AmazonRedshiftODBC-64 bits-2.0.0.11.x86\$164\$1rpm](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.0.0.11/AmazonRedshiftODBC-64-bit-2.0.0.11.x86_64.rpm) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.0.0.9/AmazonRedshiftODBC-64-bit-2.0.0.9.x86\$164.rpm](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.0.0.9/AmazonRedshiftODBC-64-bit-2.0.0.9.x86_64.rpm) [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.0.0.9/AmazonRedshiftODBC-64 bits-2,0.0.9.x86\$164 tr/min](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.0.0.9/AmazonRedshiftODBC-64-bit-2.0.0.9.x86_64.rpm) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.0.0.8/AmazonRedshiftODBC-64-bit-2.0.0.8.x86\$164.rpm](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.0.0.8/AmazonRedshiftODBC-64-bit-2.0.0.8.x86_64.rpm) [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.0.0.8/AmazonRedshiftODBC-64 bits-2.0.0.8.x86\$164 tr/min](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.0.0.8/AmazonRedshiftODBC-64-bit-2.0.0.8.x86_64.rpm) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.0.0.7/AmazonRedshiftODBC-64-bit-2.0.0.7.x86\$164.rpm](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.0.0.7/AmazonRedshiftODBC-64-bit-2.0.0.7.x86_64.rpm) [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.0.0.7/AmazonRedshiftODBC-64 bits-2.0.0.7.x86\$164\$1rpm](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.0.0.7/AmazonRedshiftODBC-64-bit-2.0.0.7.x86_64.rpm) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.0.0.6/AmazonRedshiftODBC-64-bit-2.0.0.6.x86\$164.rpm](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.0.0.6/AmazonRedshiftODBC-64-bit-2.0.0.6.x86_64.rpm) [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.0.0.6/AmazonRedshiftODBC-64 bits-2.0.0.6.x86\$164 .rpm](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.0.0.6/AmazonRedshiftODBC-64-bit-2.0.0.6.x86_64.rpm) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.0.0.5/AmazonRedshiftODBC-64-bit-2.0.0.5.x86\$164.rpm](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.0.0.5/AmazonRedshiftODBC-64-bit-2.0.0.5.x86_64.rpm) [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.0.0.5/AmazonRedshiftODBC-64 bits-2.0.0.5.x86\$164 .rpm](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.0.0.5/AmazonRedshiftODBC-64-bit-2.0.0.5.x86_64.rpm) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.0.0.3/AmazonRedshiftODBC-64-bit-2.0.0.3.x86\$164.rpm](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.0.0.3/AmazonRedshiftODBC-64-bit-2.0.0.3.x86_64.rpm) [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.0.0.3/AmazonRedshiftODBC-64 bits-2.0.0.3.x86\$164 .rpm](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.0.0.3/AmazonRedshiftODBC-64-bit-2.0.0.3.x86_64.rpm) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.0.0.1/AmazonRedshiftODBC-64-bit-2.0.0.1.x86\$164.rpm](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.0.0.1/AmazonRedshiftODBC-64-bit-2.0.0.1.x86_64.rpm) [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.0.0.1/AmazonRedshiftODBC-64 bits-2.0.0.1.x86\$164 .rpm](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.0.0.1/AmazonRedshiftODBC-64-bit-2.0.0.1.x86_64.rpm) 

## Utiliser les versions précédentes du pilote ODBC pour Apple macOS
<a name="odbc20-previous-versions-mac"></a>

Voici les versions précédentes du pilote ODBC Amazon Redshift version 2.x pour Apple macOS : 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.14.0/AmazonRedshiftODBC-64-bit.2.1.14.0.universal.pkg](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.14.0/AmazonRedshiftODBC-64-bit.2.1.14.0.universal.pkg) -64 bit.2.1.14.0.universal.pkg 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.13.0/AmazonRedshiftODBC-64-bit.2.1.13.0.universal.pkg](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.13.0/AmazonRedshiftODBC-64-bit.2.1.13.0.universal.pkg) -64 bit.2.1.13.0.universal.pkg 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.12.0/AmazonRedshiftODBC-64-bit.2.1.12.0.universal.pkg](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.12.0/AmazonRedshiftODBC-64-bit.2.1.12.0.universal.pkg) -64 bit.2.1.12.0.universal.pkg 

# Configuration d'une connexion au pilote ODBC version 1.x
<a name="configure-odbc-connection"></a>

Vous pouvez utiliser une connexion ODBC pour vous connecter à votre cluster Amazon Redshift à partir de nombreux outils et applications clients SQL tiers. Pour ce faire, configurez la connexion sur votre ordinateur client ou votre instance Amazon EC2. Si votre outil client prend en charge JDBC, vous pouvez choisir d’utiliser ce type de connexion plutôt qu’ODBC en raison de la simplicité de configuration offerte par JDBC. Toutefois, si votre outil client ne prend pas en charge JDBC, suivez les étapes de cette section pour configurer une connexion ODBC. 

Amazon Redshift fournit des pilotes ODBC 64 bits pour les systèmes d’exploitation Linux, Windows et macOS X. Les pilotes ODBC 32 bits sont interrompus. D’autres mises à jour ne seront pas publiées, sauf pour les correctifs de sécurité urgents. 

Pour obtenir les dernières informations sur les fonctionnalités du pilote ODBC et les conditions préalables, consultez les [Notes de mise à jour du pilote ODBC d’Amazon Redshift](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.6.3.1008/Release+Notes.pdf). 

Pour obtenir des informations sur l’installation et la configuration des pilotes ODBC Amazon Redshift, consultez le [Guide d’installation et de configuration du connecteur ODBC Amazon Redshift](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.6.3.1008/Amazon+Redshift+ODBC+Connector+Install+Guide.pdf). 

**Topics**
+ [Obtention de l’URL ODBC](obtain-odbc-url.md)
+ [Utilisation d’un pilote ODBC Amazon Redshift sur Microsoft Windows](install-odbc-driver-windows.md)
+ [Utilisation d’un pilote ODBC Amazon Redshift sous Linux](install-odbc-driver-linux.md)
+ [Utilisation d’un pilote ODBC Amazon Redshift sur macOS X](install-odbc-driver-mac.md)
+ [Options du pilote ODBC](configure-odbc-options.md)
+ [Versions antérieures du pilote ODBC](odbc-previous-versions.md)

# Obtention de l’URL ODBC
<a name="obtain-odbc-url"></a>

Amazon Redshift affiche l’URL ODBC de votre cluster dans la console Amazon Redshift. Cette URL contient les informations permettant de configurer la connexion entre votre ordinateur client et la base de données.

 Une URL ODBC a le format suivant : `Driver={driver};Server=endpoint;Database=database_name;UID=user_name;PWD=password;Port=port_number` 

Les champs du format indiqué ci-dessus ont les valeurs suivantes.

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/redshift/latest/mgmt/obtain-odbc-url.html)

 Les champs des tables précédentes peuvent contenir les caractères spéciaux suivants :

```
[]{}(),;?*=!@ 
```

 Si vous utilisez ces caractères spéciaux, vous devez placer la valeur entre accolades. Par exemple, la valeur du mot de passe `Your;password123` dans une chaîne de connexion est représentée par `PWD={Your;password123};`. 

 Les paires `Field=value` étant séparées par un point-virgule, la combinaison de `}` et de `;` avec n’importe quel nombre d’espaces entre les deux est considérée comme la fin d’une paire `Field={value};`. Nous vous recommandons d’éviter la séquence `};` dans les valeurs de vos champs. Par exemple, si vous définissez la valeur de votre mot de passe comme `PWD={This is a passwor} ;d};`, votre mot de passe sera `This is a passwor} ;` et l’URL sera erronée. 

Voici un exemple d’URL ODBC.

```
Driver={Amazon Redshift (x64)};
                    Server=examplecluster.abc123xyz789.us-west-2.redshift.amazonaws.com;
                    Database=dev; 
                    UID=adminuser;
                    PWD=insert_your_admin_user_password_here;
                    Port=5439
```

Pour plus d’informations sur l’obtention d’une connexion ODBC, consultez [Recherche de votre chaîne de connexion au cluster](connecting-connection-string.md). 

# Utilisation d’un pilote ODBC Amazon Redshift sur Microsoft Windows
<a name="install-odbc-driver-windows"></a>

Vous installez le pilote ODBC Amazon Redshift sur les ordinateurs clients accédant à un entrepôt des données Amazon Redshift. Chaque ordinateur sur lequel vous installez le pilote doit répondre à des exigences minimales. Pour plus d’informations sur la configuration minimale requise, consultez le [Guide d’installation et de configuration du connecteur ODBC d’Amazon Redshift](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.6.3.1008/Amazon+Redshift+ODBC+Connector+Install+Guide.pdf). 

**Topics**
+ [Téléchargement et installation du pilote ODBC Amazon Redshift](odbc-driver-windows-how-to-install.md)
+ [Création d’une entrée du nom de la source de données (DSN) système pour une connexion ODBC](create-dsn-odbc-windows.md)

# Téléchargement et installation du pilote ODBC Amazon Redshift
<a name="odbc-driver-windows-how-to-install"></a>

Utilisez la procédure suivante pour télécharger les pilotes ODBC Amazon Redshift pour les systèmes d’exploitation Windows. N’utilisez un pilote autre que ceux-ci que si vous exécutez une application tierce qui est certifiée pour être utilisée avec Amazon Redshift et qui nécessite un pilote spécifique. 

**Pour installer le pilote ODBC**

1. Téléchargez l’un des pilotes suivants, en fonction de l’architecture système de votre outil client SQL ou de votre application : 
   + [Version 1.6.3 du pilote ODBC 64 bits](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.6.3.1008/AmazonRedshiftODBC64-1.6.3.1008.msi) version 1.6.3.

     Le nom de ce pilote est Amazon Redshift (x64).
   + [Version du pilote ODBC 32 bits 1.4.52 Dans](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.4.52.1000/AmazonRedshiftODBC32-1.4.52.1000.msi) version 1.4.52

     Le nom de ce pilote est Amazon Redshift (x86). Les pilotes ODBC 32 bits sont interrompus. D’autres mises à jour ne seront pas publiées, sauf pour les correctifs de sécurité urgents.
**Note**  
Téléchargez le package MSI qui correspond à l’architecture système de votre application ou outil client SQL. Par exemple, si votre outil client SQL est en 64 bits, installez le pilote 64 bits.

    Ensuite, téléchargez et consultez le [Contrat de licence du pilote ODBC et JDBC d’Amazon Redshift](https://s3.amazonaws.com/redshift-downloads/drivers/Amazon+Redshift+ODBC+and+JDBC+Driver+License+Agreement.pdf). 

1.  Double-cliquez sur le fichier .msi et suivez les étapes de l’assistant pour installer le pilote. 

# Création d’une entrée du nom de la source de données (DSN) système pour une connexion ODBC
<a name="create-dsn-odbc-windows"></a>

Après avoir téléchargé et installé le pilote ODBC, ajoutez une entrée de nom de source de données (DSN) à l’ordinateur client ou à l’instance Amazon EC2. Les outils clients SQL utilisent cette source de données pour se connecter à la base de données Amazon Redshift. 

Nous vous recommandons de créer un DSN système au lieu d’un DSN utilisateur. Certaines applications chargent les données à l’aide d’un compte utilisateur différent. Ces applications peuvent ne pas être en mesure de détecter DSNs les utilisateurs créés sous un autre compte utilisateur.

**Note**  
Pour l'authentification à l'aide des informations d'identification Gestion des identités et des accès AWS (IAM) ou des informations d'identification du fournisseur d'identité (IdP), des étapes supplémentaires sont requises. Pour de plus amples informations, veuillez consulter [Étape 5 : Configurer une connexion JDBC ou ODBC pour utiliser des informations d'identification IAM](generating-iam-credentials-steps.md#generating-iam-credentials-configure-jdbc-odbc).

Pour plus d’informations sur la création d’une entrée DSN système, consultez le [Guide d’installation et de configuration du pilote ODBC d’Amazon Redshift](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.6.3.1008/Amazon+Redshift+ODBC+Connector+Install+Guide.pdf). 

**Pour créer une entrée DSN système pour une connexion ODBC sous Windows**

1. Dans le menu **Démarrer** ouvrez **Sources de données ODBC**.

   Veillez à choisir l’administrateur de sources de données ODBC qui a le même bitness que l’application client que vous utilisez pour vous connecter à Amazon Redshift.

1. Dans l’**administrateur de source de données ODBC**, choisissez l’onglet **Driver (Pilote)** et recherchez le dossier du pilote :
   + **Pilote ODBC Amazon Redshift (64 bits)**
   + **Pilote ODBC Amazon Redshift (32 bits)**

1.  Sélectionnez l’onglet **Système DSN** pour configurer le pilote pour tous les utilisateurs sur l’ordinateur ; ou l’onglet **Utilisateur DSN** pour configurer le pilote correspondant à votre compte utilisateur uniquement. 

1.  Choisissez **Ajouter**. La fenêtre **Créer une nouvelle source de données** s’ouvre. 

1.  Choisissez le pilote ODBC **Amazon Redshift**, puis cliquez sur **Terminer**. La fenêtre **Amazon Redshift ODBC Driver DSN Setup (Configuration DSN du pilote ODBC Amazon Redshift)** s’ouvre.

1. Sous **Paramètres de connexion**, saisissez les informations suivantes :
<a name="rs-mgmt-dsn"></a>
**Nom de la source de données**  
Entrez un nom pour la source de données. Vous pouvez utiliser n’importe quel nom de votre choix pour identifier la source de données ultérieurement, lorsque vous créez la connexion au cluster. Par exemple, si vous avez suivi le *Guide de démarrage d’Amazon Redshift*, vous pouvez taper `exampleclusterdsn` pour faciliter la mémorisation du cluster que vous associez à ce DSN.
<a name="rs-mgmt-server"></a>
**Serveur**  
Spécifiez le point de terminaison de votre cluster Amazon Redshift. Vous trouverez ces informations dans la console Amazon Redshift sur la page des détails du cluster. Pour plus d'informations, consultez [Configuration des connexions dans Amazon Redshift](configuring-connections.md).
<a name="rs-mgmt-port"></a>
**Port**  
Entrez le numéro de port utilisé par la base de données. Utilise le port que le cluster a configuré pour être utilisé lors de son lancement ou de sa modification.
<a name="rs-mgmt-database"></a>
**Base de données**  
Saisissez le nom de la base de données Amazon Redshift. Si vous avez lancé votre cluster sans spécifier de nom de base de données, entrez `dev`. Sinon, utilisez le nom que vous avez choisi pendant le processus de lancement. Si vous avez suivi les étapes de *Guide de démarrage d’Amazon Redshift*, saisissez `dev`.

1. Sous **Authentification**, spécifiez les options de configuration pour configurer l’authentification standard ou IAM. Pour plus d’informations sur les options d’authentification, consultez « Configuration de l’authentification sous Windows » dans le *Guide d’installation et de configuration du connecteur ODBC d’Amazon Redshift*. 

1. Sous **Paramètres SSL**, spécifiez une valeur pour les éléments suivants :
<a name="rs-mgmt-ssl-authentication"></a>
**Authentification SSL**  
Sélectionnez un mode de traitement SSL (Secure Sockets Layer). Dans un environnement de test, vous pouvez utiliser `prefer`. Cependant, pour les environnements de production et lorsque l’échange de données sécurisé est nécessaire, utilisez `verify-ca` ou `verify-full`. Pour plus d’informations sur l’utilisation de SSL sous Windows, consultez « Configuration de la vérification SSL sous Windows » dans le *Guide d’installation et de configuration du connecteur ODBC d’Amazon Redshift*. 

1. Sous **Options supplémentaires**, spécifiez des options de renvoi des résultats de la requête à votre outil ou application cliente SQL. Pour plus d’informations, consultez « Configuration d’options supplémentaires sous Windows » dans le *Guide d’installation et de configuration du connecteur ODBC d’Amazon Redshift*. 

1. Dans **Options de journalisation**, spécifiez les valeurs de l’option de journalisation. Pour plus d’informations, consultez « Configuration des options de journalisation sous Windows » dans le *Guide d’installation et de configuration du connecteur ODBC d’Amazon Redshift*. 

   Choisissez ensuite **OK**.

1. Sous **Options de type de données**, spécifiez les valeurs des types de données. Pour plus d’informations, consultez « Configuration des options de type de données sous Windows » dans le *Guide d’installation et de configuration du connecteur ODBC d’Amazon Redshift*. 

   Choisissez ensuite **OK**.

1. Sélectionnez **Tester)**. Si l’ordinateur client peut se connecter à la base de données Amazon Redshift, vous voyez le message suivant : **Connexion réussie**. 

    Si l’ordinateur client ne peut pas se connecter à la base de données, il se peut que vous deviez résoudre d’éventuels problèmes. Pour plus d'informations, consultez [Résolution des problèmes de connexion dans Amazon Redshift](troubleshooting-connections.md). 

1. Configurez les keepalives TCP sous Windows pour empêcher la temporation des connexions. Pour plus d’informations sur la configuration des keepalives TCP sous Windows, consultez le *Guide d’installation et de configuration du connecteur ODBC d’Amazon Redshift*.

1. Pour faciliter le dépannage, configurez la journalisation. Pour plus d’informations sur la configuration de la journalisation sous Windows, consultez le *Guide d’installation et de configuration du connecteur ODBC d’Amazon Redshift*. 

# Utilisation d’un pilote ODBC Amazon Redshift sous Linux
<a name="install-odbc-driver-linux"></a>

Vous installez le pilote ODBC Amazon Redshift sur les ordinateurs clients accédant à un entrepôt des données Amazon Redshift. Chaque ordinateur sur lequel vous installez le pilote doit répondre à des exigences minimales. Pour plus d’informations sur la configuration minimale requise, consultez le [Guide d’installation et de configuration du connecteur ODBC d’Amazon Redshift](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.6.3.1008/Amazon+Redshift+ODBC+Connector+Install+Guide.pdf). 

**Topics**
+ [Téléchargement et installation du pilote ODBC Amazon Redshift](odbc-driver-linux-how-to-install.md)
+ [Utilisation d’un gestionnaire de pilotes ODBC pour configurer le pilote](odbc-driver-configure-linux.md)

# Téléchargement et installation du pilote ODBC Amazon Redshift
<a name="odbc-driver-linux-how-to-install"></a>

Suivez les étapes de cette section pour télécharger et installer les pilotes ODBC Amazon Redshift sur une distribution Linux prise en charge. Le processus d’installation installe les fichiers du pilote dans les répertoires suivants : 
+ `/opt/amazon/redshiftodbc/lib/64` ( pour le pilote 64 bits)
+ `/opt/amazon/redshiftodbc/ErrorMessages`
+ `/opt/amazon/redshiftodbc/Setup`
+  `/opt/amazon/redshiftodbc/lib/32` ( pour le pilote 32 bits)<a name="rs-mgmt-install-odbc-drivers-linux"></a>

**Pour installer le pilote ODBC Amazon Redshift**

1. Téléchargez l’un des pilotes suivants, en fonction de l’architecture système de votre outil client SQL ou de votre application : 
   + [Version 1.6.3 du pilote RPM 64 bits](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.6.3.1008/AmazonRedshiftODBC-64-bit-1.6.3.1008-1.x86_64.rpm) . 
   + [Version 1.6.3 du pilote Debian 64 bits](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.6.3.1008/AmazonRedshiftODBC-64-bit-1.6.3.1008-1.x86_64.deb) . 
   + [Version du pilote 32 bits 1.4.52 Dans 1.6.3.](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.4.52.1000/AmazonRedshiftODBC-32-bit-1.4.52.1000-1.i686.rpm) 

   Le nom de chacun de ces pilotes est Amazon Redshift ODBC driver. Les pilotes ODBC 32 bits sont interrompus. D’autres mises à jour ne seront pas publiées, sauf pour les correctifs de sécurité urgents.
**Note**  
Téléchargez le package qui correspond à l’architecture système de votre application ou outil client SQL. Par exemple, si votre outil client est en 64 bits, installez un pilote 64 bits.

    Ensuite, téléchargez et consultez le [Contrat de licence du pilote ODBC et JDBC d’Amazon Redshift](https://s3.amazonaws.com/redshift-downloads/drivers/Amazon+Redshift+ODBC+and+JDBC+Driver+License+Agreement.pdf). 

1. Accédez à l’emplacement dans lequel vous avez téléchargé le package et exécutez l’une des commandes suivantes. Utilisez la commande qui correspond à votre distribution Linux. 
   + Sur les systèmes d’exploitation RHEL et CentOS, exécutez la commande suivante.

     ```
     yum -nogpgcheck localinstall RPMFileName
     ```

     Remplacez *`RPMFileName`* par le nom du fichier de package RPM. Par exemple, la commande suivante illustre l’installation du pilote 64 bits :

     ```
     yum -nogpgcheck localinstall AmazonRedshiftODBC-64-bit-1.x.xx.xxxx-x.x86_64.rpm
     ```
   + Sur SLES, exécutez la commande suivante :

     ```
     zypper install RPMFileName
     ```

     Remplacez *`RPMFileName`* par le nom du fichier de package RPM. Par exemple, la commande suivante illustre l’installation du pilote 64 bits :

     ```
     zypper install AmazonRedshiftODBC-1.x.x.xxxx-x.x86_64.rpm
     ```
   + Sur Debian, exécutez la commande suivante.

     ```
     sudo apt install ./DEBFileName.deb
     ```

     Remplacez `DEBFileName.deb` par le nom du fichier du paquet Debian. Par exemple, la commande suivante illustre l’installation du pilote 64 bits :

     ```
     sudo apt install ./AmazonRedshiftODBC-1.x.x.xxxx-x.x86_64.deb
     ```

**Important**  
Lorsque vous avez fini d’installer les pilotes, configurez-les pour les utiliser sur votre système. Pour plus d’informations sur la configuration du pilote, consultez [Utilisation d’un gestionnaire de pilotes ODBC pour configurer le piloteUtilisation d’un gestionnaire de pilotes ODBC pour configurer le pilote](odbc-driver-configure-linux.md).

# Utilisation d’un gestionnaire de pilotes ODBC pour configurer le pilote
<a name="odbc-driver-configure-linux"></a>

Sur les systèmes d’exploitation Linux, vous utilisez un gestionnaire de pilotes ODBC pour configurer les paramètres de connexion ODBC. Les gestionnaires de pilotes ODBC utilisent des fichiers de configuration pour définir et configurer les pilotes et les sources de données ODBC. Le gestionnaire de pilotes ODBC que vous utilisez s’appuie sur le système d’exploitation que vous utilisez. Pour Linux, il s’agit du gestionnaire de pilotes UnixODBC.

Pour plus d’informations sur les gestionnaires de pilotes ODBC pris en charge pour configurer les pilotes ODBC Amazon Redshift, consultez [Utilisation d’un pilote ODBC Amazon Redshift sous LinuxUtilisation d’un pilote ODBC sous Linux](install-odbc-driver-linux.md) pour les systèmes d’exploitation Linux. Consultez également « Specifying ODBC Driver Managers on Non- Windows Machines » (Spécification des gestionnaires de pilotes ODBC sur des machines non Windows) dans le [Guide d’installation et de configuration du connecteur ODBC Amazon Redshift](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.6.3.1008/Amazon+Redshift+ODBC+Connector+Install+Guide.pdf). 

Trois fichiers sont nécessaires pour configurer le pilote ODBC d’Amazon Redshift : `amazon.redshiftodbc.ini`, `odbc.ini` et `odbcinst.ini`.

Si vous l’avez installé à l’emplacement par défaut, le fichier de configuration `amazon.redshiftodbc.ini` se trouve dans l’un des répertoires suivants :
+ `/opt/amazon/redshiftodbc/lib/64` (pour le pilote 64 bits sur les systèmes d’exploitation Linux)
+ `/opt/amazon/redshiftodbc/lib/32` (pour le pilote 32 bits sur les systèmes d’exploitation Linux)

De plus, sous `/opt/amazon/redshiftodbc/Setup` sous Linux, il existe des exemples de fichiers `odbc.ini` et `odbcinst.ini`. Vous pouvez utiliser ces fichiers comme exemples pour configurer le pilote ODBC Amazon Redshift et le nom de la source de données (DSN).

Nous ne recommandons pas d’utiliser le répertoire d’installation du pilote ODBC d’Amazon Redshift pour les fichiers de configuration. Les fichiers du répertoire `Setup` sont proposés à titre d’exemple seulement. Si vous réinstallez le pilote ODBC Amazon Redshift ultérieurement, ou si vous effectuez une mise à niveau vers une version plus récente, le répertoire d’installation est écrasé. Vous perdez alors toute modification que vous auriez pu apporter à ces fichiers.

Pour éviter cela, copiez le fichier `amazon.redshiftodbc.ini` dans un répertoire autre que le répertoire d’installation. Si vous copiez ce fichier vers le répertoire de base de l’utilisateur, ajouter un point (.) au début du nom de fichier pour le masquer.

Pour les fichiers `odbc.ini` et `odbcinst.ini`, utilisez les fichiers de configuration dans le répertoire personnel de l’utilisateur ou créez de nouvelles versions dans un autre répertoire. Par défaut, votre système d’exploitation Linux doit avoir un fichier `odbc.ini` et un fichier `odbcinst.ini` dans le répertoire personnel de l’utilisateur (`/home/$USER` ou `~/`). Ces fichiers par défaut sont des fichiers cachés, ce qui est indiqué par le point (.) devant chaque nom de fichier. Ces fichiers s’affichent uniquement lorsque vous utilisez l’indicateur `-a` pour répertorier le contenu du répertoire.

Quelle que soit l’option choisie pour les fichiers `odbc.ini` et `odbcinst.ini`, modifiez les fichiers pour ajouter les informations de configuration du pilote et du DSN. Si vous avez choisi de créer de nouveaux fichiers, vous devez également définir des variables d’environnement afin de spécifier l’emplacement dans lequel se trouvent ces fichiers de configuration. 

Par défaut, les gestionnaires de pilotes ODBC sont configurés pour utiliser les versions cachées des fichiers de configuration `odbc.ini` et `odbcinst.ini` (nommés .`odbc.ini` et .`odbcinst.ini`) situés dans le répertoire de base. Ils sont également configurés pour utiliser le fichier `amazon.redshiftodbc.ini` dans le sous-dossier `/lib` du répertoire d’installation du pilote. Si vous stockez ces fichiers de configuration ailleurs, définissez les variables d’environnement décrites ci-dessous afin que le gestionnaire de pilotes puisse localiser les fichiers. Pour plus d’informations, consultez « Specifying the Locations of the Driver Configuration Files » (Spécification des emplacements des fichiers de configuration du pilote) dans le [Guide d’installation et de configuration du connecteur ODBC Amazon Redshift](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.6.3.1008/Amazon+Redshift+ODBC+Connector+Install+Guide.pdf). 

## Création d’un nom de source de données sur les systèmes d’exploitation Linux
<a name="configure-odbc-ini-file"></a>

 Lorsque vous vous connectez à votre banque de données à l'aide d'un nom de source de données (DSN), configurez le `odbc.ini` fichier à définir DSNs. Définissez les propriétés du fichier `odbc.ini` pour créer un DSN qui spécifie les informations de connexion pour votre magasin de données.

Pour obtenir plus d’informations sur la configuration du fichier `odbc.ini`, consultez « Creating a Data Source Name on a Non-Windows Machine » (Création d’un nom de source de données sur une machine non Windows) dans le [guide d’installation et de configuration du connecteur ODBC Amazon Redshift](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.6.3.1008/Amazon+Redshift+ODBC+Connector+Install+Guide.pdf) 

 Sur les systèmes d’exploitation Linux, utilisez le format suivant :

```
[ODBC Data Sources]
driver_name=dsn_name

[dsn_name]
Driver=path/driver_file

Host=cluster_endpoint
Port=port_number
Database=database_name
locale=locale
```

L’exemple suivant illustre la configuration du fichier odbc.ini à l’aide du pilote ODBC 64 bits sur les systèmes d’exploitation Linux.

```
[ODBC Data Sources]
Amazon_Redshift_x64=Amazon Redshift (x64)

[Amazon Redshift (x64)]
Driver=/opt/amazon/redshiftodbc/lib/64/libamazonredshiftodbc64.so
Host=examplecluster.abc123xyz789.us-west-2.redshift.amazonaws.com
Port=5932
Database=dev
locale=en-US
```

L’exemple suivant illustre la configuration du fichier odbc.ini à l’aide du pilote ODBC 32 bits sur les systèmes d’exploitation Linux.

```
[ODBC Data Sources]
Amazon_Redshift_x32=Amazon Redshift (x86)

[Amazon Redshift (x86)]
Driver=/opt/amazon/redshiftodbc/lib/32/libamazonredshiftodbc32.so
Host=examplecluster.abc123xyz789.us-west-2.redshift.amazonaws.com
Port=5932
Database=dev
locale=en-US
```

## Configuration d’une connexion sans DSN sur les systèmes d’exploitation Linux
<a name="configure-odbcinst-ini-file"></a>

Pour vous connecter à votre magasin de données via une connexion qui n’a pas de DSN, définissez le pilote dans le fichier `odbcinst.ini`. Ensuite, fournissez une chaîne de connexion sans DSN dans votre application.

Pour plus d’informations sur la configuration du fichier `odbcinst.ini` dans ce cas de figure, consultez « Configuring a DSN-less Connection on a Non-Windows Machine » (Configuration d’une connexion sans DSN sur une machine non Windows) dans le [Guide d’installation et de configuration du connecteur ODBC Amazon Redshift](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.6.3.1008/Amazon+Redshift+ODBC+Connector+Install+Guide.pdf). 

Sur les systèmes d’exploitation Linux, utilisez le format suivant :

```
[ODBC Drivers]
driver_name=Installed
...
                            
[driver_name]
Description=driver_description
Driver=path/driver_file
    
...
```

L’exemple suivant illustre la configuration de `odbcinst.ini` pour le pilote 64 bits installé dans les répertoires par défaut sur les systèmes d’exploitation Linux.

```
[ODBC Drivers]
Amazon Redshift (x64)=Installed

[Amazon Redshift (x64)]
Description=Amazon Redshift ODBC Driver (64-bit)
Driver=/opt/amazon/redshiftodbc/lib/64/libamazonredshiftodbc64.so
```

L’exemple suivant illustre la configuration de `odbcinst.ini` pour le pilote 32 bits installé dans les répertoires par défaut sur les systèmes d’exploitation Linux.

```
[ODBC Drivers]
Amazon Redshift (x86)=Installed

[Amazon Redshift (x86)]
Description=Amazon Redshift ODBC Driver (32-bit)
Driver=/opt/amazon/redshiftodbc/lib/32/libamazonredshiftodbc32.so
```

## Configuration des variables d’environnement
<a name="rs-mgmt-config-global-env-variables"></a>

Utilisez le gestionnaire de pilotes ODBC approprié pour charger le pilote correct. Pour ce faire, définissez la variable d’environnement de chemin de bibliothèque. Consultez également la rubrique « Specifying ODBC Driver Managers on Non-Windows Machines » (Spécification des gestionnaires de pilotes ODBC sur des machines non Windows) dans le [Guide d’installation et de configuration du connecteur ODBC Amazon Redshift](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.6.3.1008/Amazon+Redshift+ODBC+Connector+Install+Guide.pdf). 

Par défaut, les gestionnaires de pilotes ODBC sont configurés pour utiliser les versions cachées des fichiers de configuration `odbc.ini` et `odbcinst.ini` (nommés .`odbc.ini` et .`odbcinst.ini`) situés dans le répertoire de base. Ils sont également configurés pour utiliser le fichier `amazon.redshiftodbc.ini` dans le sous-dossier `/lib` du répertoire d’installation du pilote. Si vous stockez ces fichiers de configuration ailleurs, définissez les variables d’environnement afin que le gestionnaire de pilotes puisse localiser les fichiers. Pour plus d’informations, consultez « Spécification des emplacements des fichiers de configuration du pilote » dans le *Guide d’installation et de configuration du connecteur ODBC Amazon Redshift*. 

## Configuration des fonctions de connexion
<a name="connection-config-features"></a>

Vous pouvez configurer les fonctionnalités de connexion suivantes pour votre paramètre ODBC :
+ Configurez le pilote ODBC pour fournir des informations d’identification et authentifier la connexion à la base de données Amazon Redshift.
+ Configurez le pilote ODBC pour qu’il se connecte à un socket activé avec Secure Sockets Layer (SSL), si vous vous connectez à un serveur Amazon Redshift dont le SSL est activé.
+ Configurez le pilote ODBC pour vous connecter à Amazon Redshift via un serveur proxy.
+ Configurez le pilote ODBC pour qu’il utilise un mode de traitement des requêtes pour empêcher les requêtes de consommer trop de mémoire.
+ Configurez le pilote ODBC pour qu’il transmette les processus d’authentification IAM via un serveur proxy.
+ Configurez le pilote ODBC pour qu’il utilise les keepalives TCP pour empêcher la temporisation des connexions.

Pour plus d’informations sur ces fonctionnalités de connexion, consultez le [Guide d’installation et de configuration du connecteur ODBC Amazon Redshift](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.6.3.1008/Amazon+Redshift+ODBC+Connector+Install+Guide.pdf). 

# Utilisation d’un pilote ODBC Amazon Redshift sur macOS X
<a name="install-odbc-driver-mac"></a>

Vous installez le pilote sur les ordinateurs clients accédant à un entrepôt des données Amazon Redshift. Chaque ordinateur sur lequel vous installez le pilote doit répondre à des exigences minimales. Pour plus d’informations sur la configuration minimale requise, consultez le [Guide d’installation et de configuration du connecteur ODBC d’Amazon Redshift](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.6.3.1008/Amazon+Redshift+ODBC+Connector+Install+Guide.pdf). 

**Topics**
+ [Téléchargement et installation du pilote ODBC Amazon Redshift](odbc-driver-mac-how-to-install.md)
+ [Utilisation d’un gestionnaire de pilotes ODBC pour configurer le pilote](odbc-driver-configure-mac.md)

# Téléchargement et installation du pilote ODBC Amazon Redshift
<a name="odbc-driver-mac-how-to-install"></a>

Suivez les étapes de cette section pour télécharger et installer le pilote ODBC Amazon Redshift sur une version prise en charge de macOS X. Le processus d’installation installe les fichiers du pilote dans les répertoires suivants : 
+ `/opt/amazon/redshift/lib/universal`
+ `/opt/amazon/redshift/ErrorMessages`
+ `/opt/amazon/redshift/Setup`<a name="rs-mgmt-install-odbc-drivers-mac"></a>

**Pour installer le pilote ODBC Amazon Redshift sur macOS X**

1. Pour installer le pilote ODBC Amazon Redshift sur macOS X, téléchargez la version 1.6.3 du [pilote macOS](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.6.3.1008/AmazonRedshiftODBC-64-bit.1.6.3.1008.universal.pkg). 

   Ensuite, téléchargez et consultez le [Contrat de licence du pilote ODBC et JDBC d’Amazon Redshift](https://s3.amazonaws.com/redshift-downloads/drivers/Amazon+Redshift+ODBC+and+JDBC+Driver+License+Agreement.pdf). 

1. Double-cliquez sur **AmazonRedshiftODBC.pkg** pour exécuter le programme d'installation.

1. Suivez les étapes décrites dans le programme d’installation pour terminer le processus d’installation du pilote. Vous devrez accepter les conditions générales du contrat de licence pour effectuer l’installation.

**Important**  
Lorsque vous avez fini d’installer le pilote, configurez-le pour l’utiliser sur votre système. Pour plus d’informations sur la configuration du pilote, consultez [Utilisation d’un gestionnaire de pilotes ODBC pour configurer le piloteUtilisation d’un gestionnaire de pilotes ODBC pour configurer le pilote](odbc-driver-configure-mac.md).

# Utilisation d’un gestionnaire de pilotes ODBC pour configurer le pilote
<a name="odbc-driver-configure-mac"></a>

Sur les systèmes d’exploitation macOS X, vous utilisez un gestionnaire de pilotes ODBC pour configurer les paramètres de connexion ODBC. Les gestionnaires de pilotes ODBC utilisent des fichiers de configuration pour définir et configurer les pilotes et les sources de données ODBC. Le gestionnaire de pilotes ODBC que vous utilisez s’appuie sur le système d’exploitation que vous utilisez. Pour un système d’exploitation macOS X, il s’agit du gestionnaire de pilotes iODBC.

Pour plus d’informations sur les gestionnaires de pilotes ODBC pris en charge pour configurer les pilotes ODBC Amazon Redshift, consultez [Utilisation d’un pilote ODBC Amazon Redshift sur macOS XUtilisation d’un pilote ODBC sur macOS X](install-odbc-driver-mac.md) pour les systèmes d’exploitation macOS X. Consultez également « Specifying ODBC Driver Managers on Non- Windows Machines » (Spécification des gestionnaires de pilotes ODBC sur des machines non Windows) dans le [Guide d’installation et de configuration du connecteur ODBC Amazon Redshift](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.6.3.1008/Amazon+Redshift+ODBC+Connector+Install+Guide.pdf). 

Trois fichiers sont nécessaires pour configurer le pilote ODBC d’Amazon Redshift : `amazon.redshiftodbc.ini`, `odbc.ini` et `odbcinst.ini`.

Si vous l’avez installé à l’emplacement par défaut, le fichier de configuration `amazon.redshiftodbc.ini` se trouve dans `/opt/amazon/redshift/lib`.

De plus, sous `/opt/amazon/redshift/Setup` sur macOS X, il existe des exemples de fichiers `odbc.ini` et `odbcinst.ini`. Vous pouvez utiliser ces fichiers comme exemples pour configurer le pilote ODBC Amazon Redshift et le nom de la source de données (DSN).

Nous ne recommandons pas d’utiliser le répertoire d’installation du pilote ODBC d’Amazon Redshift pour les fichiers de configuration. Les fichiers du répertoire `Setup` sont proposés à titre d’exemple seulement. Si vous réinstallez le pilote ODBC Amazon Redshift ultérieurement, ou si vous effectuez une mise à niveau vers une version plus récente, le répertoire d’installation est écrasé. Vous perdez alors toute modification que vous auriez pu apporter à ces fichiers.

Pour éviter cela, copiez le fichier `amazon.redshiftodbc.ini` dans un répertoire autre que le répertoire d’installation. Si vous copiez ce fichier vers le répertoire de base de l’utilisateur, ajouter un point (.) au début du nom de fichier pour le masquer.

Pour les fichiers `odbc.ini` et `odbcinst.ini`, utilisez les fichiers de configuration dans le répertoire personnel de l’utilisateur ou créez de nouvelles versions dans un autre répertoire. Par défaut, votre système d’exploitation macOS X doit avoir un fichier `odbc.ini` et un fichier `odbcinst.ini` dans le répertoire personnel de l’utilisateur (`/home/$USER` ou `~/`). Ces fichiers par défaut sont des fichiers cachés, ce qui est indiqué par le point (.) devant chaque nom de fichier. Ces fichiers s’affichent uniquement lorsque vous utilisez l’indicateur `-a` pour répertorier le contenu du répertoire.

Quelle que soit l’option choisie pour les fichiers `odbc.ini` et `odbcinst.ini`, modifiez les fichiers pour ajouter les informations de configuration du pilote et du DSN. Si vous avez choisi de créer de nouveaux fichiers, vous devez également définir des variables d’environnement afin de spécifier l’emplacement dans lequel se trouvent ces fichiers de configuration. 

Par défaut, les gestionnaires de pilotes ODBC sont configurés pour utiliser les versions cachées des fichiers de configuration `odbc.ini` et `odbcinst.ini` (nommés .`odbc.ini` et .`odbcinst.ini`) situés dans le répertoire de base. Ils sont également configurés pour utiliser le fichier `amazon.redshiftodbc.ini` dans le sous-dossier `/lib` du répertoire d’installation du pilote. Si vous stockez ces fichiers de configuration ailleurs, définissez les variables d’environnement décrites ci-dessous afin que le gestionnaire de pilotes puisse localiser les fichiers. Pour plus d’informations, consultez « Specifying the Locations of the Driver Configuration Files » (Spécification des emplacements des fichiers de configuration du pilote) dans le [Guide d’installation et de configuration du connecteur ODBC Amazon Redshift](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.6.3.1008/Amazon+Redshift+ODBC+Connector+Install+Guide.pdf). 

## Création d’un nom de source de données sur les systèmes d’exploitation macOS X
<a name="configure-odbc-ini-file"></a>

 Lorsque vous vous connectez à votre banque de données à l'aide d'un nom de source de données (DSN), configurez le `odbc.ini` fichier à définir DSNs. Définissez les propriétés du fichier `odbc.ini` pour créer un DSN qui spécifie les informations de connexion pour votre magasin de données.

Pour plus d'informations sur la configuration du `odbc.ini` fichier, consultez « Création d'un nom de source de données sur un ordinateur autre que Windows » dans le guide d'[installation et de configuration du connecteur ODBC Amazon Redshift](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.6.3.1008/Amazon+Redshift+ODBC+Connector+Install+Guide.pdf). Pour la 

Sur les systèmes d’exploitation macOS X, utilisez le format suivant :

```
[ODBC Data Sources]
driver_name=dsn_name

[dsn_name]
Driver=path/lib/amazonredshiftodbc.dylib

Host=cluster_endpoint
Port=port_number
Database=database_name
locale=locale
```

 L’exemple suivant illustre la configuration de `odbc.ini` sur les systèmes d’exploitation macOS X :

```
[ODBC Data Sources]
Amazon_Redshift_dylib=Amazon Redshift DSN for macOS X

[Amazon Redshift DSN for macOS X]
Driver=/opt/amazon/redshift/lib/amazonredshiftodbc.dylib
Host=examplecluster.abc123xyz789.us-west-2.redshift.amazonaws.com
Port=5932
Database=dev
locale=en-US
```

## Configuration d’une connexion sans DSN sur les systèmes d’exploitation macOS X
<a name="configure-odbcinst-ini-file"></a>

Pour vous connecter à votre magasin de données via une connexion qui n’a pas de DSN, définissez le pilote dans le fichier `odbcinst.ini`. Ensuite, fournissez une chaîne de connexion sans DSN dans votre application.

Pour plus d’informations sur la configuration du fichier `odbcinst.ini` dans ce cas de figure, consultez « Configuring a DSN-less Connection on a Non-Windows Machine » (Configuration d’une connexion sans DSN sur une machine non Windows) dans le [Guide d’installation et de configuration du connecteur ODBC Amazon Redshift](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.6.3.1008/Amazon+Redshift+ODBC+Connector+Install+Guide.pdf). .

Sur les systèmes d’exploitation macOS X, utilisez le format suivant :

```
[ODBC Drivers]
driver_name=Installed
...
                            
[driver_name]
Description=driver_description
Driver=path/lib/amazonredshiftodbc.dylib
    
...
```

L’exemple suivant illustre la configuration du fichier `odbcinst.ini` pour le pilote installé dans le répertoire par défaut sur les systèmes d’exploitation macOS X.

```
[ODBC Drivers]
Amazon RedshiftODBC DSN=Installed

[Amazon RedshiftODBC DSN]
Description=Amazon Redshift ODBC Driver for macOS X
Driver=/opt/amazon/redshift/lib/amazonredshiftodbc.dylib
```

## Configuration des variables d’environnement
<a name="rs-mgmt-config-global-env-variables"></a>

Utilisez le gestionnaire de pilotes ODBC approprié pour charger le pilote correct. Pour ce faire, définissez la variable d’environnement de chemin de bibliothèque. Consultez également la rubrique « Specifying ODBC Driver Managers on Non-Windows Machines » (Spécification des gestionnaires de pilotes ODBC sur des machines non Windows) dans le [Guide d’installation et de configuration du connecteur ODBC Amazon Redshift](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.6.3.1008/Amazon+Redshift+ODBC+Connector+Install+Guide.pdf). 

Par défaut, les gestionnaires de pilotes ODBC sont configurés pour utiliser les versions cachées des fichiers de configuration `odbc.ini` et `odbcinst.ini` (nommés .`odbc.ini` et .`odbcinst.ini`) situés dans le répertoire de base. Ils sont également configurés pour utiliser le fichier `amazon.redshiftodbc.ini` dans le sous-dossier `/lib` du répertoire d’installation du pilote. Si vous stockez ces fichiers de configuration ailleurs, définissez les variables d’environnement afin que le gestionnaire de pilotes puisse localiser les fichiers. Pour plus d’informations, consultez « Spécification des emplacements des fichiers de configuration du pilote » dans le *Guide d’installation et de configuration du connecteur ODBC Amazon Redshift*. 

## Configuration des fonctions de connexion
<a name="connection-config-features"></a>

Vous pouvez configurer les fonctionnalités de connexion suivantes pour votre paramètre ODBC :
+ Configurez le pilote ODBC pour fournir des informations d’identification et authentifier la connexion à la base de données Amazon Redshift.
+ Configurez le pilote ODBC pour qu’il se connecte à un socket activé avec Secure Sockets Layer (SSL), si vous vous connectez à un serveur Amazon Redshift dont le SSL est activé.
+ Configurez le pilote ODBC pour vous connecter à Amazon Redshift via un serveur proxy.
+ Configurez le pilote ODBC pour qu’il utilise un mode de traitement des requêtes pour empêcher les requêtes de consommer trop de mémoire.
+ Configurez le pilote ODBC pour qu’il transmette les processus d’authentification IAM via un serveur proxy.
+ Configurez le pilote ODBC pour qu’il utilise les keepalives TCP pour empêcher la temporisation des connexions.

Pour plus d’informations sur ces fonctionnalités de connexion, consultez le [Guide d’installation et de configuration du connecteur ODBC Amazon Redshift](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.6.3.1008/Amazon+Redshift+ODBC+Connector+Install+Guide.pdf). 

# Options du pilote ODBC
<a name="configure-odbc-options"></a>

Vous pouvez utiliser les options de configuration pour contrôler le comportement du pilote ODBC d’Amazon Redshift.

Sous Microsoft Windows, vous définissez généralement les options du pilote lorsque vous configurez un nom de source de données (DSN). Vous pouvez également définir des options de pilote dans la chaîne de connexion lorsque vous vous connectez par programme, ou en ajoutant ou en modifiant des clés de Registre dans `HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\your_DSN`. Pour plus d’informations sur la configuration d’une DSN, consultez [Utilisation d’un pilote ODBC Amazon Redshift sur Microsoft Windows](install-odbc-driver-windows.md).

Sous macOS X, vous définissez les options de configuration du pilote dans vos fichiers `odbc.ini` et `amazon.redshiftodbc.ini`, comme décrit à la section [Utilisation d’un gestionnaire de pilotes ODBC pour configurer le piloteUtilisation d’un gestionnaire de pilotes ODBC pour configurer le pilote](odbc-driver-configure-mac.md). Les options de configuration définies dans un fichier `amazon.redshiftodbc.ini` s’appliquent à toutes les connexions. En revanche, les options de configuration définies dans un fichier `odbc.ini` sont spécifiques à une connexion. Les options de configuration définies dans `odbc.ini` ont priorité sur les options de configuration définies dans `amazon.redshiftodbc.ini`.

Pour plus d’informations sur la configuration des options du pilote ODBC, consultez le [Guide d’installation et de configuration du connecteur ODBC Amazon Redshift](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.6.3.1008/Amazon+Redshift+ODBC+Connector+Install+Guide.pdf). 

# Versions antérieures du pilote ODBC
<a name="odbc-previous-versions"></a>

Ne téléchargez une version antérieure du pilote ODBC Amazon Redshift que si votre outil nécessite une version spécifique du pilote. 

## Versions antérieures du pilote ODBC pour Windows
<a name="odbc-previous-versions-windows"></a>

Voici les pilotes 64 bits : 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.6.3.1006/AmazonRedshiftODBC64-1.6.3.1006.msi](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.6.3.1006/AmazonRedshiftODBC64-1.6.3.1006.msi) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.6.1.1000/AmazonRedshiftODBC64-1.6.1.1000.msi](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.6.1.1000/AmazonRedshiftODBC64-1.6.1.1000.msi) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.5.20.1024/AmazonRedshiftODBC64-1.5.20.1024.msi](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.5.20.1024/AmazonRedshiftODBC64-1.5.20.1024.msi) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.5.16.1019/AmazonRedshiftODBC64-1.5.16.1019.msi](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.5.16.1019/AmazonRedshiftODBC64-1.5.16.1019.msi) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.5.9.1011/AmazonRedshiftODBC64-1.5.9.1011.msi](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.5.9.1011/AmazonRedshiftODBC64-1.5.9.1011.msi) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.5.7.1007/AmazonRedshiftODBC64-1.5.7.1007.msi](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.5.7.1007/AmazonRedshiftODBC64-1.5.7.1007.msi) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.4.65.1000/AmazonRedshiftODBC64-1.4.65.1000.msi](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.4.65.1000/AmazonRedshiftODBC64-1.4.65.1000.msi) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.4.62.1000/AmazonRedshiftODBC64-1.4.62.1000.msi](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.4.62.1000/AmazonRedshiftODBC64-1.4.62.1000.msi) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.4.59.1000/AmazonRedshiftODBC64-1.4.59.1000.msi](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.4.59.1000/AmazonRedshiftODBC64-1.4.59.1000.msi) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.4.56.1000/AmazonRedshiftODBC64-1.4.56.1000.msi](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.4.56.1000/AmazonRedshiftODBC64-1.4.56.1000.msi) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.4.53.1000/AmazonRedshiftODBC64-1.4.53.1000.msi](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.4.53.1000/AmazonRedshiftODBC64-1.4.53.1000.msi) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.4.52.1000/AmazonRedshiftODBC64-1.4.52.1000.msi](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.4.52.1000/AmazonRedshiftODBC64-1.4.52.1000.msi) 

Les pilotes 32 bits ont été abandonnés et les versions précédentes ne sont pas prises en charge.

## Versions antérieures du pilote ODBC pour Linux
<a name="odbc-previous-versions-linux"></a>

Les versions suivantes sont celles du pilote 64 bits : 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.6.3.1006/AmazonRedshiftODBC-64-bit-1.6.3.1006-1.x86\$164.rpm](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.6.3.1006/AmazonRedshiftODBC-64-bit-1.6.3.1006-1.x86_64.rpm) -64 bits-1.6.3.1006-1.x86\$164 tr/min 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.6.1.1000/AmazonRedshiftODBC-64-bit-1.6.1.1000-1.x86\$164.rpm](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.6.1.1000/AmazonRedshiftODBC-64-bit-1.6.1.1000-1.x86_64.rpm) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.5.20.1024/AmazonRedshiftODBC-64-bit-1.5.20.1024-1.x86\$164.rpm](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.5.20.1024/AmazonRedshiftODBC-64-bit-1.5.20.1024-1.x86_64.rpm) -64 bits-1.5.20.1024-1.x86\$164.rpm 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.5.16.1019/AmazonRedshiftODBC-64-bit-1.5.16.1019-1.x86\$164.rpm](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.5.16.1019/AmazonRedshiftODBC-64-bit-1.5.16.1019-1.x86_64.rpm) -64 bits-1.5.16.1019-1.x86\$164.rpm 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.5.9.1011/AmazonRedshiftODBC-64-bit-1.5.9.1011-1.x86\$164.rpm](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.5.9.1011/AmazonRedshiftODBC-64-bit-1.5.9.1011-1.x86_64.rpm) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.5.7.1007/AmazonRedshiftODBC-64-bit-1.5.7.1007-1.x86\$164.rpm](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.5.7.1007/AmazonRedshiftODBC-64-bit-1.5.7.1007-1.x86_64.rpm) -64 bits-1.5.7.1007-1.x86\$164.rpm 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.4.65.1000/AmazonRedshiftODBC-64-bit-1.4.65.1000-1.x86\$164.rpm](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.4.65.1000/AmazonRedshiftODBC-64-bit-1.4.65.1000-1.x86_64.rpm) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.4.62.1000/AmazonRedshiftODBC-64-bit-1.4.62.1000-1.x86\$164.rpm](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.4.62.1000/AmazonRedshiftODBC-64-bit-1.4.62.1000-1.x86_64.rpm) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.4.59.1000/AmazonRedshiftODBC-64-bit-1.4.59.1000-1.x86\$164.rpm](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.4.59.1000/AmazonRedshiftODBC-64-bit-1.4.59.1000-1.x86_64.rpm) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.4.59.1000/AmazonRedshiftODBC-64-bit-1.4.59.1000-1.x86\$164.deb](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.4.59.1000/AmazonRedshiftODBC-64-bit-1.4.59.1000-1.x86_64.deb) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.4.56.1000/AmazonRedshiftODBC-64-bit-1.4.56.1000-1.x86\$164.rpm](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.4.56.1000/AmazonRedshiftODBC-64-bit-1.4.56.1000-1.x86_64.rpm) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.4.56.1000/AmazonRedshiftODBC-64-bit-1.4.56.1000-1.x86\$164.deb](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.4.56.1000/AmazonRedshiftODBC-64-bit-1.4.56.1000-1.x86_64.deb) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.4.52.1000/AmazonRedshiftODBC-64-bit-1.4.52.1000-1.x86\$164.rpm](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.4.52.1000/AmazonRedshiftODBC-64-bit-1.4.52.1000-1.x86_64.rpm) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.4.52.1000/AmazonRedshiftODBC-64-bit-1.4.52.1000-1.x86\$164.deb](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.4.52.1000/AmazonRedshiftODBC-64-bit-1.4.52.1000-1.x86_64.deb) 

Les pilotes 32 bits ont été abandonnés et les versions précédentes ne sont pas prises en charge.

## Utiliser les versions antérieures du pilote ODBC pour macOS X
<a name="odbc-previous-versions-mac"></a>

Voici les versions du pilote ODBC Amazon Redshift pour macOS X : 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.6.3.1006/AmazonRedshiftODBC-64-bit.1.6.3.1006.universal.pkg](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.6.3.1006/AmazonRedshiftODBC-64-bit.1.6.3.1006.universal.pkg) -1.6.3.1006.universal.pkg 64 bits 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.6.1.1000/AmazonRedshiftODBC-64-bit.1.6.1.1000.universal.pkg](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.6.1.1000/AmazonRedshiftODBC-64-bit.1.6.1.1000.universal.pkg) -1.6.1.1000.universal.pkg 64 bits 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.5.20.1024/AmazonRedshiftODBC-1.5.20.1024.arm64.dmg](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.5.20.1024/AmazonRedshiftODBC-1.5.20.1024.arm64.dmg) -1.5.20.1024.arm64 .dmg 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.5.20.1024/AmazonRedshiftODBC-1.5.20.1024.x86\$164.dmg](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.5.20.1024/AmazonRedshiftODBC-1.5.20.1024.x86_64.dmg) -1,5.20,1024.x86\$164\$1dmg 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.5.16.1019/AmazonRedshiftODBC-1.5.16.1019.x86\$164.dmg](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.5.16.1019/AmazonRedshiftODBC-1.5.16.1019.x86_64.dmg) -1,5.16,1019,x86\$164\$1dmg 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.5.9.1011/AmazonRedshiftODBC-1.5.9.1011.x86\$164.dmg](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.5.9.1011/AmazonRedshiftODBC-1.5.9.1011.x86_64.dmg) -1.5.9.1011,x86\$164\$1dmg 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.5.7.1007/AmazonRedshiftODBC-1.5.7.1007.x86\$164.dmg](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.5.7.1007/AmazonRedshiftODBC-1.5.7.1007.x86_64.dmg) -1.5.7.1007,x86\$164\$1dmg 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.4.65.1000/AmazonRedshiftODBC-1.4.65.1000.dmg](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.4.65.1000/AmazonRedshiftODBC-1.4.65.1000.dmg) -1,4,651000.dmg 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.4.62.1000/AmazonRedshiftODBC-1.4.62.1000.dmg](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.4.62.1000/AmazonRedshiftODBC-1.4.62.1000.dmg) -1,4,621000.dmg 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.4.59.1000/AmazonRedshiftODBC-1.4.59.1000.dmg](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.4.59.1000/AmazonRedshiftODBC-1.4.59.1000.dmg) -1,4,59,1000.dmg 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.4.56.1000/AmazonRedshiftODBC-1.4.56.1000.dmg](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.4.56.1000/AmazonRedshiftODBC-1.4.56.1000.dmg) -1,4,56,1000.dmg 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.4.52.1000/AmazonRedshiftODBC-1.4.52.1000.dmg](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.4.52.1000/AmazonRedshiftODBC-1.4.52.1000.dmg) -1,4,52,1000.dmg 

# Configuration des options de sécurité des connexions
<a name="connecting-ssl-support"></a>

Amazon Redshift prend en charge les connexions SSL (Secure Sockets Layer) pour chiffrer les données et les certificats de serveur pour valider le certificat du serveur auquel le client se connecte. 

## SSL
<a name="connect-using-ssl"></a>

Pour prendre en charge les connexions SSL, Amazon Redshift crée et installe un certificat SSL émis par [AWS Certificate Manager (ACM)](https://aws.amazon.com/certificate-manager/) sur chaque cluster. Les certificats ACM sont publiquement approuvés par la plupart des systèmes d’exploitation, des navigateurs web et des clients. Vous pourriez devoir télécharger une solution groupée de certificats si vos clients ou applications SQL se connectent à Amazon Redshift en utilisant SSL avec l’option de connexion `sslmode` définie sur `require`, `verify-ca` ou `verify-full`. Si votre client a besoin d’un certificat, Amazon Redshift fournit un certificat de solution groupée comme suit :
+ Téléchargez le bundle depuis le [https://s3.amazonaws.com/redshift-downloads/amazon-trust-ca-bundlefichier .crt.](https://s3.amazonaws.com/redshift-downloads/amazon-trust-ca-bundle.crt) 
  + Le nombre de MD5 checksum attendu est 418dea9b6d5d5de7a8f1ac42e164cdcf.
  + Le numéro de total de contrôle sha256 est 36dba8e4b8041cd14b9d60158893963301bcbb92e1c456847784de2acb5bd550.

  N’utilisez pas la solution groupée de certificats précédente qui se trouvait à l’adresse `https://s3.amazonaws.com/redshift-downloads/redshift-ca-bundle.crt`. 
+  En Chine Région AWS, téléchargez le bundle depuis [https://s3.cn-north-1.amazonaws.com. cn/redshift-downloads-cn/amazon- trust-ca-bundle .crt.](https://s3---cn-north-1.amazonaws.com.rproxy.govskope.us.cn/redshift-downloads-cn/amazon-trust-ca-bundle.crt) 
  + Le nombre de MD5 checksum attendu est 418dea9b6d5d5de7a8f1ac42e164cdcf.
  + Le numéro de total de contrôle sha256 est 36dba8e4b8041cd14b9d60158893963301bcbb92e1c456847784de2acb5bd550.

  N’utilisez pas les solutions groupées de certificats antérieures qui se trouvait à l’adresse `https://s3---cn-north-1.amazonaws.com.rproxy.govskope.us.cn/redshift-downloads-cn/redshift-ca-bundle.crt` et `https://s3---cn-north-1.amazonaws.com.rproxy.govskope.us.cn/redshift-downloads-cn/redshift-ssl-ca-cert.pem`.

**Important**  
Amazon Redshift a changé la méthode de gestion des certificats SSL. Il se peut que vous ayez besoin de mettre à jour vos certificats actuels d’autorité de certification racine approuvée pour pouvoir continuer à vous connecter à vos clusters à l’aide du protocole SSL. Pour plus d'informations, consultez [Transition vers les certificats ACM pour les connexions SSL](connecting-transitioning-to-acm-certs.md).

Par défaut, les bases de données du cluster acceptent une connexion qu’elle s’appuie sur le protocole SSL ou non. Pour configurer votre cluster afin d’exiger une connexion SSL, définissez le paramètre `require_SSL` sur `true` dans le groupe de paramètres associé au cluster. 

Amazon Redshift prend en charge un mode SSL conforme à la norme Federal Information Processing Standard (FIPS) 140-2. Par défaut, le mode SSL conforme à la norme FIPS est désactivé. 

**Important**  
N’activez le mode SSL compatible FIPS que si votre système doit être compatible FIPS.

Pour activer le mode SSL conforme à la norme FIPS, définissez les paramètres `use_fips_ssl` et `require_SSL` sur `true` dans le groupe de paramètres associé au cluster Amazon Redshift ou le groupe de travail Redshift sans serveur. Pour plus d’informations sur la modification d’un groupe de paramètres sur un cluster, consultez [Groupes de paramètres Amazon Redshift](working-with-parameter-groups.md). Pour plus d’informations sur la modification d’un groupe de paramètres sur un groupe de travail, consultez [Configuration d’une connexion SSL conforme à FIPS à Amazon Redshift sans serveur](serverless-connecting.md#serverless_secure-fips-ssl). 

 Amazon Redshift prend en charge le protocole d’accord de clé Elliptic Curve Diffie-Hellman Ephemeral (ECDHE). Avec le protocole ECDHE, le client et le serveur disposent chacun d’une paire de clés publiques-privées à courbes elliptiques qui permettent d’établir un secret partagé via un canal non sécurisé. Vous n’avez pas besoin de configurer quoi que ce soit dans Amazon Redshift pour activer ECDHE. Si vous vous connectez à partir d’un outil client SQL qui utilise le protocole ECDHE pour chiffrer les communications entre le client et le serveur, Amazon Redshift utilise la liste de chiffrement fournie pour établir les connexions appropriées. Pour plus d’informations, consultez [Elliptic curve diffie—hellman](https://en.wikipedia.org/wiki/Elliptic_curve_Diffie%E2%80%93Hellman) sur Wikipedia et [Ciphers](https://www.openssl.org/) sur le site d’OpenSSL. 

## Protocole SSL et certificats CA approuvés dans ODBC
<a name="connecting-ssl-support-odbc"></a>

Si vous vous connectez à l’aide des derniers pilotes ODBC Amazon Redshift (version 1.3.7.1000 ou ultérieure), vous pouvez ignorer cette section. Pour télécharger les pilotes les plus récents, consultez [Configuration d’une connexion pour le pilote ODBC version 2.x pour Amazon Redshift](odbc20-install.md). 

Il se peut que vous ayez besoin de mettre à jour vos certificats actuels d’autorité de certification racine approuvée pour pouvoir continuer à vous connecter à vos clusters à l’aide du protocole SSL. Pour de plus amples informations, veuillez consulter [SSL](#connect-using-ssl).

Vous pouvez vérifier que le certificat que vous avez téléchargé correspond au numéro de MD5 contrôle attendu. Pour ce faire, vous pouvez utiliser le programme MD5sum sur les systèmes d’exploitation Linux, ou un autre outil sur les systèmes d’exploitation Windows et macOS X.

 ODBC DSNs contient un `sslmode` paramètre qui détermine comment gérer le chiffrement pour les connexions client et la vérification des certificats de serveur. Amazon Redshift prend en charge les valeurs `sslmode` suivantes à partir de la connexion client : 
+ `disable`

  Le protocole SSL est désactivé et la connexion n’est pas chiffrée.
+ `allow`

  Le protocole SSL est utilisé si le serveur l’exige.
+ `prefer`

  Le protocole SSL est utilisé si le serveur le prend en charge. Amazon Redshift prend en charge le protocole SSL. Celui-ci est donc utilisé lorsque vous définissez le `sslmode` sur `prefer`.
+ `require`

  Le protocole SSL est obligatoire.
+ `verify-ca`

  Le protocole SSL doit être utilisé et le certificat de serveur doit être vérifié.
+ `verify-full`

  Le protocole SSL doit être utilisé. Le certificat de serveur doit être vérifié et le nom d’hôte du serveur doit correspondre à l’attribut de nom d’hôte sur le certificat. 

Vous pouvez déterminer si SSL est utilisé et les certificats de serveur sont vérifiés dans une connexion entre le client et le serveur. Pour ce faire, vous devez revoir le paramètre `sslmode` pour votre DSN ODBC sur le client et le paramètre `require_SSL` pour le cluster Amazon Redshift sur le serveur. Le tableau suivant décrit le résultat du chiffrement pour les différentes combinaisons de paramètres client et serveur : 

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/redshift/latest/mgmt/connecting-ssl-support.html)

### Connexion à l’aide du certificat de serveur avec ODBC sous Microsoft Windows
<a name="connecting-ssl-support-odbc-with-cert"></a>

 Si vous souhaitez vous connecter à votre cluster en utilisant SSL et le certificat du serveur, téléchargez d’abord le certificat sur votre ordinateur client ou votre instance Amazon EC2. Configurez ensuite le DSN ODBC. 

1.  Téléchargez la solution groupée d’autorité de certification Amazon Redshift sur votre ordinateur client dans le dossier `lib` du répertoire d’installation de votre pilote, et enregistrez le fichier en tant que `root.crt`. Pour obtenir des informations sur le téléchargement, consultez [SSL](#connect-using-ssl).

1.  Ouvrez **Administrateur de sources de données ODBC** et ajoutez ou modifiez l’entrée de la DSN système pour votre connexion ODBC. Pour **Mode SSL**, sélectionnez `verify-full` à moins que vous n’utilisiez un alias DNS. Si vous utilisez un alias DNS, sélectionnez `verify-ca`. Ensuite, choisissez **Save** (Enregistrer). 

    Pour plus d’informations sur la configuration de la DSN ODBC, consultez [Configuration d’une connexion pour le pilote ODBC version 2.x pour Amazon Redshift](odbc20-install.md). 

## Protocole SSL et certificats de serveur dans Java
<a name="connecting-ssl-support-java"></a>

Le protocole SSL fournit une couche de sécurité en chiffrant les données qui se déplacent entre votre client et le cluster. L’utilisation d’un certificat de serveur fournit une couche supplémentaire de sécurité en validant que le cluster est un cluster Amazon Redshift. Pour cela, il vérifie le certificat de serveur installé automatiquement sur tous les clusters que vous mettez en service. Pour plus d’informations sur l’utilisation de certificats de serveur avec JDBC, accédez à la page de [configuration du client](https://jdbc.postgresql.org/documentation/ssl/#configuring-the-client) de la documentation sur PostgreSQL.

### Connexion à l’aide de certificats d’autorités de certification approuvées dans Java
<a name="connecting-ssl-support-java-with-cert"></a>

**Important**  
Amazon Redshift a changé la méthode de gestion des certificats SSL. Il se peut que vous ayez besoin de mettre à jour vos certificats actuels d’autorité de certification racine approuvée pour pouvoir continuer à vous connecter à vos clusters à l’aide du protocole SSL. Pour plus d'informations, consultez [SSL](#connect-using-ssl).

**Pour se connecter à l’aide de certificats d’autorités de certification approuvées**

Vous pouvez utiliser le `redshift-keytool.jar` fichier pour importer les certificats CA du bundle Amazon Redshift Certificate Authority dans un Java TrustStore ou dans un fichier privé. TrustStore

1. Si vous utilisez l’option de ligne de commande Java `-Djavax.net.ssl.trustStore`, supprimez-la de la ligne de commande, si possible.

1. Téléchargez [redshift-keytool.jar](https://s3.amazonaws.com/redshift-downloads/redshift-keytool.jar).

1. Effectuez l’une des actions suivantes :
   + Pour importer le bundle Amazon Redshift Certificate Authority dans un Java TrustStore, exécutez la commande suivante. 

     ```
     java -jar redshift-keytool.jar -s
     ```
   + Pour importer le bundle Amazon Redshift Certificate Authority dans votre compte privé TrustStore, exécutez la commande suivante : 

     ```
     java -jar redshift-keytool.jar -k <your_private_trust_store> -p <keystore_password> 
     ```

# Transition vers les certificats ACM pour les connexions SSL
<a name="connecting-transitioning-to-acm-certs"></a>

Amazon Redshift remplace les certificats SSL sur vos clusters par des certificats émis par [AWS Certificate Manager (ACM)](https://aws.amazon.com/certificate-manager/). ACM est une autorité de certification publique de confiance, approuvée par la plupart des systèmes actuels. Il se peut que vous ayez besoin de mettre à jour vos certificats actuels d’autorité de certification racine approuvée pour pouvoir continuer à vous connecter à vos clusters à l’aide du protocole SSL. 

Cette modification ne vous affecte que si l’ensemble des conditions suivantes s’applique :
+  Vos clients ou applications SQL se connectent aux clusters Amazon Redshift à l’aide du protocole SSL avec l’option de connexion `sslMode` définie sur l’option de configuration `require`, `verify-ca` ou `verify-full`. 
+ Vous n’utilisez pas les pilotes ODBC ou JDBC d’Amazon Redshift, ou vous utilisez des pilotes Amazon Redshift antérieurs à ODBC version 1.3.7.1000 ou JDBC version 1.2.8.1005. 

Si ce changement vous affecte sur les régions commerciales Amazon Redshift, alors vous devez mettre à jour vos certificats AC racine de confiance actuels avant le 23 octobre 2017. Amazon Redshift assurera la transition de vos clusters afin qu’ils utilisent les certificats ACM entre aujourd’hui et le 23 octobre 2017. La modification n’aura aucun effet ou presque sur les performances ou la disponibilité de votre cluster.

Si cette modification vous concerne dans les régions AWS GovCloud (US) (États-Unis), vous devez mettre à jour vos certificats Trust Root CA actuels avant le 1er avril 2020 pour éviter toute interruption de service. À partir de cette date, les clients qui se connectent aux clusters Amazon Redshift en utilisant des connexions cryptées SSL ont besoin d’une autorité de certification (AC) de confiance supplémentaire. Les clients utilisent des autorités de certification de confiance pour confirmer l’identité du cluster Amazon Redshift lorsqu’ils s’y connectent. Votre action est requise pour mettre à jour vos clients et applications SQL afin d’utiliser un bundle de certificats mis à jour qui inclut la nouvelle autorité de certification approuvée. 

**Important**  
Dans les régions de Chine, le 5 janvier 2021, Amazon Redshift remplace les certificats SSL de vos clusters par des certificats émis AWS Certificate Manager (ACM). Si ce changement vous affecte sur la région de la Chine (Beijing) ou la région de la Chine (Ningxia), vous devez mettre à jour vos certificats d’autorité de certification racine approuvés actuels avant le 5 janvier 2021 pour éviter toute interruption de service. À partir de cette date, les clients qui se connectent aux clusters Amazon Redshift en utilisant des connexions cryptées SSL ont besoin d’une autorité de certification (AC) de confiance supplémentaire. Les clients utilisent des autorités de certification de confiance pour confirmer l’identité du cluster Amazon Redshift lorsqu’ils s’y connectent. Votre action est requise pour mettre à jour vos clients et applications SQL afin d’utiliser un bundle de certificats mis à jour qui inclut la nouvelle autorité de certification approuvée.
+ [Utilisation des derniers pilotes ODBC ou JDBC d’Amazon Redshift](#connecting-transitioning-to-acm-latest-odbc-jdbc)
+ [Utilisation de pilotes ODBC ou JDBC antérieurs d’Amazon Redshift](#connecting-transitioning-to-acm-earlier-odbc-jdbc)
+ [Utilisation d’autres types de connexion SSL](#connecting-transitioning-to-acm-other-ssl-types)

## Utilisation des derniers pilotes ODBC ou JDBC d’Amazon Redshift
<a name="connecting-transitioning-to-acm-latest-odbc-jdbc"></a>

La méthode privilégiée consiste à utiliser les derniers pilotes ODBC ou JDBC Amazon Redshift. Les pilotes Amazon Redshift à partir des versions ODBC 1.3.7.1000 et JDBC 1.2.8.1005 gèrent automatiquement la transition entre un certificat Amazon Redshift auto-signé et un certificat ACM. Pour télécharger les pilotes les plus récents, consultez [Configuration d’une connexion pour la version 2.x du pilote JDBC pour Amazon Redshift](jdbc20-install.md). 

Si vous utilisez le dernier pilote JDBC Amazon Redshift, il est préférable de ne pas utiliser `-Djavax.net.ssl.trustStore` dans les options JVM. Si vous devez utiliser `-Djavax.net.ssl.trustStore`, importez le bundle d’autorités de certification Redshift dans le truststore vers lequel il pointe. Pour obtenir des informations sur le téléchargement, consultez [SSL](connecting-ssl-support.md#connect-using-ssl). Pour plus d'informations, consultez [Importation du bundle d'autorités de certification Amazon Redshift dans un TrustStore](#importing-the-acm-bundle-to-truststore).

## Utilisation de pilotes ODBC ou JDBC antérieurs d’Amazon Redshift
<a name="connecting-transitioning-to-acm-earlier-odbc-jdbc"></a>
+ Si votre ODBC DSN est configuré avec `SSLCertPath`, remplacez le fichier de certificats dans le chemin spécifié.
+ Si `SSLCertPath` n’est pas défini, remplacez le fichier de certificat nommé `root.crt` dans l’emplacement DLL du pilote. 

Si vous devez utiliser un pilote JDBC Amazon Redshift antérieur à la version 1.2.8.1005, effectuez l’une des opérations suivantes :
+ Si votre chaîne de connexion JDBC utilise l’option `sslCert`, supprimez l’option `sslCert`. Importez ensuite le bundle d'autorités de certification Redshift dans votre Java. TrustStore Pour obtenir des informations sur le téléchargement, consultez [SSL](connecting-ssl-support.md#connect-using-ssl). Pour plus d'informations, consultez [Importation du bundle d'autorités de certification Amazon Redshift dans un TrustStore](#importing-the-acm-bundle-to-truststore). 
+ Si vous utilisez l’option de ligne de commande Java `-Djavax.net.ssl.trustStore`, supprimez-la de la ligne de commande, si possible. Importez ensuite le bundle d'autorités de certification Redshift dans votre Java. TrustStore Pour obtenir des informations sur le téléchargement, consultez [SSL](connecting-ssl-support.md#connect-using-ssl). Pour de plus amples informations, veuillez consulter [Importation du bundle d'autorités de certification Amazon Redshift dans un TrustStore](#importing-the-acm-bundle-to-truststore).

### Importation du bundle d'autorités de certification Amazon Redshift dans un TrustStore
<a name="importing-the-acm-bundle-to-truststore"></a>

Vous pouvez les utiliser `redshift-keytool.jar` pour importer les certificats CA du bundle Amazon Redshift Certificate Authority dans un environnement Java TrustStore ou dans votre boutique de confiance privée.

**Pour importer le bundle d'autorités de certification Amazon Redshift dans un TrustStore**

1. Téléchargez [redshift-keytool.jar](https://s3.amazonaws.com/redshift-downloads/redshift-keytool.jar).

1. Effectuez l’une des actions suivantes :
   + Pour importer le bundle Amazon Redshift Certificate Authority dans un Java TrustStore, exécutez la commande suivante. 

     ```
     java -jar redshift-keytool.jar -s
     ```
   + Pour importer le bundle Amazon Redshift Certificate Authority dans votre compte privé TrustStore, exécutez la commande suivante : 

     ```
     java -jar redshift-keytool.jar -k <your_private_trust_store> -p <keystore_password> 
     ```

## Utilisation d’autres types de connexion SSL
<a name="connecting-transitioning-to-acm-other-ssl-types"></a>

Si vous souhaitez vous connecter à l’aide de l’une des solutions ci-dessous, suivez les étapes décrites dans cette section :
+  Pilote ODBC open source 
+  Pilote JDBC open source 
+  Interface de ligne de commande [Amazon Redshift RSQL](https://docs.aws.amazon.com/redshift/latest/mgmt/rsql-query-tool.html) 
+  Toute liaison de langages basée sur libpq, telle que psycopg2 (Python) et ruby-pg (Ruby) 

**Pour utiliser les certificats ACM avec d’autres types de connexion SSL :**

1.  Téléchargez le Paquet d’autorité de certification Amazon Redshift. Pour obtenir des informations sur le téléchargement, consultez [SSL](connecting-ssl-support.md#connect-using-ssl).

1. Placez les certificats du bundle dans votre fichier `root.crt`. 
   + Sur les systèmes d’exploitation Linux et macOS X, le fichier est `~/.postgresql/root.crt`
   + Sous Microsoft Windows, le fichier est `%APPDATA%\postgresql\root.crt`

# Connexion à partir d’outils et de codes clients
<a name="connecting-via-client-tools"></a>

Amazon Redshift fournit Amazon Redshift Query Editor V2 pour se connecter à vos clusters et groupes de travail. Pour plus d’informations, consultez [Interrogation d’une base de données à l’aide de l’éditeur de requête v2Interrogation d’une base de données à l’aide de Amazon Redshift Query Editor V2](query-editor-v2.md).

Cette section propose quelques options pour la connexion d’outils tiers. En outre, elle explique comment vous connecter à votre cluster par programmation. 

**Topics**
+ [Connexion avec Amazon Redshift RSQL](rsql-query-tool.md)
+ [Connexion à un cluster avec Amazon Redshift RSQL](rsql-query-tool-starting-tool-connection.md)
+ [Méta-commandes Amazon Redshift RSQL](rsql-query-tool-commands.md)
+ [Variables Amazon Redshift RSQL](rsql-query-tool-variables.md)
+ [Codes d’erreur Amazon Redshift RSQL](rsql-query-tool-error-codes.md)
+ [Variables d’environnement Amazon Redshift RSQL](rsql-query-tool-environment-variables.md)

# Connexion avec Amazon Redshift RSQL
<a name="rsql-query-tool"></a>

 Amazon Redshift RSQL est un client en ligne de commande permettant d’interagir avec les clusters et bases de données Amazon Redshift. Vous pouvez vous connecter à un cluster Amazon Redshift, décrire des objets de base de données, interroger des données et afficher les résultats des requêtes dans différents formats de sortie. 

 Amazon Redshift RSQL prend en charge les fonctionnalités de l’outil de ligne de commande PostgreSQL psql avec un ensemble supplémentaire de fonctionnalités spécifiques à Amazon Redshift. Cela inclut les éléments suivants : 
+ Vous pouvez utiliser l'authentification unique à l'aide d'AD FS, d'Okta PingIdentity, d'Azure ADm ou d'autres fournisseurs d'identité SAML/JWT basés. Vous pouvez également utiliser des fournisseurs d’identité SAML basés sur un navigateur pour l’authentification multifactorielle (MFA).
+ Vous pouvez décrire les propriétés ou les attributs des objets Amazon Redshift tels que les clés de distribution des tables, les clés de tri des tables, les vues à liaison tardive (LBVs) et les vues matérialisées. Vous pouvez également décrire les propriétés ou les attributs des tables externes d'un AWS Glue catalogue ou d'Apache Hive Metastore, des bases de données externes dans Amazon RDS for PostgreSQL, Amazon Aurora PostgreSQL Compatible Edition, RDS for MySQL (version préliminaire) et Amazon Aurora MySQL Compatible Edition (version préliminaire), ainsi que des tables partagées à l'aide du partage de données Amazon Redshift.
+ Vous pouvez également utiliser des commandes de flux de contrôle améliorées telles que `IF` (`\ELSEIF`, `\ELSE,` `\ENDIF`), `\GOTO` et `\LABEL`.

 Avec le mode de traitement par lots Amazon Redshift RSQL, qui exécute un script transmis en tant que paramètre d’entrée, vous pouvez exécuter des scripts comprenant à la fois SQL et une logique métier complexe. Si vous avez déjà des entrepôts des données sur site autogérés, vous pouvez utiliser Amazon Redshift RSQL pour remplacer les scripts d’extraction, de transfert, de chargement (ETL) et d’automatisation existants, tels que les scripts BTEQ Teradata. L’utilisation de RSQL permet d’éviter de réimplémenter manuellement des scripts dans un langage procédural. 

 Amazon Redshift RSQL est disponible pour les systèmes d’exploitation Linux, Windows et macOS X. 

Pour signaler des problèmes relatifs à Amazon Redshift RSQL, écrivez à redshift-rsql-support @amazon .com.

**Topics**
+ [Premiers pas avec Amazon Redshift RSQL](rsql-query-tool-getting-started.md)
+ [Journal des modifications Amazon Redshift RSQL](rsql-query-tool-changelog.md)

# Premiers pas avec Amazon Redshift RSQL
<a name="rsql-query-tool-getting-started"></a>

Installez Amazon Redshift RSQL sur un ordinateur doté d’un système d’exploitation Linux, macOS ou Microsoft Windows.

## Téléchargement de RSQL
<a name="rsql-query-tool-download"></a>
+  
  +  
  +  
+  
+  

Consultez le journal des modifications et les téléchargements des versions antérieures à l’adresse [Journal des modifications Amazon Redshift RSQL](rsql-query-tool-changelog.md).

## Installation de RSQL pour Linux
<a name="rsql-query-tool-linux-install"></a>

Suivez les étapes ci-dessous pour installer RSQL pour Linux.

1. Installez le gestionnaire de pilotes à l’aide de la commande suivante :

   ```
   sudo yum install unixODBC
   ```

1. Installez le pilote ODBC : [Téléchargement et installation du pilote ODBC Amazon RedshiftTéléchargement et installation du pilote ODBC](odbc20-install-linux.md).

1. Copiez le fichier ini dans votre répertoire de base :

   ```
   cp /opt/amazon/redshiftodbcx64/odbc.ini ~/.odbc.ini
   ```

1. Définissez les variables d’environnement pour qu’elles pointent vers l’emplacement du fichier :

   ```
   export ODBCINI=~/.odbc.ini
   export ODBCSYSINI=/opt/amazon/redshiftodbcx64/
   export AMAZONREDSHIFTODBCINI=/opt/amazon/redshiftodbcx64/amazon.redshiftodbc.ini
   ```

1. Vous pouvez désormais installer RSQL en exécutant la commande suivante.

   ```
   sudo rpm -i AmazonRedshiftRsql-<version>.rhel.x86_64.rpm
   ```

## Installation de RSQL pour Mac
<a name="rsql-query-tool-mac-install"></a>

Suivez les étapes ci-dessous pour installer RSQL pour Mac OSX.

1. Installez le gestionnaire de pilotes à l’aide de la commande suivante :

   ```
   brew install unixodbc --build-from-source
   ```

1. Installez le pilote ODBC : [Téléchargement et installation du pilote ODBC Amazon RedshiftTéléchargement et installation du pilote ODBC](odbc-driver-mac-how-to-install.md).

1. Copiez le fichier ini dans votre répertoire de base :

   ```
   cp /opt/amazon/redshift/Setup/odbc.ini ~/.odbc.ini
   ```

1. Définissez les variables d’environnement pour qu’elles pointent vers l’emplacement du fichier :

   ```
   export ODBCINI=~/.odbc.ini
   export ODBCSYSINI=/opt/amazon/redshift/Setup
   export AMAZONREDSHIFTODBCINI=/opt/amazon/redshift/lib/amazon.redshiftodbc.ini
   ```

1. Définissez `DYLD_LIBRARY_PATH` à l’emplacement de votre libodbc.dylib s’il n’est pas dans `/usr/local/lib`.

   ```
   export DYLD_LIBRARY_PATH=$DYLD_LIBRARY_PATH:/usr/local/lib
   ```

1. Double-cliquez sur le fichier pkg pour exécuter le programme d’installation.

1. Suivez les étapes décrites dans le programme d’installation pour terminer l’installation. Acceptez les termes du contrat de licence.

## Installation de RSQL pour Windows
<a name="rsql-query-tool-windows-install"></a>

Suivez les étapes ci-dessous pour installer RSQL pour Windows.

1. Installez le pilote ODBC : [Téléchargement et installation du pilote ODBC Amazon RedshiftTéléchargement et installation du pilote ODBC](odbc-driver-windows-how-to-install.md).

1. Double-cliquez sur le fichier de téléchargement de RSQL pour exécuter le programme d’installation, puis suivez les étapes pour terminer l’installation.

# Journal des modifications Amazon Redshift RSQL
<a name="rsql-query-tool-changelog"></a>

*1.1.2 (11/12/2025)*

Correctifs de bogue
+ Correction d'un bogue qui provoquait des échecs avec les commandes \$1 goto et \$1 label.
+ Correction d'un bogue qui empêchait RSQL d'imprimer les valeurs des variables lorsque celles-ci étaient placées entre guillemets.
+ Correction d'un bogue qui provoquait des blocages de RSQL lorsque les résultats de la requête dépassaient la taille du paramètre ODBC DSN Fetch alors qu'il était activé. UseDeclareFetch 
+ Correction d'un problème en raison duquel plusieurs pages de résultats étaient renvoyées en même temps même si le téléavertisseur était activé.
+ Correction d'un bogue qui provoquait des blocages de RSQL lorsque des requêtes échouaient dans des blocs de transactions.

*1.1.1 (20-11-2025)*

Correctifs de bogue
+ Correction d'un problème en raison duquel RSQL analysait incorrectement les requêtes lors de l'utilisation de l'indicateur -c. Ce correctif s'applique à toutes les plateformes.
+ Correction d'un bogue sur Mac qui empêchait les utilisateurs d'utiliser la commande \$1 s dans RSQL.

*1,10 (11/11/2025)*

Correctifs de bogue
+ Résolution d'un problème de fuite de mémoire qui provoquait des blocages inattendus dans RSQL.
+ Suppression de la dépendance OpenSSL de RSQL.
+ Correction de conflits de liens avec libpq/psql des installations situées dans le même environnement.
+ Compatibilité de plateforme améliorée pour Amazon Linux 2023, Windows et macOS.
+ Correction d'un problème à cause duquel la sortie était tronquée en cas de dépassement de la taille d'affichage actuelle.

*1.0.8 (2023-06-19)*

Correctifs de bogue
+ Correction d’un problème où la sortie était tronquée avec les commandes SHOW.
+ Ajout de la prise en charge de \$1de pour la description des flux Kinesis externes et des rubriques Kafka.

*1.0.7 (2023-03-22)*

Correctifs de bogue
+ Correction d’un problème où RSQL ne pouvait pas décrire les vues matérialisées.
+ Correction de l’erreur d’autorisation refusée sur stl\$1connection\$1log lors de l’utilisation d’Amazon Redshift sans serveur.
+ Correction d’un problème où RSQL pouvait traiter les étiquettes \$1GOTO de manière incorrecte.
+ Correction d’un problème d’impression des messages SSL en mode silencieux.
+ Correction d’un problème d’affichage de caractères aléatoires lors de la description de procédures stockées.
+ Le problème lié à l'impression de doublons de ERROR/INFO messages a été résolu.

Nouveau
+ RSQL obtient désormais les informations SSL directement à partir du pilote ODBC.



*1.0.6 (2023-02-21)*

Correctifs de bogue
+ Correction d’un problème où \$1d renvoie une erreur - syntaxe d’entrée invalide pour l’entier : "xid" - sur le correctif Redshift 1.0.46086 (P173).

Nouveau
+ Les fichiers d’installation ont été renommés pour refléter l’architecture prise en charge.



*1.0.5 (27/06/2022)*

Correctifs de bogue
+ Envoyer des messages d’erreur SQL à l’erreur standard (stderr).
+ Correction d’un problème avec les codes de sortie lors de l’utilisation de ON\$1ERROR\$1STOP. Les scripts s’arrêtent désormais après avoir rencontré une erreur et renvoient les bons codes de sortie.
+ Maxerror n’est plus sensible à la casse.

Nouveau
+ Ajout de la prise en charge du pilote ODBC 2.x.



*1.0.4 (2022-03-19)*
+ Prise en charge de la variable d’environnement RSPASSWORD. Définissez un mot de passe pour vous connecter à Amazon Redshift. Par exemple, `export RSPASSWORD=TestPassw0rd`.



*1.0.3 (2021-12-08)*

Correctifs de bogue
+ Correction d’une fenêtre contextuelle de boîte de dialogue lors de l’utilisation de `\c` ou de `\logon` pour basculer entre les bases de données sous Windows OS.
+ Correction d’un crash lors de la vérification des informations ssl.



## Versions antérieures d’Amazon Redshift RSQL
<a name="rsql-query-tool-changelog-legacy-versions"></a>

Choisissez l’un des liens pour télécharger la version d’Amazon Redshift RSQL dont vous avez besoin, en fonction de votre système d’exploitation.

**Linux 64 bits RPM**
+ [Version 1.1.1 de RSQL](https://s3.amazonaws.com/redshift-downloads/amazon-redshift-rsql/1.1.1/AmazonRedshiftRsql-1.1.1.rhel.x86_64.rpm)
+ [Version 1.1.0 de RSQL](https://s3.amazonaws.com/redshift-downloads/amazon-redshift-rsql/1.1.0/AmazonRedshiftRsql-1.1.0.rhel.x86_64.rpm)
+ [Version 1.0.8 de RSQL](https://s3.amazonaws.com/redshift-downloads/amazon-redshift-rsql/1.0.8/AmazonRedshiftRsql-1.0.8.x86_64.rpm)
+ [RSQL Version 1.0.7](https://s3.amazonaws.com/redshift-downloads/amazon-redshift-rsql/1.0.7/AmazonRedshiftRsql-1.0.7.x86_64.rpm)
+ [RSQL Version 1.0.6](https://s3.amazonaws.com/redshift-downloads/amazon-redshift-rsql/1.0.6/AmazonRedshiftRsql-1.0.6.x86_64.rpm)
+ [RSQL Version 1.0.5](https://s3.amazonaws.com/redshift-downloads/amazon-redshift-rsql/1.0.5/AmazonRedshiftRsql-1.0.5-1.x86_64.rpm)
+ [RSQL Version 1.0.4](https://s3.amazonaws.com/redshift-downloads/amazon-redshift-rsql/1.0.4/AmazonRedshiftRsql-1.0.4-1.x86_64.rpm)
+ [Fichier RSQL version 1.0.3](https://s3.amazonaws.com/redshift-downloads/amazon-redshift-rsql/1.0.3/AmazonRedshiftRsql-1.0.3-1.x86_64.rpm) 
+ [Fichier RSQL version 1.0.1](https://s3.amazonaws.com/redshift-downloads/amazon-redshift-rsql/1.0.1/AmazonRedshiftRsql-1.0.1-1.x86_64.rpm) 

**DMG/PKG 64 bits pour Mac OS**
+ [Version 1.1.1 de RSQL](https://s3.amazonaws.com/redshift-downloads/amazon-redshift-rsql/1.1.1/AmazonRedshiftRsql-1.1.1.universal.pkg)
+ [Version 1.1.0 de RSQL](https://s3.amazonaws.com/redshift-downloads/amazon-redshift-rsql/1.1.0/AmazonRedshiftRsql-1.1.0.universal.pkg)
+ [Version 1.0.8 de RSQL](https://s3.amazonaws.com/redshift-downloads/amazon-redshift-rsql/1.0.8/AmazonRedshiftRsql-1.0.8.x86_64.dmg)
+ [RSQL Version 1.0.7](https://s3.amazonaws.com/redshift-downloads/amazon-redshift-rsql/1.0.7/AmazonRedshiftRsql-1.0.7.x86_64.dmg)
+ [RSQL Version 1.0.6](https://s3.amazonaws.com/redshift-downloads/amazon-redshift-rsql/1.0.6/AmazonRedshiftRsql-1.0.6.x86_64.dmg)
+ [Fichier RSQL version 1.0.5](https://s3.amazonaws.com/redshift-downloads/amazon-redshift-rsql/1.0.5/AmazonRedshiftRsql-1.0.5.dmg)
+ [Fichier RSQL version 1.0.4](https://s3.amazonaws.com/redshift-downloads/amazon-redshift-rsql/1.0.4/AmazonRedshiftRsql-1.0.4.dmg)
+ [Fichier RSQL version 1.0.3](https://s3.amazonaws.com/redshift-downloads/amazon-redshift-rsql/1.0.3/AmazonRedshiftRsql-1.0.3.dmg) 
+ [Fichier RSQL64 version 1.0.1](https://s3.amazonaws.com/redshift-downloads/amazon-redshift-rsql/1.0.1/AmazonRedshiftRsql-1.0.1.dmg). Dans la région Chine (Beijing), utilisez le lien suivant : 

**MSI Windows 64 bits**
+ [Version 1.1.1 de RSQL](https://s3.amazonaws.com/redshift-downloads/amazon-redshift-rsql/1.1.1/AmazonRedshiftRsql-1.1.1.x86_64.msi)
+ [Version 1.1.0 de RSQL](https://s3.amazonaws.com/redshift-downloads/amazon-redshift-rsql/1.1.0/AmazonRedshiftRsql-1.1.0.x86_64.msi)
+ [Version 1.0.8 de RSQL](https://s3.amazonaws.com/redshift-downloads/amazon-redshift-rsql/1.0.8/AmazonRedshiftRsql-1.0.8.x86_64.msi)
+ [RSQL Version 1.0.7](https://s3.amazonaws.com/redshift-downloads/amazon-redshift-rsql/1.0.7/AmazonRedshiftRsql-1.0.7.x86_64.msi)
+ [RSQL Version 1.0.6](https://s3.amazonaws.com/redshift-downloads/amazon-redshift-rsql/1.0.6/AmazonRedshiftRsql-1.0.6.x86_64.msi)
+ [RSQL Version 1.0.5](https://s3.amazonaws.com/redshift-downloads/amazon-redshift-rsql/1.0.5/AmazonRedshiftRsql-1.0.5.msi)
+ [RSQL Version 1.0.4](https://s3.amazonaws.com/redshift-downloads/amazon-redshift-rsql/1.0.4/AmazonRedshiftRsql-1.0.4.msi)
+ [Fichier RSQL version 1.0.3](https://s3.amazonaws.com/redshift-downloads/amazon-redshift-rsql/1.0.3/AmazonRedshiftRsql-1.0.3.msi) 
+ [RSQL version 1.0.1](https://s3.amazonaws.com/redshift-downloads/amazon-redshift-rsql/1.0.1/AmazonRedshiftRsql-1.0.1.msi). 

# Connexion à un cluster avec Amazon Redshift RSQL
<a name="rsql-query-tool-starting-tool-connection"></a>

Avec Amazon Redshift, vous pouvez vous connecter à un cluster et interagir avec eux à l’aide de RSQL. Il s’agit d’un outil de ligne de commande qui fournit un moyen sécurisé d’interroger des données, de créer des objets de base de données et de gérer votre cluster Amazon Redshift. Les sections suivantes vous indiquent les étapes à suivre pour établir une connexion à votre cluster à l’aide de RSQL avec ou sans nom de source de données (DSN).

## Connexion sans DSN
<a name="rsql-query-tool-starting-tool-connection-dsn-less-example"></a>

1. Sur la console Amazon Redshift, choisissez le cluster auquel vous souhaitez vous connecter et notez le point de terminaison, la base de données et le port.

1. A l’invite de commande, spécifiez les informations de connexion à l’aide des paramètres de ligne de commande.

   ```
   rsql -h <endpoint> -U <username> -d <databasename> -p <port>
   ```

    Ici, les éléments suivants s’appliquent : 
   +  *<endpoint>*est le **point de terminaison** que vous avez enregistré à l'étape précédente.
   +  *<username>*est le nom d'un utilisateur autorisé à se connecter au cluster.
   +  *<databasename>*est le **nom de la base de données** que vous avez enregistré à l'étape précédente.
   +  *<port>*est le **port** que vous avez enregistré à l'étape précédente. *<port>*est un paramètre facultatif.

   Un exemple suit.

   ```
   rsql -h testcluster.example.amazonaws.com -U user1 -d dev -p 5439
   ```

1.  À l'invite de mot de passe, entrez le mot de passe de l'*<username>*utilisateur.

   Une réponse de connexion réussie ressemble à ce qui suit.

   ```
   % rsql -h testcluster.example.com -d dev -U user1 -p 5349
   Password for user user1:
   DSN-less Connected
   DBMS Name: Amazon Redshift
   Driver Name: Amazon Redshift ODBC Driver
   Driver Version: 1.4.27.1000
   Rsql Version: 1.0.1
   Redshift Version: 1.0.29306
   Type "help" for help.
   
   (testcluster) user1@dev=#
   ```

La commande de connexion possède les mêmes paramètres sous Linux, Mac OS et Windows.

## Connexion avec un DSN
<a name="rsql-query-tool-starting-tool-connection-dsn-example"></a>

Vous pouvez connecter RSQL à Amazon Redshift à l’aide d’un DSN pour simplifier l’organisation des propriétés de connexion DSN. Cette rubrique contient des instructions pour l’installation du pilote ODBC et des descriptions des propriétés DSN.

### Utilisation d’une connexion DSN avec un mot de passe
<a name="rsql-query-tool-starting-tool-connection-dsn-example-password"></a>

L’exemple suivant montre une configuration de connexion DSN utilisant un mot de passe. La valeur par défaut `<path to driver>` pour Mac OS X est `/opt/amazon/redshift/lib/libamazonredshiftodbc.dylib` et pour Linux, il s’agit de `/opt/amazon/redshiftodbc/lib/64/libamazonredshiftodbc64.so`.

```
[testuser]
Driver=/opt/amazon/redshiftodbc/lib/64/libamazonredshiftodbc64.so
SSLMode=verify-ca
Min_TLS=1.2
boolsaschar=0
Host=<server endpoint>
Port=<database port>
Database=<dbname>
UID=<username>
PWD=<password>
sslmode=prefer
```

La sortie suivante résulte d’une connexion réussie.

```
% rsql -D testuser
DSN Connected
DBMS Name: Amazon Redshift
Driver Name: Amazon Redshift ODBC Driver
Driver Version: 1.4.27.1000
Rsql Version: 1.0.1
Redshift Version: 1.0.29306
Type "help" for help.

(testcluster) user1@dev=#
```

### Utilisation du DSN à authentification unique
<a name="rsql-query-tool-starting-tool-connection-dsn"></a>

Vous pouvez configurer un DSN pour l’authentification unique. L’exemple suivant montre une configuration de connexion DSN utilisant l’authentification unique Okta.

```
[testokta]
Driver=<path to driver>
SSLMode=verify-ca
Min_TLS=1.2
boolsaschar=0
Host=<server endpoint>
clusterid=<cluster id>
region=<region name>
Database=<dbname>
locale=en-US
iam=1
plugin_name=<plugin name>
uid=<okta username>
pwd=<okta password>
idp_host=<idp endpoint>
app_id=<app id>
app_name=<app name>
preferred_role=<role arn>
```

Exemple de sortie d’une connexion réussie.

```
% rsql -D testokta 
DSN Connected
DBMS Name: Amazon Redshift
Driver Name: Amazon Redshift ODBC Driver
Driver Version: 1.4.27.1000
Rsql Version: 1.0.1
Redshift Version: 1.0.29306
Type "help" for help.

(testcluster) user1@dev=#
```

L’exemple suivant montre une configuration de connexion DSN utilisant l’authentification unique Azure.

```
[testazure]
Driver=<path to driver>
SSLMode=verify-ca
Min_TLS=1.2
boolsaschar=0
Host=<server endpoint>
Port=<cluster port>
clusterid=<cluster id>
region=<region name>
Database=<dbname>
locale=en-us
iam=1
plugin_name=<plugin name>
uid=<azure username>
pwd=<azure password>
idp_tenant=<Azure idp tenant uuid>
client_id=<Azure idp client uuid>
client_secret=<Azure idp client secret>
```

### Utilisation d’une connexion DSN avec un profil IAM
<a name="rsql-query-tool-starting-tool-connection-dsn-iam"></a>

Vous pouvez vous connecter à Amazon Redshift à l’aide de votre profil IAM configuré. Le profil IAM doit être autorisé à appeler `GetClusterCredentials`. L’exemple suivant illustre les propriétés DSN à utiliser. Les paramètres `ClusterID` et `Region` ne sont obligatoires que si l’`Host` n’est pas un point de terminaison fourni par Amazon comme `examplecluster.abc123xyz789.us-west-2.redshift.amazonaws.com`.

```
[testiam]
Driver=Default
Host=testcluster.example.com
Database=dev
DbUser=testuser
ClusterID=rsqltestcluster
Region=us-east-1
IAM=1
Profile=default
```

La valeur de la `Profile` clé est le profil nommé que vous avez choisi parmi les informations d'identification de votre AWS CLI. Cet exemple montre les informations d’identification du profil nommé `default`.

```
$ cat .aws/credentials
[default]
aws_access_key_id = ASIAIOSFODNN7EXAMPLE 
aws_secret_access_key = wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
```

L’exemple de réponse de connexion est le suivant.

```
$ rsql -D testiam
DSN Connected
DBMS Name: Amazon Redshift
Driver Name: Amazon Redshift ODBC Driver
Driver Version: 1.4.27.1000
Rsql Version: 1.0.1
Redshift Version: 1.0.29306
Type "help" for help.

(testcluster) testuser@dev=>
```

### Utilisation d’une connexion DSN avec un profil d’instance
<a name="rsql-query-tool-starting-tool-connection-dsn-instance"></a>

Vous pouvez vous connecter à Amazon Redshift à l’aide de votre profil d’instance Amazon EC2. Le profil d’instance doit être autorisé à appeler `GetClusterCredentials`. Voir l’exemple ci-dessous pour connaître les propriétés DSN à utiliser. Les paramètres `ClusterID` et `Region` ne sont obligatoires que si l’`Host` n’est pas un point de terminaison fourni par Amazon comme `examplecluster.abc123xyz789.us-west-2.redshift.amazonaws.com`.

```
[testinstanceprofile]
Driver=Default
Host=testcluster.example.com
Database=dev
DbUser=testuser
ClusterID=rsqltestcluster
Region=us-east-1
IAM=1
Instanceprofile=1
```

L’exemple de réponse de connexion est le suivant.

```
$ rsql -D testinstanceprofile
DSN Connected
DBMS Name: Amazon Redshift
Driver Name: Amazon Redshift ODBC Driver
Driver Version: 1.4.27.1000
Rsql Version: 1.0.1
Redshift Version: 1.0.29306
Type "help" for help.

(testcluster) testuser@dev=>
```

### Utilisation d’une connexion DSN avec la chaîne de fournisseurs d’informations d’identification par défaut
<a name="rsql-query-tool-starting-tool-connection-dsn-provider-chain"></a>

Pour vous connecter à l'aide de la chaîne de fournisseurs d'informations d'identification par défaut, spécifiez uniquement la propriété IAM, et Amazon Redshift RSQL tentera d'obtenir les informations d'identification dans l'ordre décrit dans la section [Utilisation des informations d'identification dans le AWS SDK](https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/credentials.html) for Java. AWS Au moins un des fournisseurs de la chaîne doit disposer de l’autorisation `GetClusterCredentials`. Cela est utile pour se connecter à partir de conteneurs ECS, par exemple.

```
[iamcredentials]
Driver=Default
Host=testcluster.example.com
Database=dev
DbUser=testuser
ClusterID=rsqltestcluster
Region=us-east-1
IAM=1
```

# Méta-commandes Amazon Redshift RSQL
<a name="rsql-query-tool-commands"></a>

Les méta-commandes Amazon Redshift RSQL renvoient des enregistrements informatifs sur des bases de données ou des objets de base de données spécifiques. Les résultats peuvent inclure diverses colonnes et métadonnées. D’autres commandes effectuent des actions spécifiques. Ces commandes sont précédées d’une barre oblique inverse.

## \$1d[S\$1]
<a name="rsql-query-tool-describe-d"></a>

 Répertorie les tables créées par les utilisateurs locaux, les vues régulières, les vues à liaison tardive et les vues matérialisées. `\dS ` répertorie également les tableaux et les vues, comme `\d`, mais les objets système sont inclus dans les enregistrements renvoyés. Le `+` a pour résultat la colonne de métadonnées supplémentaires `description` pour tous les objets répertoriés. Les exemples d’enregistrements suivants sont renvoyés à la suite de la commande. 

```
List of relations
 schema |   name    | type  |  owner  
--------+-----------+-------+---------
 public | category  | table | awsuser
 public | date      | table | awsuser
 public | event     | table | awsuser
 public | listing   | table | awsuser
 public | sales     | table | awsuser
 public | users     | table | awsuser
 public | venue     | table | awsuser
(7 rows)
```

## \$1d[S\$1] NAME
<a name="rsql-query-tool-describe-s-plus-named"></a>

Décrit une table, une vue ou un index. Inclut les noms et les types de colonnes. Il fournit également le style de distribution diststyle, la configuration de sauvegarde, la date de création (tables créées après octobre 2018) et les contraintes. Par exemple, `\dS+ sample` renvoie les propriétés d’objet. L’ajout de `S+` donne lieu à l’inclusion de colonnes supplémentaires dans les enregistrements renvoyés.

```
Table "public.sample"
 Column |            Type             |   Collation    | Nullable | Default Value | Encoding  | DistKey | SortKey
--------+-----------------------------+----------------+----------+---------------+-----------+---------+---------
 col1   | smallint                    |                | NO       |               | none      | t       | 1
 col2   | character(100)              | case_sensitive | YES      |               | none      | f       | 2
 col3   | character varying(100)      | case_sensitive | YES      |               | text32k   | f       | 3
 col4   | timestamp without time zone |                | YES      |               | runlength | f       | 0
 col5   | super                       |                | YES      |               | zstd      | f       | 0
 col6   | bigint                      |                | YES      |               | az64      | f       | 0

Diststyle: KEY
Backup: YES
Created: 2021-07-20 19:47:27.997045
Unique Constraints:
    "sample_pkey" PRIMARY KEY (col1)
    "sample_col2_key" UNIQUE (col2)
Foreign-key constraints:
    "sample_col2_fkey" FOREIGN KEY (col2) REFERENCES lineitem(l_orderkey)
```

Le style de distribution, ou *Diststyle*, de la table peut être KEY, AUTO, EVEN ou ALL.

*Backup (Sauvegarde)* indique si la table est sauvegardée lors de la prise d’un instantané. Les valeurs valides sont `YES` ou `NO`.

*Created (Créé)* est l’horodatage de la date de création de la table. La date de création n’est pas disponible pour les tables Amazon Redshift créées avant novembre 2018. Les tables créées avant cette date s'affichent n/a (Non disponible). 

*Unique Constraints (Contraintes uniques)* répertorie les contraintes uniques et les contraintes de clé principale sur la table.

*Foreign-key constraints (Contraintes de clé étrangère)* répertorie les contraintes de clé étrangère sur la table.

## \$1dC[\$1] [PATTERN]
<a name="rsql-query-tool-describe-dc"></a>

Répertorie les distributions. Inclut le type de source, le type de cible et indique si la distribution est implicite.

Les données suivantes présentent un sous-ensemble de résultats provenant de `\dC+`.

```
List of casts
         source type         |         target type         |      function       |   implicit?   | description 
-----------------------------+-----------------------------+---------------------+---------------+-------------
 "char"                      | character                   | bpchar              | in assignment | 
 "char"                      | character varying           | text                | in assignment | 
 "char"                      | integer                     | int4                | no            | 
 "char"                      | text                        | text                | yes           | 
 "path"                      | point                       | point               | no            | 
 "path"                      | polygon                     | polygon             | in assignment | 
 abstime                     | date                        | date                | in assignment | 
 abstime                     | integer                     | (binary coercible)  | no            | 
 abstime                     | time without time zone      | time                | in assignment | 
 abstime                     | timestamp with time zone    | timestamptz         | yes           | 
 abstime                     | timestamp without time zone | timestamp           | yes           | 
 bigint                      | bit                         | bit                 | no            | 
 bigint                      | boolean                     | bool                | yes           | 
 bigint                      | character                   | bpchar              | in assignment | 
 bigint                      | character varying           | text                | in assignment | 
 bigint                      | double precision            | float8              | yes           | 
 bigint                      | integer                     | int4                | in assignment | 
 bigint                      | numeric                     | numeric             | yes           | 
 bigint                      | oid                         | oid                 | yes           | 
 bigint                      | real                        | float4              | yes           | 
 bigint                      | regclass                    | oid                 | yes           | 
 bigint                      | regoper                     | oid                 | yes           | 
 bigint                      | regoperator                 | oid                 | yes           | 
 bigint                      | regproc                     | oid                 | yes           | 
 bigint                      | regprocedure                | oid                 | yes           | 
 bigint                      | regtype                     | oid                 | yes           | 
 bigint                      | smallint                    | int2                | in assignment | 
 bigint                      | super                       | int8_partiql        | in assignment |
```

## \$1dd[S] [PATTERN]
<a name="rsql-query-tool-describe-dds"></a>

Affiche les descriptions d’objets non affichées ailleurs.

## \$1de
<a name="rsql-query-tool-describe-de"></a>

Répertorie les tables externes. Cela inclut les tables du AWS Glue Data Catalog Hive Metastore et les tables fédérées d'Amazon MySQL RDS/Aurora , Amazon PostgreSQL RDS/Aurora et Amazon Redshift.

## \$1de NAME
<a name="rsql-query-tool-describe-de-name"></a>

Décrit une table externe.

L'exemple suivant montre une table AWS Glue externe.

```
# \de spectrum.lineitem
                            Glue External table "spectrum.lineitem"
     Column      | External Type | Redshift Type | Position | Partition Key | Nullable
-----------------+---------------+---------------+----------+---------------+----------
 l_orderkey      | bigint        | bigint        | 1        | 0             |
 l_partkey       | bigint        | bigint        | 2        | 0             |
 l_suppkey       | int           | int           | 3        | 0             |
 l_linenumber    | int           | int           | 4        | 0             |
 l_quantity      | decimal(12,2) | decimal(12,2) | 5        | 0             |
 l_extendedprice | decimal(12,2) | decimal(12,2) | 6        | 0             |
 l_discount      | decimal(12,2) | decimal(12,2) | 7        | 0             |
 l_tax           | decimal(12,2) | decimal(12,2) | 8        | 0             |
 l_returnflag    | char(1)       | char(1)       | 9        | 0             |
 l_linestatus    | char(1)       | char(1)       | 10       | 0             |
 l_shipdate      | date          | date          | 11       | 0             |
 l_commitdate    | date          | date          | 12       | 0             |
 l_receiptdate   | date          | date          | 13       | 0             |
 l_shipinstruct  | char(25)      | char(25)      | 14       | 0             |
 l_shipmode      | char(10)      | char(10)      | 15       | 0             |
 l_comment       | varchar(44)   | varchar(44)   | 16       | 0             |

Location: s3://redshiftbucket/kfhose2019/12/31
Input_format: org.apache.hadoop.mapred.TextInputFormat
Output_format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
Serialization_lib: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
Serde_parameters: {"field.delim":"|","serialization.format":"|"}
Parameters: {"EXTERNAL":"TRUE","numRows":"178196721475","transient_lastDdlTime":"1577771873"}
```

Une table Hive Metastore.

```
# \de emr.lineitem
                     Hive Metastore External Table "emr.lineitem"
     Column      | External Type | Redshift Type | Position | Partition Key | Nullable
-----------------+---------------+---------------+----------+---------------+----------
 l_orderkey      | bigint        | bigint        | 1        | 0             |
 l_partkey       | bigint        | bigint        | 2        | 0             |
 l_suppkey       | int           | int           | 3        | 0             |
 l_linenumber    | int           | int           | 4        | 0             |
 l_quantity      | decimal(12,2) | decimal(12,2) | 5        | 0             |
 l_extendedprice | decimal(12,2) | decimal(12,2) | 6        | 0             |
 l_discount      | decimal(12,2) | decimal(12,2) | 7        | 0             |
 l_tax           | decimal(12,2) | decimal(12,2) | 8        | 0             |
 l_returnflag    | char(1)       | char(1)       | 9        | 0             |
 l_linestatus    | char(1)       | char(1)       | 10       | 0             |
 l_commitdate    | date          | date          | 11       | 0             |
 l_receiptdate   | date          | date          | 12       | 0             |
 l_shipinstruct  | char(25)      | char(25)      | 13       | 0             |
 l_shipmode      | char(10)      | char(10)      | 14       | 0             |
 l_comment       | varchar(44)   | varchar(44)   | 15       | 0             |
 l_shipdate      | date          | date          | 16       | 1             |

Location: s3://redshiftbucket/cetas
Input_format: org.apache.hadoop.hive.ql.io.parquet.MapredParquetInputFormat
Output_format: org.apache.hadoop.hive.ql.io.parquet.MapredParquetOutputFormat
Serialization_lib: org.apache.hadoop.hive.ql.io.parquet.serde.ParquetHiveSerDe
Serde_parameters: {"serialization.format":"1"}
Parameters: {"EXTERNAL":"TRUE", "numRows":"4307207", "transient_lastDdlTime":"1626990007"}
```

Table externe PostgreSQL.

```
# \de pgrsql.alltypes
                                Postgres Federated Table "pgrsql.alltypes"
 Column |        External Type        |        Redshift Type        | Position | Partition Key | Nullable
--------+-----------------------------+-----------------------------+----------+---------------+----------
 col1   | bigint                      | bigint                      | 1        | 0             |
 col2   | bigint                      | bigint                      | 2        | 0             |
 col5   | boolean                     | boolean                     | 3        | 0             |
 col6   | box                         | varchar(65535)              | 4        | 0             |
 col7   | bytea                       | varchar(65535)              | 5        | 0             |
 col8   | character(10)               | character(10)               | 6        | 0             |
 col9   | character varying(10)       | character varying(10)       | 7        | 0             |
 col10  | cidr                        | varchar(65535)              | 8        | 0             |
 col11  | circle                      | varchar(65535)              | 9        | 0             |
 col12  | date                        | date                        | 10       | 0             |
 col13  | double precision            | double precision            | 11       | 0             |
 col14  | inet                        | varchar(65535)              | 12       | 0             |
 col15  | integer                     | integer                     | 13       | 0             |
 col16  | interval                    | varchar(65535)              | 14       | 0             |
 col17  | json                        | varchar(65535)              | 15       | 0             |
 col18  | jsonb                       | varchar(65535)              | 16       | 0             |
 col19  | line                        | varchar(65535)              | 17       | 0             |
 col20  | lseg                        | varchar(65535)              | 18       | 0             |
 col21  | macaddr                     | varchar(65535)              | 19       | 0             |
 col22  | macaddr8                    | varchar(65535)              | 20       | 0             |
 col23  | money                       | varchar(65535)              | 21       | 0             |
 col24  | numeric                     | numeric(38,20)              | 22       | 0             |
 col25  | path                        | varchar(65535)              | 23       | 0             |
 col26  | pg_lsn                      | varchar(65535)              | 24       | 0             |
 col28  | point                       | varchar(65535)              | 25       | 0             |
 col29  | polygon                     | varchar(65535)              | 26       | 0             |
 col30  | real                        | real                        | 27       | 0             |
 col31  | smallint                    | smallint                    | 28       | 0             |
 col32  | smallint                    | smallint                    | 29       | 0             |
 col33  | integer                     | integer                     | 30       | 0             |
 col34  | text                        | varchar(65535)              | 31       | 0             |
 col35  | time without time zone      | varchar(65535)              | 32       | 0             |
 col36  | time with time zone         | varchar(65535)              | 33       | 0             |
 col37  | timestamp without time zone | timestamp without time zone | 34       | 0             |
 col38  | timestamp with time zone    | timestamp with time zone    | 35       | 0             |
 col39  | tsquery                     | varchar(65535)              | 36       | 0             |
 col40  | tsvector                    | varchar(65535)              | 37       | 0             |
 col41  | txid_snapshot               | varchar(65535)              | 38       | 0             |
 col42  | uuid                        | varchar(65535)              | 39       | 0             |
 col43  | xml                         | varchar(65535)              | 40       | 0             |
```

## \$1df[anptw][S\$1] [PATTERN]
<a name="rsql-query-tool-df"></a>

 Répertorie les fonctions de différents types. La commande `\df`, par exemple, renvoie une liste de fonctions. Les résultats incluent des propriétés telles que le nom, le type de données renvoyé, les privilèges d’accès et les métadonnées supplémentaires. Les types de fonctions peuvent inclure des déclencheurs, des procédures stockées, des fonctions de fenêtrage et d’autres types. Lorsque vous ajoutez `S+` à la commande, par exemple `\dfantS+`, des colonnes de métadonnées supplémentaires sont incluses, telles que `owner`, `security` et `access privileges`. 

## \$1dL[S\$1] [PATTERN]
<a name="rsql-query-tool-describe-dl"></a>

 Répertorie les données sur les langages procéduraux associés à la base de données. Les informations incluent le nom, tel que plpgsql, et des métadonnées supplémentaires, qui indiquent s’il est approuvé, les privilèges d’accès et la description. L’exemple d’appel est, par exemple, `\dLS+`, qui répertorie les langues et leurs propriétés. Lorsque vous ajoutez `S+` à la commande, des colonnes de métadonnées supplémentaires sont incluses, telles que `call handler` et `access privileges`. 

Exemple de résultats :

```
List of languages
   name    | trusted | internal language |      call handler       |                         validator                          | access privileges |          description           
-----------+---------+-------------------+-------------------------+------------------------------------------------------------+-------------------+--------------------------------
 c         | f       | t                 | -                       | fmgr_c_validator(oid)                                      |                   | Dynamically-loaded C functions
 exfunc    | f       | f                 | exfunc_call_handler()   | -                                                          | rdsdb=U/rdsdb     | 
 internal  | f       | t                 | -                       | fmgr_internal_validator(oid)                               |                   | Built-in functions
 mlfunc    | f       | f                 | mlfunc_call_handler()   | -                                                          | rdsdb=U/rdsdb     | 
 plpgsql   | t       | f                 | plpgsql_call_handler()  | plpgsql_validator(oid)                                     |                   | 
 plpythonu | f       | f                 | plpython_call_handler() | plpython_compiler(cstring,cstring,cstring,cstring,cstring) | rdsdb=U/rdsdb     | 
 sql       | t       | t                 | -                       | fmgr_sql_validator(oid)                                    | =U/rdsdb          | SQL-language functions
```

## \$1dm[S\$1] [PATTERN]
<a name="rsql-query-tool-describe-dm"></a>

 Répertorie les vues matérialisées. Par exemple, `\dmS+` répertorie les vues matérialisées et leurs propriétés. Lorsque vous ajoutez `S+` à la commande, des colonnes de métadonnées supplémentaires sont incluses. 

## \$1dn[S\$1] [PATTERN]
<a name="rsql-query-tool-describe-dn"></a>

 Répertorie les schémas. Lorsque vous ajoutez `S+` à la commande, par exemple `\dnS+`, des colonnes de métadonnées supplémentaires sont incluses, telles que `description` et `access privileges`. 

## \$1dp [PATTERN]
<a name="rsql-query-tool-describe-dp"></a>

 Répertorie les privilèges d’accès aux tables, aux vues et aux séquences. 

## \$1dt[S\$1] [PATTERN]
<a name="rsql-query-tool-describe-dt"></a>

 Répertorie les tables. Lorsque vous ajoutez `S+` à la commande, par exemple `\dtS+`, des colonnes de métadonnées supplémentaires sont incluses, telles que `description` dans ce cas. 

## \$1du
<a name="rsql-query-tool-describe-du"></a>

 Répertorie les utilisateurs pour la base de données. Inclut leur nom et leurs rôles, tels que super-utilisateur, ainsi que leurs attributs. 

## \$1dv[S\$1] [PATTERN]
<a name="rsql-query-tool-describe-dv"></a>

 Répertorie les vues. Inclut le schéma, le type et les données de propriétaire. Lorsque vous ajoutez `S+` à la commande, par exemple `\dvS+`, des colonnes de métadonnées supplémentaires sont incluses. 

## \$1H
<a name="rsql-query-tool-describe-h"></a>

 Active la sortie HTML. Cela est utile pour renvoyer rapidement des résultats formatés. Par exemple, `select * from sales; \H` renvoie les résultats de la table des ventes, au format HTML. Pour revenir aux résultats tabulaires, utilisez `\q` ou silencieux. 

## \$1i
<a name="rsql-query-tool-describe-i"></a>

 Exécute des commandes à partir d’un fichier. Par exemple, supposons que vous avez rsql\$1steps.sql dans votre répertoire de travail, les commandes suivantes exécutent les commandes dans le fichier  :`\i rsql_steps.sql`. 

## \$1l[\$1] [PATTERN]
<a name="rsql-query-tool-describe-l"></a>

 Répertorie les bases de données. Inclut le propriétaire, l’encodage et des informations supplémentaires. 

## \$1q
<a name="rsql-query-tool-describe-q"></a>

 La commande de fermeture, ou `\q`, déconnecte les séances de base de données et ferme RSQL. 

## \$1sv[\$1] VIEWNAME
<a name="rsql-query-tool-describe-sv-name"></a>

 Affiche la définition d’une vue. 

## \$1timing
<a name="rsql-query-tool-describe-timing"></a>

 Affiche le délai d’exécution, pour une requête, par exemple. 

## \$1z [PATTERN]
<a name="rsql-query-tool-describe-z"></a>

 Le même résultat que \$1dp. 

## \$1?
<a name="rsql-query-tool-help"></a>

 Affiche les informations d’aide. Le paramètre facultatif indique l’élément à expliquer. 

## \$1EXIT
<a name="rsql-query-tool-flow-control-exit"></a>

 Déconnecte toutes les séances de base de données et ferme Amazon Redshift RSQL. En outre, vous pouvez spécifier un code de sortie facultatif. Par exemple, `\EXIT 15` va fermer le terminal RSQL Amazon Redshift et renvoyer le code de sortie 15.

L’exemple suivant montre le résultat d’une connexion et la fermeture de RSQL.

```
% rsql -D testuser
DSN Connected
DBMS Name: Amazon Redshift
Driver Name: Amazon Redshift ODBC Driver
Driver Version: 1.4.34.1000
Rsql Version: 1.0.1
Redshift Version: 1.0.29306 
Type "help" for help.

(testcluster) user1@dev=# \exit 15

% echo $?
15
```

## \$1EXPORT
<a name="rsql-query-tool-export"></a>

 Spécifie le nom d’un fichier d’exportation utilisé par RSQL pour stocker les informations de base de données renvoyées par une instruction SQL SELECT ultérieure.

export\$101.sql

```
\export report file='E:\\accounts.out'
\rset rformat off
\rset width 1500
\rset heading "General Title"
\rset titledashes on
select * from td_dwh.accounts;
\export reset
```

Sortie de console

```
Rformat is off.
Target width is 1500.
Heading is set to: General Title
Titledashes is on.
(exported 40 rows)
```

## \$1LOGON
<a name="rsql-query-tool-flow-control-logon"></a>

 Se connecte à une base de données. Vous pouvez spécifier des paramètres de connexion à l’aide de la syntaxe positionnelle ou d’une chaîne de connexion.

La syntaxe de commande est la suivante : `\logon {[DBNAME|- USERNAME|- HOST|- PORT|- [PASSWORD]] | conninfo}`

Le `DBNAME` est le nom de base de données à laquelle se connecter. Le `USERNAME` est le nom d’utilisateur utilisé pour se connecter. L’`HOST` par défaut est `localhost`. L’`PORT` par défaut est `5439`.

Lorsqu’un nom d’hôte est spécifié dans une commande `\LOGON`, il devient le nom d’hôte par défaut pour d’autres commandes `\LOGON`. Pour modifier le nom d’hôte par défaut, spécifiez un nouveau `HOST` dans une autre commande `\LOGON`.

L’exemple de résultat de la commande `\LOGON` pour `user1` suit.

```
(testcluster) user1@redshiftdb=# \logon dev
DBMS Name: Amazon Redshift
Driver Name: Amazon Redshift ODBC Driver
Driver Version: 1.4.27.1000
Rsql Version: 1.0.1
You are now connected to database "dev" as user "user1".
(testcluster) user1@dev=#
```

Exemple de résultat pour *user2*.

```
(testcluster) user1@dev=# \logon dev user2 testcluster2.example.com
Password for user user2: 
DBMS Name: Amazon Redshift
Driver Name: Amazon Redshift ODBC Driver
Driver Version: 1.4.27.1000
Rsql Version: 1.0.1
You are now connected to database "dev" as user "user2" on host "testcluster2.example.com" at port "5439".
(testcluster2) user2@dev=#
```

## \$1REMARK
<a name="rsql-query-tool-flow-control-remark"></a>

 Une extension de la commande `\echo`. `\REMARK` imprime la chaîne spécifiée dans le flux de sortie. `\REMARK ` étend `\echo`en ajoutant la possibilité de répartir le résultat sur des lignes distinctes.

L’exemple suivant montre le résultat de la commande.

```
(testcluster) user1@dev=# \remark 'hello//world'
hello
world
```

## \$1RSET
<a name="rsql-query-tool-rset"></a>

La commande `\rset` définit les paramètres de commande et les variables. `\rset` dispose à la fois d’un mode interactif et d’un mode de traitement par lots. Elle ne prend pas en charge les options en tant qu’options bash, comme *-x*, ou des arguments, par exemple *--<arg>*.

Elle définit des variables, telles que les suivantes :
+ ERRORLEVEL
+ HEADING et RTITLE
+ RFORMAT
+ MAXERROR
+ TITLEDASHES
+ WIDTH

L’exemple suivant spécifie un en-tête.

```
\rset heading "Winter Sales Report"
```

Pour obtenir plus d’exemples d’utilisation `\rset`, vous pouvez en trouver plusieurs dans les rubriques [Variables Amazon Redshift RSQL](rsql-query-tool-variables.md).

## \$1RUN
<a name="rsql-query-tool-flow-control-run"></a>

 Exécute le script Amazon Redshift RSQL contenu dans le fichier spécifié. `\RUN` étend la commande `\i` en ajoutant une option permettant d’ignorer les lignes d’en-tête dans un fichier.

Si le nom du fichier contient une virgule, un point-virgule ou un espace, placez-le entre guillemets simples. De plus, si le texte suit le nom du fichier, placez-le entre guillemets. Sous UNIX, les noms de fichier sont sensibles à la casse. Sous Windows, les noms de fichiers ne sont pas sensibles à la casse.

L’exemple suivant montre le résultat de la commande.

```
(testcluster) user1@dev=# \! cat test.sql
select count(*) as lineitem_cnt from lineitem;
select count(*) as customer_cnt from customer;
select count(*) as orders_cnt from orders;



(testcluster) user1@dev=# \run file=test.sql
 lineitem_cnt
--------------
      4307207
(1 row)

 customer_cnt
--------------
     37796166
(1 row)

 orders_cnt
------------
          0
(1 row)


(testcluster) user1@dev=# \run file=test.sql skip=2
2 records skipped in RUN file.
 orders_cnt
------------
          0
(1 row)
```

## \$1OS
<a name="rsql-query-tool-flow-control-os"></a>

 Un alias pour la commande `\!`. `\OS` exécute la commande du système d’exploitation transmise en tant que paramètre. Le contrôle revient à Amazon Redshift RSQL une fois la commande exécutée. Par exemple, vous pouvez exécuter la commande suivante pour imprimer la date et l’heure du système actuel et revenir au terminal RSQL : `\os date`.

```
(testcluster) user1@dev=# \os date
Tue Sep 7 20:47:54 UTC 2021
```

## \$1GOTO
<a name="rsql-query-tool-flow-control-goto"></a>

 Une nouvelle commande pour Amazon Redshift RSQL. `\GOTO` ignore toutes les commandes intervenantes et reprend le traitement à l’`\LABEL` spécifiée. L’`\LABEL` doit être une référence future. Vous ne pouvez pas accéder à une`\LABEL` qui précède le `\GOTO` d’un point de vue lexical.

Voici un exemple de résultat.

```
(testcluster) user1@dev=# \! cat test.sql
select count(*) as cnt from lineitem \gset
select :cnt as cnt;
\if :cnt > 100
    \goto LABELB
\endif

\label LABELA
\remark 'this is label LABELA'
\label LABELB
\remark 'this is label LABELB'


(testcluster) user1@dev=# \i test.sql
   cnt
---------
 4307207
(1 row)

\label LABELA ignored
\label LABELB processed
this is label LABELB
```

## \$1LABEL
<a name="rsql-query-tool-flow-control-label"></a>

 Une nouvelle commande pour Amazon Redshift RSQL. `\LABEL` établit un point d’entrée pour exécuter le programme, en tant que cible pour une commande `\GOTO`.

L’exemple suivant montre un exemple de résultat de la commande.

```
(testcluster) user1@dev=# \! cat test.sql
select count(*) from lineitem limit 5;
\goto LABELB
\remark "this step was skipped by goto label";
\label LABELA
\remark 'this is label LABELA'
\label LABELB
\remark 'this is label LABELB'



(testcluster) user1@dev=# \i testgoto.sql
  count
 4307193
(1 row)

\label LABELA ignored
\label LABELB processed
this is label LABELB
```

## \$1IF (\$1ELSEIF, \$1ELSE, \$1ENDIF)
<a name="rsql-query-tool-flow-control-if"></a>

 Les commandes `\IF`et associées exécutent conditionnellement des parties du script d’entrée. Une extension de la commande PSQL `\if` (`\elif`, `\else`, `\endif`). `\IF` et `\ELSEIF` prennent en charge les expressions booléennes, dont les conditions `AND`, `OR` et `NOT`. 

L’exemple suivant montre un exemple de résultat des commandes.

```
(testcluster) user1@dev=# \! cat test.sql
SELECT query FROM stv_inflight LIMIT 1 \gset
select :query as query;
\if :query > 1000000
    \remark 'Query id is greater than 1000000'
\elseif :query = 1000000
    \remark 'Query id is equal than 1000000'
\else
    \remark 'Query id is less than 1000000'
\endif


(testcluster) user1@dev=# \i test.sql 
 query
--------
 994803
(1 row)
 
Query id is less than 1000000
```

Utilisez `ERRORCODE` dans votre logique de branchement.

```
\if :'ERRORCODE' = '00000'
    \remark 'The statement was executed without error'
\else
    \remark :LAST_ERROR_MESSAGE
\endif
```

Utilisez`\GOTO` dans un bloc `\IF` pour contrôler la façon dont le code est exécuté.

# Variables Amazon Redshift RSQL
<a name="rsql-query-tool-variables"></a>

 Certains mots-clés agissent comme des variables dans RSQL. Vous pouvez définir chacun une valeur spécifique ou réinitialiser la valeur. La plupart sont réglées avec `\rset`, qui dispose d’un mode interactif et d’un mode de traitement par lots. Les commandes peuvent être définies en minuscules ou en majuscules.

## ACTIVITYCOUNT
<a name="rsql-query-tool-activitycount"></a>

 Indique le nombre de lignes affectées par la dernière demande envoyée. Pour une demande renvoyant des données, il s’agit du nombre de lignes renvoyées vers RSQL à partir de la base de données. La valeur est 0 ou un nombre entier positif. La valeur maximale est 18 446 744 073 709 551 615. 

 La variable spécialement traitée `ACTIVITYCOUNT` est semblable à la variable `ROW_COUNT`. Toutefois, `ROW_COUNT` ne signale pas le nombre de lignes affectées à l’application cliente à la fin de la commande pour `SELECT`, `COPY` ou `UNLOAD`. Mais `ACTIVITYCOUNT` le fait. 

activitycount\$101.sql :

```
select viewname, schemaname
from pg_views
where schemaname = 'not_existing_schema';
\if :ACTIVITYCOUNT = 0
\remark 'views do not exist'
\endif
```

Sortie de la console :

```
viewname | schemaname
----------+------------
(0 rows)

views do not exist
```

## ERRORLEVEL
<a name="rsql-query-tool-describe-rset-errorlevel"></a>

Attribue des niveaux de sévérité aux erreurs. Utilisez les niveaux de sévérité pour déterminer un plan d’action. Si la commande `ERRORLEVEL` n’a pas été utilisée, sa valeur par défaut est `ON`.

errorlevel\$101.sql :

```
\rset errorlevel 42P01 severity 0

select * from tbl;

select 1 as col;

\echo exit
\quit
```

Sortie de la console :

```
Errorlevel is on.
rsql: ERROR: relation "tbl" does not exist
(1 row)

col
1

exit
```

## HEADING et RTITLE
<a name="rsql-query-tool-describe-rset-heading-rtitle"></a>

Permet aux utilisateurs de spécifier un en-tête qui s’affiche dans la partie supérieure d’un rapport. L’en-tête spécifiée par la commande `RSET RTITLE` inclut automatiquement la date système actuelle de l’ordinateur client.

Contenu rset\$1heading\$1rtitle\$102.rsql :

```
\remark Starting...
\rset rtitle "Marketing Department||Confidential//Third Quarter//Chicago"
\rset width 70
\rset rformat on
select * from rsql_test.tbl_currency order by id limit 2;
\exit
\remark Finishing...
```

Sortie de la console :

```
Starting...
Rtitle is set to: &DATE||Marketing Department||Confidential//Third Quarter//Chicago (Changes will take effect after RFORMAT is
switched ON)
Target width is 70.
Rformat is on.
09/11/20       Marketing       Department Confidential
                  Third Quarter
                     Chicago
id  | bankid  | name |      start_date
100 |       1 | USD | 2020-09-11 10:51:39.106905
110 |       1 | EUR | 2020-09-11 10:51:39.106905
(2 rows)

Press any key to continue . . .
```

## MAXERROR
<a name="rsql-query-tool-describe-rset-maxerror"></a>

Désigne un niveau de sévérité d’erreur maximal au-delà duquel RSQL met fin au traitement des tâches. Les codes de retour sont des valeurs entières que RSQL renvoie au système d’exploitation client après avoir terminé chaque tâche. La valeur du code de retour indique l’état d’achèvement de la tâche. Si un script contient une instruction qui produit un niveau de sévérité d’erreur supérieur à la valeur `maxerror` désignée, RSQL s’interrompt immédiatement. Par conséquent, pour que RSQL s’interrompt à un niveau de sévérité d’erreur de 8, utilisez `RSET MAXERROR 7`.

Contenu maxerror\$101.sql :

```
\rset maxerror 0
                        
select 1 as col;

\quit
```

Sortie de la console :

```
Maxerror is default.
(1 row)

col
1
```

## RFORMAT
<a name="rsql-query-tool-describe-rset-heading-rformat"></a>

Permet aux utilisateurs de spécifier s’il faut appliquer des paramètres aux commandes de formatage.

Contenu rset\$1rformat.rsql :

```
\remark Starting...
\pset border 2
\pset format wrapped
\pset expanded on
\pset title 'Great Title'
select * from rsql_test.tbl_long where id = 500;
\rset rformat
select * from rsql_test.tbl_long where id = 500;
\rset rformat off
select * from rsql_test.tbl_long where id = 500;
\rset rformat on
select * from rsql_test.tbl_long where id = 500;
\exit
\remark Finishing...
```

Sortie de la console :

```
Starting...
Border style is 2. (Changes will take effect after RFORMAT is switched ON)
Output format is wrapped. (Changes will take effect after RFORMAT is switched ON)
Expanded display is on. (Changes will take effect after RFORMAT is switched ON)
Title is "Great Title". (Changes will take effect after RFORMAT is switched ON)
id  |                                                             long_string
500 | In general, the higher the number the more borders and lines the tables will have, but details depend on the particular
format.
(1 row)

Rformat is on.
Great Title
+-[ RECORD 1 ]+----------------------------------------------------------------------------------------------------------------------
-----------+
| id           | 500
|
| long_string | In general, the higher the number the more borders and lines the tables will have, but details depend on the
particular format. |
+-------------+----------------------------------------------------------------------------------------------------------------------
-----------+

Rformat is off.
id  |                                                             long_string
500 | In general, the higher the number the more borders and lines the tables will have, but details depend on the particular format.
(1 row)

Rformat is on.
Great Title
+-[ RECORD 1 ]+----------------------------------------------------------------------------------------------------------------------
-----------+
| id           | 500
|
| long_string | In general, the higher the number the more borders and lines the tables will have, but details depend on the
particular format. |
+-------------+----------------------------------------------------------------------------------------------------------------------
-----------+
Press any key to continue . . .
```

## ROW\$1COUNT
<a name="rsql-query-tool-describe-rset-row_count"></a>

Obtient le nombre d’enregistrements affectés par la requête précédente. Il est généralement utilisé pour vérifier un résultat, comme dans le fragment de code suivant :

```
SET result = ROW_COUNT;

IF result = 0
...
```

## TITLEDASHES
<a name="rsql-query-tool-describe-rset-heading-titledashes"></a>

Ce contrôle permet aux utilisateurs de spécifier si une ligne de caractères de tiret doit être imprimée au-dessus des données de colonne renvoyées pour les instructions SQL.

Exemple :

```
\rset titledashes on
select dept_no, emp_no, salary from rsql_test.EMPLOYEE
where dept_no = 100;
\rset titledashes off
select dept_no, emp_no, salary from rsql_test.EMPLOYEE
where dept_no = 100;
```

Sortie de la console :

```
dept_no      emp_no          salary
----------- ----------- --------------------
100         1000346        1300.00
100         1000245        5000.00
100         1000262        2450.00

dept_no     emp_no         salary
100         1000346        1300.00
100         1000245        5000.00
100         1000262        2450.00
```

## WIDTH
<a name="rsql-query-tool-describe-rset-heading-width"></a>

Définit le format de sortie sur encapsulé et spécifie la largeur cible de chaque ligne d’un rapport. Sans paramètre, il renvoie les paramètres actuels pour le format et la largeur cible.

Contenu rset\$1width\$101.rsql :

```
\echo Starting...
\rset width
\rset width 50
\rset width
\quit
\echo Finishing...
```

Sortie de la console :

```
Starting...
Target width is 75.
Target width is 50.
Target width is 50.
Press any key to continue . . .
```

Exemple avec paramètre :

```
\echo Starting...
\rset rformat on
\pset format wrapped
select * from rsql_test.tbl_long where id = 500;
\rset width 50
select * from rsql_test.tbl_long where id = 500;
\quit
\echo Finishing...
```

Sortie de la console :

```
Starting...
Rformat is on.
Output format is wrapped.
id  |                                          long_string
500 | In general, the higher the number the more borders and lines the ta.
    |.bles will have, but details depend on the particular format.
(1 row)

Target width is 50.
id  |                                          long_string
500 | In general, the higher the number the more.
    |. borders and lines the tables will have, b.
    |.ut details depend on the particular format.
    |..
(1 row)
Press any key to continue . . .
```

# Codes d’erreur Amazon Redshift RSQL
<a name="rsql-query-tool-error-codes"></a>

Messages de réussite, avertissements et exceptions :

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/redshift/latest/mgmt/rsql-query-tool-error-codes.html)

Exceptions de données :

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/redshift/latest/mgmt/rsql-query-tool-error-codes.html)

Violations des contraintes d’intégrité :

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/redshift/latest/mgmt/rsql-query-tool-error-codes.html)

# Variables d’environnement Amazon Redshift RSQL
<a name="rsql-query-tool-environment-variables"></a>

 Amazon Redshift RSQL peut utiliser des variables d’environnement pour sélectionner des valeurs de paramètres par défaut. 

## RSPASSWORD
<a name="rsql-query-tool-rspassword"></a>

**Important**  
Nous ne recommandons pas d’utiliser cette variable d’environnement pour des raisons de sécurité, car certains systèmes d’exploitation permettent aux utilisateurs non administratifs de visualiser les variables d’environnement des processus.

 Définit le mot de passe pour Amazon Redshift RSQL à utiliser lors de la connexion à Amazon Redshift. Cette variable d’environnement nécessite Amazon Redshift RSQL 1.0.4 et version ultérieure. 

 RSQL donne la priorité à RSPASSWORD si celui-ci est défini. Si RSPASSWORD n’est pas défini et que vous vous connectez à l’aide d’un DSN, RSQL récupère le mot de passe dans les paramètres du fichier DSN. Enfin, si RSPASSWORD n’est pas défini et que vous n’utilisez pas de DSN, RSQL fournit une invite de mot de passe après une tentative de connexion. 

Voici un exemple de définition d’un RSPASSWORD :

```
export RSPASSWORD=TestPassw0rd
```

# Utilisation d’un profil d’authentification pour se connecter à Amazon Redshift
<a name="connecting-with-authentication-profiles"></a>

Si vous avez de nombreuses connexions à Amazon Redshift, il peut être difficile de gérer les paramètres de toutes ces connexions. Souvent, chaque connexion JDBC ou ODBC utilise des options de configuration spécifiques. En utilisant un profil d’authentification, vous pouvez stocker les options de connexion ensemble. De cette façon, vos utilisateurs peuvent choisir un profil pour se connecter et éviter de gérer les paramètres pour des options individuelles. Les profils peuvent s’appliquer à divers scénarios et types d’utilisateurs.

Après avoir créé un profil d'authentification, les utilisateurs peuvent l' ready-to-useajouter à une chaîne de connexion. Ce faisant, ils peuvent se connecter à Amazon Redshift avec les paramètres appropriés pour chaque rôle et chaque cas d’utilisation.

Pour obtenir des informations sur l'API Amazon Redshift, consultez. [CreateAuthenticationProfile](https://docs.aws.amazon.com/redshift/latest/APIReference/redshift-api.pdf#API_CreateAuthenticationProfile) 

# Création d’un profil d’authentification
<a name="connecting-with-authentication-profiles-creating"></a>

À l'aide de AWS CLI, vous créez un profil d'authentification à l'aide de la `create-authentication-profile` commande. Cela suppose que vous disposez d’un cluster Amazon Redshift existant et d’une base de données existante. Vos informations d’identification doivent être autorisées à se connecter à la base de données Amazon Redshift et à récupérer le profil d’authentification. Vous fournissez les options de configuration sous forme de chaîne JSON ou référencez un fichier contenant votre chaîne JSON. 

```
create-authentication-profile --authentication-profile-name<value: String> --authentication-profile-content<value: String>
```

 L’exemple suivant crée un profil appelé `ExampleProfileName`. Vous pouvez y ajouter des clés et des valeurs qui définissent le nom de votre cluster et d’autres paramètres d’options, sous forme de chaîne JSON. 

```
create-authentication-profile --authentication-profile-name "ExampleProfileName" --authentication-profile-content "{\"AllowDBUserOverride\":\"1\",\"Client_ID\":\"ExampleClientID\",\"App_ID\":\"ExampleAppID\",\"AutoCreate\":false,\"enableFetchRingBuffer\":true,\"databaseMetadataCurrentDbOnly\":true}"
}
```

 Cette commande crée le profil avec les paramètres JSON spécifiés. Ce qui suit est renvoyé, ce qui indique que le profil a été créé. 

 `{"AuthenticationProfileName": "ExampleProfileName", "AuthenticationProfileContent": "{\"AllowDBUserOverride\":\"1\",\"Client_ID\":\"ExampleClientID\",\"App_ID\":\"ExampleAppID\",\"AutoCreate\":false,\"enableFetchRingBuffer\":true,\"databaseMetadataCurrentDbOnly\":true}" } ` 

## Limitations et quotas pour la création d’un profil d’authentification
<a name="connecting-with-authentication-profiles-limitations"></a>

Chaque client dispose d’un quota de dix (10) profils d’authentification.

Certaines erreurs peuvent survenir avec les profils d’authentification. Par exemple, vous créez un profil avec un nom existant ou si vous dépassez le quota de votre profil. Pour de plus amples informations, veuillez consulter [CreateAuthenticationProfile](https://docs.aws.amazon.com/redshift/latest/APIReference/redshift-api.pdf#API_CreateAuthenticationProfile). 

Vous ne pouvez pas stocker certaines clés d’option et valeurs pour les chaînes de connexion JDBC, ODBC et Python dans le magasin de profils d’authentification : 
+ `AccessKeyID`
+ `access_key_id`
+ `SecretAccessKey`
+ `secret_access_key_id`
+ `PWD`
+ `Password`
+ `password`

Vous ne pouvez pas stocker la clé ou la valeur `AuthProfile` dans le magasin de profils, pour les chaînes de connexion JDBC ou ODBC. Pour les connexions Python, vous ne pouvez pas stocker `auth_profile`. 

Les profils d'authentification sont stockés dans Amazon DynamoDB et gérés par. AWS

# Connexion à l’aide d’un profil d’authentification
<a name="connecting-with-authentication-profiles-using"></a>

Une fois que vous avez créé un profil d’authentification, vous pouvez inclure le nom du profil comme option de connexion pour JDBC version 2.0 `AuthProfile`. L’utilisation de cette option de connexion permet d’extraire les paramètres stockés.

```
jdbc:redshift:iam://endpoint:port/database?AuthProfile=<Profile-Name>&AccessKeyID=<Caller-Access-Key>&SecretAccessKey=<Caller-Secret-Key>
```

Voici un exemple de chaîne d’URL JDBC.

```
jdbc:redshift:iam://examplecluster:us-west-2/dev?AuthProfile="ExampleProfile"&AccessKeyID="AKIAIOSFODNN7EXAMPLE"&SecretAccessKey="wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY"
```

Spécifiez `AccessKeyID` et `SecretAccessKey` dans l’URL JDBC, ainsi que le nom du profil d’authentification.

Vous pouvez également séparer les options de configuration par des délimiteurs points-virgules, comme dans l’exemple suivant, qui contient des options de journalisation.

```
jdbc:redshift:iam://my_redshift_end_point:5439/dev?LogLevel=6;LogPath=/tmp;AuthProfile=my_profile;AccessKeyID="AKIAIOSFODNN7EXAMPLE";SecretAccessKey="wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY"
```

**Note**  
 N’ajoutez pas d’informations confidentielles au profil d’authentification. Par exemple, ne stockez pas de valeur `AccessKeyID` ou `SecretAccessKey` dans un profil d’authentification. Le magasin de profils d’authentification comporte des règles interdisant le stockage de clés secrètes. Une erreur s’affiche si vous tentez de stocker une clé et une valeur associées à des informations sensibles. 

# Obtention de profils d’authentification
<a name="connecting-with-authentication-profiles-getting"></a>

Pour répertorier les profils d’authentification existants, appelez la commande suivante.

```
describe-authentication-profiles --authentication-profile-name <value: String>
```

L’exemple suivant illustre deux profils récupérés. Tous les profils sont renvoyés si vous ne spécifiez pas de nom de profil.

`{ "AuthenticationProfiles": [ { "AuthenticationProfileName": "testProfile1", "AuthenticationProfileContent": "{\"AllowDBUserOverride\":\"1\",\"Client_ID\":\"ExampleClientID\",\"App_ID\":\"ExampleAppID\",\"AutoCreate\":false,\"enableFetchRingBuffer\":true,\"databaseMetadataCurrentDbOnly\":true}" }, { "AuthenticationProfileName": "testProfile2", "AuthenticationProfileContent": "{\"AllowDBUserOverride\":\"1\",\"Client_ID\":\"ExampleClientID\",\"App_ID\":\"ExampleAppID\",\"AutoCreate\":false,\"enableFetchRingBuffer\":true,\"databaseMetadataCurrentDbOnly\":true}" } ] } `

# Résolution des problèmes de connexion dans Amazon Redshift
<a name="troubleshooting-connections"></a>

 Si vous rencontrez des problèmes de connexion à votre cluster avec un outil client SQL, vérifiez plusieurs éléments pour cerner le problème. Si vous utilisez des certificats SSL ou serveur, commencez par supprimer cette complexité pendant que vous résolvez le problème de connexion. Ensuite, rajoutez-la lorsque vous avez trouvé une solution. Pour plus d’informations, consultez [Configuration des options de sécurité des connexions](connecting-ssl-support.md). 

Pour plus d’informations sur les changements de comportement dans les fonctionnalités Amazon Redshift susceptibles d’affecter votre application, consultez [Changements de comportement dans Amazon Redshift](behavior-changes.md).

**Important**  
Amazon Redshift a changé la méthode de gestion des certificats SSL. Si vous avez des difficultés à vous connecter avec SSL, il se peut que vous ayez besoin de mettre à jour vos certificats actuels d’autorité de certification racine. Pour plus d'informations, consultez [Transition vers les certificats ACM pour les connexions SSL](connecting-transitioning-to-acm-certs.md).

 La section suivante présente des exemples de messages d’erreur et des solutions possibles aux problèmes de connexion. Etant donné que différents outils clients SQL fournissent différents messages d’erreur, cette liste n’est pas exhaustive, mais constitue un bon point de départ pour la résolution des problèmes. 

## Connexion depuis l’extérieur d’Amazon EC2 et survenue d’un problème de dépassement de délai du pare-feu
<a name="connecting-firewall-guidance"></a>



 La connexion de votre client à la base de données semble se bloquer ou arriver à expiration lorsque vous exécutez de longues requêtes, par exemple une commande COPY. Dans ce cas, vous pouvez constater que la console Amazon Redshift affiche que la requête est terminée, mais que l’outil client lui-même semble toujours exécuter la requête. Les résultats de la requête peuvent être manquants ou incomplets en fonction selon le moment où la connexion s’est arrêtée. 

### Solutions possibles
<a name="connecting-firewall-guidance.Solutions"></a>

Ce problème se produit lorsque vous vous connectez à Amazon Redshift depuis une machine autre qu’une instance Amazon EC2. Dans ce cas, les connexions inactives sont résiliées par un composant réseau intermédiaire, tel qu’un pare-feu, après une période d’inactivité. Ce comportement est typique lorsque vous vous connectez à partir d’un réseau VPN ou de votre réseau local. 

Pour éviter ces délais d’attente, nous vous recommandons d’apporter les modifications suivantes :
+ Augmentez les valeurs du système client qui traitent des TCP/IP délais d'attente. Apportez ces modifications sur l’ordinateur que vous utilisez pour vous connecter à votre cluster. Le délai d’expiration doit être réglé pour votre client et le réseau. Pour plus d'informations, consultez [Modifier les paramètres TCP/IP du délai d'expiration](#connecting-firewall-guidance.change-tcpip-settings).
+ Le cas échéant, définissez le comportement keepalive au niveau de la DSN. Pour de plus amples informations, veuillez consulter [Modification des paramètres d’expiration de la DSN](#connecting-firewall-guidance.change-dsn-settings).

### Modifier les paramètres TCP/IP du délai d'expiration
<a name="connecting-firewall-guidance.change-tcpip-settings"></a>

Pour modifier TCP/IP les paramètres de délai d'expiration, configurez-les en fonction du système d'exploitation que vous utilisez pour vous connecter à votre cluster. 
+ Linux — Si votre client fonctionne sous Linux, exécutez la commande suivante en tant qu’utilisateur root pour modifier les paramètres de délai d’attente pour la séance en cours : 

  ```
  /sbin/sysctl -w net.ipv4.tcp_keepalive_time=200 net.ipv4.tcp_keepalive_intvl=200 net.ipv4.tcp_keepalive_probes=5
  ```

  Pour conserver les paramètres, créez ou modifiez le fichier `/etc/sysctl.conf` avec les valeurs suivantes, puis redémarrez votre système. 

  ```
  net.ipv4.tcp_keepalive_time=200
  net.ipv4.tcp_keepalive_intvl=200
  net.ipv4.tcp_keepalive_probes=5
  ```
+ Windows — Si votre client fonctionne sous Windows, modifiez les valeurs des paramètres de registre suivants sous HKEY\$1LOCAL\$1MACHINE \$1 SYSTEM \$1 \$1 Services \$1 Tcpip CurrentControlSet \$1 Parameters \$1 : 
  + KeepAliveTime: 30 000
  + KeepAliveInterval: 1000
  + TcpMaxDataRetransmissions : 10

  Ces paramètres utilisent le type de données DWORD. S’ils n’existent pas sous le chemin d’accès au registre, vous pouvez créer les paramètres et spécifiez ces valeurs recommandées. Pour plus d’informations sur la modification du registre Windows, reportez-vous à la documentation Windows. 

  Une fois ces valeurs définies, redémarrez votre ordinateur pour que les modifications prennent effet. 

 
+ Mac — Si votre client fonctionne sur un Mac, exécutez les commandes suivantes pour modifier les paramètres de délai d’attente pour la séance en cours : 

  ```
  sudo sysctl net.inet.tcp.keepintvl=200000
  sudo sysctl net.inet.tcp.keepidle=200000
  sudo sysctl net.inet.tcp.keepinit=200000
  sudo sysctl net.inet.tcp.always_keepalive=1
  ```

  Pour conserver les paramètres, créez ou modifiez le fichier `/etc/sysctl.conf` avec les valeurs suivantes : 

  ```
  net.inet.tcp.keepidle=200000
  net.inet.tcp.keepintvl=200000
  net.inet.tcp.keepinit=200000
  net.inet.tcp.always_keepalive=1
  ```

  Redémarrez votre ordinateur, puis exécutez les commandes suivantes pour vérifier que les valeurs sont définies. 

  ```
  sysctl net.inet.tcp.keepidle
  sysctl net.inet.tcp.keepintvl
  sysctl net.inet.tcp.keepinit
  sysctl net.inet.tcp.always_keepalive
  ```

### Modification des paramètres d’expiration de la DSN
<a name="connecting-firewall-guidance.change-dsn-settings"></a>

Vous pouvez définir un comportement keepalive au niveau de la DSN si vous le souhaitez. Pour cela, vous ajoutez ou vous modifiez les paramètres suivants dans le fichier odbc.ini : 

**KeepAlivesCount**  
Nombre de paquets TCP keepalive qui peuvent être perdus avant que la connexion soit considérée comme interrompue.

**KeepAlivesIdle**  
Nombre de secondes d’inactivité avant que le pilote envoie un paquet TCP keepalive.

**KeepAlivesInterval**  
Nombre de secondes entre chaque retransmission de paquet TCP keepalive.

Si ces paramètres n'existent pas ou s'ils ont une valeur de 0, le système utilise les paramètres keepalive spécifiés TCP/IP pour déterminer le comportement du DSN keepalive. Sous Windows, vous pouvez trouver les TCP/IP paramètres dans le registre dans`HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\`. Sur Linux et macOS, les TCP/IP paramètres se trouvent dans le fichier sysctl.conf. 

## La connexion est refusée ou échoue
<a name="connecting-refusal-failure-issues"></a>

Lorsque votre connexion est refusée ou échoue, vous pouvez recevoir une erreur similaire à l’une des suivantes.
+ « Impossible d'établir une connexion avec*<endpoint>*. »
+ « Impossible de se connecter au serveur : la connexion a expiré. Le serveur fonctionne-t-il sur l'hôte *'<endpoint>'* et accepte-t-il les connexions TCP/IP sur le port ? » *'<port>'*
+ « Connexion refusée. Vérifiez que le nom d'hôte et le port sont corrects et que le maître de poste accepte les TCP/IP connexions. »

### Solutions possibles
<a name="connecting-refusal-failure-issues.Solutions"></a>

En général, lorsque vous recevez un message d’erreur indiquant qu’il est impossible d’établir une connexion, cela signifie qu’il y a un problème d’autorisation d’accès au cluster ou que le trafic réseau ne peut pas atteindre le cluster. 

Pour vous connecter au cluster depuis un outil client en dehors du réseau sur lequel se trouve le cluster, ajoutez une règle d’entrée au groupe de sécurité du cluster. La configuration de la règle dépend de la création du cluster Amazon Redshift dans un cloud privé virtuel (VPC) :
+ Si vous avez créé le cluster Amazon Redshift dans un cloud privé virtuel (VPC) basé sur Amazon VPC, ajoutez une règle entrante au groupe de sécurité VPC qui spécifie l'adresse du client, dans Amazon VPC. CIDR/IP Pour plus d’informations sur la configuration des groupes de sécurité du VPC pour votre cluster et les options publiquement accessibles, consultez [Ressources Redshift dans un VPC](managing-clusters-vpc.md).
+  Si vous avez créé votre cluster Amazon Redshift en dehors d'un VPC, ajoutez votre CIDR/IP adresse client au groupe de sécurité du cluster dans Amazon Redshift. Pour plus d’informations sur la configuration des groupes de sécurité de cluster, consultez [Groupes de sécurité Amazon Redshift](security-network-isolation.md#working-with-security-groups).

Si vous tentez de vous connecter au cluster à partir d’un outil client qui s’exécute sur une instance Amazon EC2, vous ajoutez également une règle d’entrée. Dans ce cas, ajoutez une règle au groupe de sécurité du cluster. La règle doit spécifier le groupe de sécurité Amazon EC2 associé à l’instance Amazon EC2 de l’outil client.

 Dans certains cas, vous pouvez avoir une couche entre votre client et le serveur, telle qu’un pare-feu. Dans ce cas, assurez-vous que le pare-feu accepte les connexions entrantes via le port que vous avez configuré pour votre cluster. 

## Le client et le pilote sont incompatibles
<a name="connecting-architecture-mismatch"></a>

 Si votre client et votre pilote sont incompatibles, vous pouvez recevoir un message d’erreur indiquant : « The specified DSN contains an architecture mismatch between the Driver and Application ». 

### Solutions possibles
<a name="connecting-architecture-mismatch.Solutions"></a>

 Lorsque vous tentez de vous connecter et que vous obtenez une erreur concernant une incompatibilité d’architecture, cela signifie que l’outil client et le pilote ne sont pas compatibles. Cela se produit parce que leur architecture système ne correspond pas. Par exemple, cela peut se produire si vous avez un outil client 32 bits, alors que vous avez installé la version 64 bits du pilote. Les outils clients 64 bits utilisent parfois des pilotes 32 bits, mais vous ne pouvez pas utiliser d’applications 32 bits avec des pilotes 64 bits. Assurez-vous que le pilote et l’outil client utilisent la même version d’architecture système. 

## Des requêtes semblent se bloquer et parfois échouent à atteindre le cluster
<a name="connecting-drop-issues"></a>

Vous rencontrez un problème pour terminer des requêtes, notamment que les requêtes semblent être en cours d’exécution, mais se bloquent dans l’outil client SQL. Parfois, les requêtes n’apparaissent pas dans le cluster, par exemple dans les tables système ou dans la console Amazon Redshift. 

### Solutions possibles
<a name="connecting-drop-issues.Solutions"></a>

 Ce problème peut se produire en raison de la perte de paquets. Dans ce cas, il existe une différence dans la taille maximale de l’unité de transmission (MTU) dans le chemin réseau entre deux hôtes IP (Internet Protocol). La taille de la MTU détermine la taille maximale, en octets, d’un paquet pouvant être transféré dans une trame Ethernet sur une connexion réseau. Dans AWS, certains types d'instances Amazon EC2 prennent en charge une MTU de 1500 (trames Ethernet v2) tandis que d'autres types d'instances prennent en charge une MTU de 9001 (trames jumbo TCP/IP). 

 Pour éviter que des problèmes se produisent en raison de différences de taille de la MTU, nous vous recommandons procéder comme suit : 
+ Si votre cluster utilise la plateforme EC2-VPC, configurez le groupe de sécurité Amazon VPC avec une règle ICMP (Internet Control Message Protocol) personnalisée entrante qui renvoie `Destination Unreachable`. Cette règle indique que l’hôte d’origine utilise la taille de MTU la plus petite sur chemin d’accès réseau. Pour plus d’informations sur cette approche, consultez [Configuration des groupes de sécurité pour autoriser le message ICMP « Destination inaccessible »](#configure-custom-icmp). 
+ Si votre cluster utilise la plate-forme EC2-Classic ou si vous ne pouvez pas autoriser la règle entrante ICMP, désactivez les trames TCP/IP jumbo afin que les trames Ethernet v2 soient utilisées. Pour plus d’informations sur cette approche, consultez [Configuration de la MTU d’une instance](#set-mtu).

### Configuration des groupes de sécurité pour autoriser le message ICMP « Destination inaccessible »
<a name="configure-custom-icmp"></a>

 En cas de différence de taille de la MTU sur le réseau entre deux hôtes, vérifiez d’abord que vos paramètres réseau n’empêchent pas la détection de la MTU du chemin (PMTUD, path MTU discovery). La PMTUD permet à l’hôte de réception de répondre à l’hôte d’origine avec le message suivant ICMP suivant : `Destination Unreachable: fragmentation needed and DF set (ICMP Type 3, Code 4)`. Ce message indique que l’hôte d’origine utilise la taille de MTU la plus petite sur chemin d’accès réseau pour renvoyer la demande. Sans cette négociation, un rejet de paquet peut se produire, car la demande est trop volumineuse pour l’hôte de réception. Pour plus d'informations sur ce message ICMP, rendez-vous [RFC792](http://tools.ietf.org/html/rfc792)sur le site Web de l'*Internet Engineering Task Force (IETF*). 

 Si vous ne configurez pas explicitement cette règle ICMP entrante pour votre groupe de sécurité Amazon VPC, PMTUD est bloqué. Dans AWS, les groupes de sécurité sont des pare-feux virtuels qui spécifient des règles pour le trafic entrant et sortant vers une instance. Pour plus d’informations sur le groupe de sécurité de cluster Amazon Redshift, consultez [Groupes de sécurité Amazon Redshift](security-network-isolation.md#working-with-security-groups). Pour les clusters utilisant la plateforme EC2-VPC, Amazon Redshift utilise les groupes de sécurité VPC pour autoriser ou refuser le trafic vers le cluster. Par défaut, les groupes de sécurité sont verrouillés et refusent tout trafic entrant. Pour plus d’informations sur la définition des règles d’entrée et de sortie pour les instances EC2-Classic ou EC2-VPC, consultez [Différences entre les instances EC2-Classic et VPC](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-classic-platform.html#ec2_classic_platform) du *Guide de l’utilisateur Amazon EC2*.

 Pour plus d’informations sur la procédure pour ajouter des règles aux groupes de sécurité VPC, consultez [Groupes de sécurité VPC](managing-vpc-security-groups.md). Pour plus d’informations sur les paramètres PMTUD spécifiques requis dans cette règle, consultez [Détection de la MTU du chemin](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/network_mtu.html#path_mtu_discovery) dans le *Guide de l’utilisateur Amazon EC2*. 

### Configuration de la MTU d’une instance
<a name="set-mtu"></a>

Dans certains cas, votre cluster peut utiliser la plate-forme EC2-Classic ou vous ne pouvez pas autoriser la règle ICMP personnalisée pour le trafic entrant. Dans ces cas, nous vous recommandons d’ajuster le MTU à 1500 sur l’interface réseau (NIC) des instances EC2 à partir desquelles vous vous connectez à votre cluster Amazon Redshift. Ce réglage désactive les trames TCP/IP jumbo pour garantir que les connexions utilisent toujours la même taille de paquet. Toutefois, cette option réduit le débit maximal du réseau pour l’instance dans son ensemble, et pas seulement pour les connexions à Amazon Redshift. Pour plus d’informations, consultez les procédures suivantes. <a name="set-mtu-win-os"></a>

**Pour définir la MTU sur un système d’exploitation Microsoft Windows**

Si votre client s’exécute sur un système d’exploitation Microsoft Windows, vous pouvez vérifier et définir la valeur de la MTU pour la carte Ethernet à l’aide de la commande `netsh`. 

1. Exécutez la commande suivante afin de déterminer la valeur actuelle de la MTU : 

   ```
   netsh interface ipv4 show subinterfaces
   ```

1.  Vérifiez la valeur de la `MTU` pour la carte `Ethernet` dans la sortie. 

1. Si la valeur n’est pas `1500`, exécutez la commande suivante pour la définir : 

   ```
   netsh interface ipv4 set subinterface "Ethernet" mtu=1500 store=persistent
   ```

   Une fois cette valeur définie, redémarrez votre ordinateur pour que les modifications prennent effet.<a name="set-mtu-linux-os"></a>

**Pour définir la MTU sur un système d’exploitation Linux**

 Si le client s’exécute sur un système d’exploitation Linux, vous pouvez vérifier et définir la valeur de la MTU à l’aide de la commande `ip`. 

1. Exécutez la commande suivante afin de déterminer la valeur actuelle de la MTU : 

   ```
   $ ip link show eth0
   ```

1. Vérifiez la valeur suivant `mtu` dans la sortie. 

1. Si la valeur n’est pas `1500`, exécutez la commande suivante pour la définir : 

   ```
   $ sudo ip link set dev eth0 mtu 1500
   ```<a name="set-mtu-mac-os"></a>

**Pour définir la MTU sur un système d’exploitation Mac**
+ Suivez les instructions du site d'assistance de macOS à propos de`How to change the MTU for troubleshooting purposes`. Pour plus d’informations, consultez le [site du support.](https://support.apple.com) 

## Définition du paramètre de taille d’extraction JDBC
<a name="jdbc_fetch_size"></a>

Par défaut, le pilote Redshift JDBC utilise une mémoire tampon en anneau pour gérer efficacement la mémoire et éviter les erreurs. out-of-memory Le paramètre fetch size n'est applicable que lorsque le ring buffer est explicitement désactivé. Pour plus d'informations, consultez le [lien](https://docs.aws.amazon.com/redshift/latest/mgmt/jdbc20-configuration-options.html#jdbc20-enablefetchringbuffer-option). Dans cette configuration, vous devez définir la taille d'extraction pour contrôler le nombre de lignes extraites dans chaque lot.

Utilisez le paramètre fetch size lorsque :
+ Vous avez besoin d'un contrôle précis sur le traitement par lots par lignes
+ Utilisation d'applications existantes qui nécessitent un comportement de taille d'extraction traditionnel

Lorsque la mémoire tampon en anneau est désactivée, le pilote JDBC collecte tous les résultats d'une requête en une seule fois par défaut. Les requêtes qui renvoient de grands ensembles de résultats peuvent consommer trop de mémoire. Pour récupérer les ensembles de résultats par lots au lieu de les récupérer tous en une seule fois, définissez le paramètre JDBC fetch size dans votre application.

**Note**  
La taille de l’extraction n’est pas prise en charge pour ODBC.

Pour obtenir les meilleures performances, définissez la taille de l’extraction sur la valeur la plus élevée qui n’entraîne pas d’erreurs de mémoire. Une valeur d’extraction de taille inférieure entraîne plusieurs opérations du serveur, ce qui prolonge les temps d’exécution. Le serveur réserve des ressources, y compris l’emplacement de requête WLM et la mémoire associée, jusqu’à ce que le client récupère le jeu de résultats complet ou que la requête soit annulée. Lorsque vous ajustez la taille d’extraction de façon appropriée, ces ressources sont libérées plus rapidement, ce qui les rend disponibles pour d’autres requêtes.

**Note**  
Si vous devez extraire de grands jeux de données, nous vous recommandons d’utiliser une instruction [UNLOAD](https://docs.aws.amazon.com/redshift/latest/dg/r_UNLOAD.html) pour transférer les données vers Amazon S3. Lorsque vous utilisez UNLOAD, les nœuds de calcul fonctionnent en parallèle afin d’accélérer le transfert des données.

Pour plus d’informations sur la définition du paramètre de taille d’extraction JDBC, consultez [Obtention de résultats basés sur un curseur](https://jdbc.postgresql.org/documentation/query/#getting-results-based-on-a-cursor) dans la documentation de PostgreSQL.

# Utilisation de l’API de données Amazon Redshift
<a name="data-api"></a>

L’API de données Amazon Redshift simplifie l’accès à votre entrepôt de données Amazon Redshift en éliminant le besoin de gérer les pilotes de base de données, les connexions, les configurations réseau, la mise en mémoire tampon des données, les informations d’identification, etc. Vous pouvez exécuter des instructions SQL à l'aide des opérations de l'API de données avec le AWS SDK. Pour plus d’informations sur les fonctions de l’API de données, consultez la [Référence de l’API de données Amazon Redshift](https://docs.aws.amazon.com/redshift-data/latest/APIReference/).

L’API de données ne nécessite pas de connexion permanente à votre base de données. Au lieu de cela, il fournit un point de terminaison HTTP sécurisé et une intégration avec AWS SDKs. Vous pouvez utiliser le point de terminaison pour exécuter des instructions SQL sans avoir à gérer de connexions. Les appels à l’API de données sont asynchrones. L'API de données peut utiliser des informations d'identification stockées dans AWS Secrets Manager ou des informations d'identification temporaires dans la base de données. Il n’est pas nécessaire de transmettre des mots de passe dans les appels d’API avec l’une ou l’autre méthode d’autorisation. Pour plus d'informations AWS Secrets Manager, voir [Qu'est-ce que c'est AWS Secrets Manager ?](https://docs.aws.amazon.com/secretsmanager/latest/userguide/intro.html) dans le *guide de AWS Secrets Manager l'utilisateur*. Vous pouvez également utiliser AWS IAM Identity Center pour obtenir une autorisation.

Avec l'API Data, vous pouvez accéder par programmation aux données Amazon Redshift à l'aide d'applications basées sur des services Web AWS Lambda, notamment les blocs-notes Amazon SageMaker AI et. AWS Cloud9 Pour plus d'informations sur ces applications [AWS Lambda](https://aws.amazon.com/lambda/), consultez [Amazon SageMaker AI](https://aws.amazon.com/sagemaker/) et [AWS Cloud9](https://aws.amazon.com/cloud9/). 

Pour en savoir plus sur l’API de données, consultez [Mise en route avec l’API de données Amazon Redshift](https://aws.amazon.com/blogs/big-data/get-started-with-the-amazon-redshift-data-api/) sur le le blog *AWS Big Data*.

## Utilisation de l’API de données Amazon Redshift
<a name="data-api-workflow"></a>

Avant d’utiliser l’API de données Amazon Redshift, passez en revue les étapes suivantes : 

1. Déterminez si vous, en tant qu’appelant de l’API de données, disposez des autorisations requises. Pour de plus amples informations concernant l’autorisation, consultez [Autorisation de l’accès à l’API de données Amazon Redshift](data-api-access.md).

1. Déterminez si vous prévoyez d’appeler l’API de données avec les informations d’identification d’authentification de Secrets Manager, avec des informations d’identification temporaires ou avec AWS IAM Identity Center. Pour de plus amples informations, veuillez consulter [Choix des informations d’authentification de la base de données lors de l’appel de l’API de données Amazon Redshift.](#data-api-calling-considerations-authentication).

1. Configurez un secret si vous utilisez Secrets Manager pour les informations d’identification d’authentification. Pour plus d’informations, consultez [Stockage des identifiants de base de données dans AWS Secrets Manager](data-api-secrets.md).

1. Passez en revue les considérations et les limitations lors de l’appel de l’API de données. Pour de plus amples informations, veuillez consulter [Considérations relatives à l’appel à l’API de données Amazon Redshift](#data-api-calling-considerations).

1. Appelez l'API Data depuis AWS Command Line Interface (AWS CLI), depuis votre propre code ou à l'aide de l'éditeur de requêtes de la console Amazon Redshift. Pour obtenir des exemples d’appel depuis AWS CLI, consultez [Appel à l’API de données](data-api-calling.md).

## Considérations relatives à l’appel à l’API de données Amazon Redshift
<a name="data-api-calling-considerations"></a>

Tenez compte des éléments suivants lorsque vous appelez l’API de données :
+ L’API de données Amazon Redshift peut accéder aux bases de données dans les clusters Amazon Redshift provisionnés et les groupes de travail Redshift sans serveur. Pour obtenir la liste des Régions AWS endroits où l'API Redshift Data est disponible, consultez les points de terminaison répertoriés pour l'API [Redshift](https://docs.aws.amazon.com/general/latest/gr/redshift-service.html) Data dans le. *Référence générale d'Amazon Web Services* 
+ La durée maximale d’une requête est de 24 heures. 
+ Le nombre maximum de requêtes (`STARTED`et `SUBMITTED` requêtes) actives par cluster Amazon Redshift est de 500. 
+ La taille maximale du résultat de requête est de 500 Mo (après compression gzip). Si un appel renvoie plus de 500 Mo de données de réponse, l'appel est terminé. 
+ La durée maximale de conservation des résultats de la requête est de 24 heures. 
+ La taille maximale de l’instruction de requête est de 100 Ko. 
+ L’API de données est à même de lancer des requêtes sur des clusters à un ou plusieurs nœuds des types de nœuds suivants :
  + dc2.large
  + dc2.8xlarge
  + ra3.large
  + ra3.xlplus
  + ra3.4xlarge
  + ra3.16xlarge
+ Le clusters doit être dans un cloud privé virtuel (VPC) basé sur le service Amazon VPC. 
+ Par défaut, les utilisateurs ayant le même rôle IAM que l’exécutant d’une fonction API `ExecuteStatement` ou `BatchExecuteStatement` peuvent agir sur la même déclaration avec des fonctions API `CancelStatement`, `DescribeStatement`, `GetStatementResult`, `GetStatementResultV2` et `ListStatements`. Pour agir sur la même instruction SQL provenant d’un autre utilisateur, l’utilisateur doit pouvoir assumer le rôle IAM de l’utilisateur qui a exécuté l’instruction SQL. Pour plus d’informations sur la façon d’assumer un rôle, consultez [Autorisation de l’accès à l’API de données Amazon Redshift](data-api-access.md). 
+ Les instructions SQL du paramètre `Sqls` de l’opération d’API `BatchExecuteStatement` sont exécutées en tant que transaction unique. Ils s’exécutent en série dans l’ordre du tableau. Les instructions SQL suivantes ne démarrent pas tant que l’instruction précédente du tableau n’est pas terminée. Si une instruction SQL échoue, c’est parce qu’elle est exécutée comme une seule transaction que tout le travail est annulé.
+ La durée de conservation maximale d’un jeton client utilisé dans une opération d’API `ExecuteStatement` ou `BatchExecuteStatement` est de 8 heures.
+ Si les clusters provisionnés par Amazon Redshift et le groupe de travail Redshift Serverless sont chiffrés à l'aide d'une clé gérée par le client, Redshift crée une autorisation qui permet à l'API Redshift Data d'utiliser la clé pour ses opérations. Pour plus d'informations, consultez [Utilisation AWS KMS avec l'API de données Amazon Redshift](data-api-kms.md). 
+ Chaque API de l’API de données Redshift dispose d’un quota de transactions par seconde avant de limiter les demandes. Pour ce quota, consultez [Quotas pour l’API de données Amazon Redshift](amazon-redshift-limits.md#data-api-quotas-account). Si le taux de demande dépasse le quota, une exception `ThrottlingException` avec le code d’état HTTP : 400 est renvoyée. Pour répondre à la limitation, utilisez une stratégie de nouvelle tentative telle que décrite dans la section [Comportement des nouvelles tentatives](https://docs.aws.amazon.com/sdkref/latest/guide/feature-retry-behavior.html) dans le guide de référence *AWS SDKs and* Tools. Cette stratégie est mise en œuvre automatiquement pour limiter les erreurs dans certains cas. AWS SDKs
**Note**  
Par défaut AWS Step Functions, les nouvelles tentatives ne sont pas activées. Si vous devez appeler une API de données Redshift dans une machine d’état Step Functions, incluez le paramètre d’idempotence `ClientToken` dans votre appel d’API de données Redshift. La valeur de `ClientToken` doit être conservée entre les nouvelles tentatives. Dans l’exemple d’extrait suivant d’une demande adressée à l’API `ExecuteStatement`, l’expression `States.ArrayGetItem(States.StringSplit($$.Execution.Id, ':'), 7)` utilise une fonction intrinsèque pour extraire la partie UUID de `$$.Execution.Id`, qui est unique pour chaque exécution de la machine d’état. Pour plus d’informations, consultez [Fonctions intrinsèques](https://docs.aws.amazon.com/step-functions/latest/dg/amazon-states-language-intrinsic-functions.html) dans le *Guide du développeur AWS Step Functions *.  

  ```
  {
    "Database": "dev",
    "Sql": "select 1;",
    "ClusterIdentifier": "MyCluster",
    "ClientToken.$": "States.ArrayGetItem(States.StringSplit($$.Execution.Id, ':'), 7)"
  }
  ```

## Choix des informations d’authentification de la base de données lors de l’appel de l’API de données Amazon Redshift.
<a name="data-api-calling-considerations-authentication"></a>

Lorsque vous appelez l’API de données, vous utilisez l’une des méthodes d’authentification suivantes pour certaines fonctions de l’API. Chaque méthode nécessite une combinaison différente de paramètres. 

**AWS IAM Identity Center**  
L’API de données est accessible avec un utilisateur à authentification unique enregistré dans AWS IAM Identity Center. Pour plus d’informations sur les étapes de configuration d’IAM Identity Center, consultez [Utilisation de l’API de données avec la propagation d’identité de confiance](data-api-trusted-identity-propagation.md).

**AWS Secrets Manager**  
Avec cette méthode, fournissez `secret-arn` le secret stocké dans AWS Secrets Manager lequel a `username` et`password`. Le secret spécifié contient des informations d’identification pour vous connecter à la `database` que vous spécifiez. Lorsque vous vous connectez à un cluster, vous fournissez également le nom de la base de données, Si vous fournissez un identifiant de cluster (`dbClusterIdentifier`), il doit correspondre à l’identifiant de cluster stocké dans le secret. Lorsque vous vous connectez à un groupe de travail sans serveur, vous devez également fournir le nom de la base de données. Pour de plus amples informations, veuillez consulter [Stockage des identifiants de base de données dans AWS Secrets Manager](data-api-secrets.md).   
Avec cette méthode, vous pouvez également fournir une `region` valeur qui indique l' Région AWS emplacement de vos données. 

**Informations d’identification temporaires**  
Avec cette méthode, choisissez l’une des options suivantes :  
+ Lors de la connexion à un groupe de travail sans serveur, indiquez le nom du groupe de travail et le nom de la base de données. Le nom de l’utilisateur de la base de données est dérivé de l’identité IAM. Par exemple, `arn:iam::123456789012:user:foo` a le nom d’utilisateur de la base de données `IAM:foo`. De plus, l’autorisation d’appeler l’opération `redshift-serverless:GetCredentials` est requise.
+ Lorsque vous vous connectez à un cluster en tant qu’identité IAM, indiquez l’identifiant du cluster et le nom de la base de données. Le nom de l’utilisateur de la base de données est dérivé de l’identité IAM. Par exemple, `arn:iam::123456789012:user:foo` a le nom d’utilisateur de la base de données `IAM:foo`. De plus, l’autorisation d’appeler l’opération `redshift:GetClusterCredentialsWithIAM` est requise.
+ Lorsque vous vous connectez à un cluster en tant qu’utilisateur de base de données, indiquez l’identifiant du cluster, le nom de la base de données et le nom de l’utilisateur de la base de données. De plus, l’autorisation d’appeler l’opération `redshift:GetClusterCredentials` est requise. Pour savoir comment rejoindre des groupes de base de données lors de la connexion avec cette méthode, consultez [Rejoindre des groupes de base de données lors de la connexion à un cluster](data-api-dbgroups.md).
Avec cette méthode, vous pouvez également fournir une `region` valeur qui indique l' Région AWS emplacement de vos données. 

## Mappage de types de données JDBC lors de l’appel à l’API de données Amazon Redshift
<a name="data-api-calling-considerations-jdbc"></a>

 Le tableau suivant associe les types de données Java Database Connectivity (JDBC) aux types de données que vous spécifiez dans les appels d’API de données.


****  

|  Type de données JDBC  |  Type de données API de données  | 
| --- | --- | 
|  `INTEGER, SMALLINT, BIGINT`  |  `LONG`  | 
|  `FLOAT, REAL, DOUBLE`  |  `DOUBLE`  | 
|  `DECIMAL`  |  `STRING`  | 
|  `BOOLEAN, BIT`  |  `BOOLEAN`  | 
|  `BLOB, BINARY, LONGVARBINARY`  |  `BLOB`  | 
|  `VARBINARY`  |  `STRING`  | 
|  `CLOB`  |  `STRING`  | 
|  Autres types (y compris les types liés à la date et à l’heure)  |  `STRING`  | 

Les valeurs de chaîne de caractères sont transmises à la base de données Amazon Redshift et implicitement converties en un type de données de base de données.

**Note**  
Actuellement, l'API Data ne prend pas en charge les tableaux d'identifiants uniques universels ()UUIDs.

## Exécution d’instructions SQL avec des paramètres lors de l’appel à l’API de données Amazon Redshift
<a name="data-api-calling-considerations-parameters"></a>

Vous pouvez contrôler le texte SQL soumis au moteur de la base de données en appelant la fonction de l’API de données tout en utilisant des paramètres pour les parties de l’instruction SQL. Les paramètres nommés constituent un moyen flexible de passer des paramètres sans les coder en dur dans le texte. Ils vous aident à réutiliser le texte SQL et à éviter les problèmes d’injection SQL.

L'exemple suivant montre les paramètres nommés d'un `parameters` champ d'une `execute-statement` AWS CLI commande.

```
--parameters "[{\"name\": \"id\", \"value\": \"1\"},{\"name\": \"address\", \"value\": \"Seattle\"}]"
```

Tenez compte des éléments suivants lorsque vous utilisez des paramètres nommés :
+ Les paramètres nommés ne peuvent être utilisés que pour remplacer des valeurs dans les instructions SQL.
  + Vous pouvez remplacer les valeurs d’une instruction INSERT, telle que `INSERT INTO mytable VALUES(:val1)`.

    Les paramètres nommés peuvent être dans n’importe quel ordre et ils peuvent être utilisés plusieurs fois dans le texte SQL. L’option de paramétrage présentée dans un précédent exemple, les valeurs `1` et `Seattle` sont insérées dans les colonnes `id` et `address` de la table. Dans le texte SQL, vous spécifiez les paramètres nommés comme suit :

    ```
    --sql "insert into mytable values (:id, :address)"
    ```
  + Vous pouvez remplacer les valeurs dans une clause de condition, telle que `WHERE attr >= :val1`, `WHERE attr BETWEEN :val1 AND :val2` et `HAVING COUNT(attr) > :val`.
  + Vous ne pouvez pas remplacer les noms de colonnes dans une instruction SQL, tels que `SELECT column-name`, `ORDER BY column-name`, ou `GROUP BY column-name`.

    Par exemple, l’instruction SELECT suivante échoue en raison d’une syntaxe non valide.

    ```
    --sql "SELECT :colname, FROM event" --parameters "[{\"name\": \"colname\", \"value\": \"eventname\"}]"
    ```

    Si vous décrivez (opération `describe-statement`) l’instruction avec l’erreur de syntaxe, la commande `QueryString` renvoyée ne remplace pas le nom de la colonne par le paramètre (`"QueryString": "SELECT :colname, FROM event"`) et une erreur est signalée (ERREUR : erreur de syntaxe à ou près de « FROM » Position : 12).
  + Vous ne pouvez pas remplacer les noms de colonnes dans une fonction d’agrégation, tels que `COUNT(column-name)`, `AVG(column-name)`, ou `SUM(column-name)`.
  + Vous ne pouvez pas remplacer les noms de colonnes dans une clause JOIN.
+ Lorsque le SQL s’exécute, les données sont implicitement converties en un type de données. Pour plus d’informations sur le moulage des types de données, consultez [Types de données](https://docs.aws.amazon.com/redshift/latest/dg/c_Supported_data_types.html) dans le *Manuel du développeur de base de données Amazon Redshift*. 
+ Vous ne pouvez pas définir une valeur sur NULL. L’API de données l’interprète comme la chaîne littérale `NULL`. L’exemple suivant remplace `id` par la chaîne littérale `null`. Pas la valeur SQL NULL. 

  ```
  --parameters "[{\"name\": \"id\", \"value\": \"null\"}]"
  ```
+ Vous ne pouvez pas définir une valeur de longueur de zéro. L’instruction SQL de l’API de données échoue. L’exemple suivant tente de définir `id` avec une valeur de longueur de zéro et se solde par un échec de l’instruction SQL. 

  ```
  --parameters "[{\"name\": \"id\", \"value\": \"\"}]"
  ```
+ Vous ne pouvez pas définir un nom de table dans l’instruction SQL avec un paramètre. L’API de données suit la règle du JDBC `PreparedStatement`. 
+ La sortie de l’opération `describe-statement` renvoie les paramètres de requête d’une instruction SQL.
+ Seule l’opération `execute-statement` prend en charge les instructions SQL avec des paramètres.

## Exécution d’instructions SQL avec un jeton d’idempotence lors de l’appel à l’API de données Amazon Redshift
<a name="data-api-calling-considerations-idempotency"></a>

Lorsque vous effectuez une demande d’API de mutation, la demande renvoie généralement un résultat avant la fin des flux de travail asynchrones de l’opération. Les opérations peuvent également expirer ou rencontrer d’autres problèmes de serveur avant d’être terminées, même si la demande a déjà renvoyé un résultat. Par conséquent, il peut être difficile de déterminer si la demande a abouti ou non et de multiples tentatives peuvent être déclenchées pour s’assurer que l’opération se termine correctement. Toutefois, si la demande initiale et les tentatives suivantes aboutissent, l’opération est terminée plusieurs fois. Vous pouvez ainsi mettre à jour plus de ressources que prévu.

L’*idempotence* garantit qu’une demande d’API se termine correctement. Avec une demande idempotente, si la demande d’origine se termine avec succès, toutes les tentatives suivantes se terminent avec succès, sans aucune action supplémentaire. Les opérations `ExecuteStatement` et `BatchExecuteStatement` de l’API de données ont un paramètre idempotent `ClientToken` facultatif. Le `ClientToken` expire au bout de 8 heures.

**Important**  
Si vous appelez `ExecuteStatement` et effectuez `BatchExecuteStatement` des opérations à partir d'un AWS SDK, celui-ci génère automatiquement un jeton client à utiliser lors d'une nouvelle tentative. Dans ce cas, nous ne recommandons pas d’utiliser le paramètre `client-token` avec les opérations `ExecuteStatement` et `BatchExecuteStatement`. Consultez le CloudTrail journal pour voir le`ClientToken`. Pour un exemple de CloudTrail journal, voir[Exemples d’API de données Amazon Redshift](logging-with-cloudtrail.md#data-api-cloudtrail).

La `execute-statement` AWS CLI commande suivante illustre le `client-token` paramètre facultatif pour l'idempotentie.

```
aws redshift-data execute-statement 
    --secret-arn arn:aws:secretsmanager:us-west-2:123456789012:secret:myuser-secret-hKgPWn 
    --cluster-identifier mycluster-test 
    --sql "select * from stl_query limit 1" 
    --database dev 
    --client-token b855dced-259b-444c-bc7b-d3e8e33f94g1
```

La table suivante présente certaines réponses courantes que vous pouvez obtenir pour les demandes d’API idempotentes et fournit des recommandations pour réessayer.


| Réponse | Recommendation | Commentaires | 
| --- | --- | --- | 
|  200 (OK)  |  Ne pas réessayer  |  La demande d’origine s’est terminée avec succès. Toutes les tentatives suivantes sont renvoyées avec succès.  | 
|  Codes de réponse de la série 400   |  Ne pas réessayer  |  La demande présente un problème, parmi les suivants :  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/redshift/latest/mgmt/data-api.html) Si la demande concerne une ressource en train de changer d’état, il est possible que la nouvelle tentative aboutisse.  | 
|  Codes de réponse de la série 500   |  Réessayer  |  L'erreur est due à un problème AWS côté serveur et est généralement transitoire. Répétez la demande avec une stratégie de backoff appropriée.  | 

Pour plus d’informations sur les codes de réponse Amazon Redshift, consultez [Common Errors](https://docs.aws.amazon.com/redshift/latest/APIReference/CommonErrors.html) (Erreurs courantes) dans la *référence d’API Amazon Redshift*.

## Exécution d’instructions SQL avec réutilisation de session lors de l’appel à l’API de données Amazon Redshift
<a name="data-api-calling-considerations-session-reuse"></a>

Lorsque vous faites une demande d’API pour exécuter une instruction SQL, la session pendant laquelle le SQL s’exécute est généralement interrompue lorsque le SQL est terminé. Pour que la session reste active pendant un certain nombre de secondes, les opérations d’API de données `ExecuteStatement` et `BatchExecuteStatement` ont un paramètre `SessionKeepAliveSeconds` facultatif. Un champ de réponse `SessionId` contient l’identité de la session qui peut ensuite être utilisée dans les opérations `ExecuteStatement` et `BatchExecuteStatement` suivantes. Lors des appels suivants, vous pouvez en spécifier un autre `SessionKeepAliveSeconds` pour modifier le délai d’inactivité. Si le `SessionKeepAliveSeconds` n’est pas modifié, le paramètre de délai d’inactivité initial est conservé. Tenez compte des éléments suivants lorsque vous utilisez la réutilisation de session :
+ La valeur maximale de `SessionKeepAliveSeconds` est de 24 heures.
+ La session peut durer 24 heures au maximum. Après 24 heures, la session est fermée de force et les requêtes en cours sont interrompues.
+ Le nombre maximum de sessions par cluster Amazon Redshift ou groupe de travail Redshift sans serveur est de 500.
+ Vous ne pouvez exécuter qu’une seule requête à la fois dans une session. Vous devez attendre la fin de la requête pour exécuter la requête suivante au cours de la même session. En d’autres termes, vous ne pouvez pas exécuter de requêtes en parallèle dans une session donnée.
+ L’API de données ne peut pas mettre les requêtes en file d’attente pour une session donnée.

Pour récupérer l’`SessionId` utilisé par les appels aux opérations `ExecuteStatement` et `BatchExecuteStatement`, l’appel `DescribeStatement` et les opérations `ListStatements`.

L’exemple suivant montre comment utiliser les paramètres `SessionKeepAliveSeconds` et `SessionId` pour maintenir une session active et la réutiliser. Appelez d'abord la `execute-statement` AWS CLI commande avec le `session-keep-alive-seconds` paramètre optionnel défini sur`2`.

```
aws redshift-data execute-statement 
    --session-keep-alive-seconds 2 
    --sql "select 1" 
    --database dev 
    --workgroup-name mywg
```

La réponse contient l’identifiant de session.

```
{
    "WorkgroupName": "mywg",
    "CreatedAt": 1703022996.436,
    "Database": "dev",
    "DbUser": "awsuser",
    "Id": "07c5ffea-76d6-4786-b62c-4fe3ef529680",
    "SessionId": "5a254dc6-4fc2-4203-87a8-551155432ee4"
}
```

Appelez ensuite la `execute-statement` AWS CLI commande avec le résultat `SessionId` renvoyé par le premier appel. Et éventuellement, spécifiez le paramètre `session-keep-alive-seconds` défini sur `10` pour modifier la valeur du délai d’inactivité.

```
aws redshift-data execute-statement 
    --sql "select 1" 
    --session-id 5a254dc6-4fc2-4203-87a8-551155432ee4
    --session-keep-alive-seconds 10
```

## Récupération des résultats des instructions SQL
<a name="data-api-calling-considerations-result-format"></a>

Vous utilisez différentes opérations de l’API de données pour récupérer les résultats SQL en fonction du format des résultats. Lorsque vous appelez `ExecuteStatement` et effectuez les opérations `BatchExecuteStatement`, vous pouvez spécifier si les résultats sont au format JSON ou CSV. Si vous ne spécifiez rien, le format par défaut est JSON. Pour récupérer les résultats JSON, utilisez l’opération `GetStatementResult`. Pour récupérer les résultats CSV, utilisez l’opération `GetStatementResultV2`.

Les résultats renvoyés au format JSON sont des enregistrements qui incluent des métadonnées relatives à chaque colonne. Chaque enregistrement est au format JSON. Par exemple, la réponse de `GetStatementResult` ressemble à ceci :

```
{
   "ColumnMetadata": [ 
      { 
         "isCaseSensitive": false,
         "isCurrency": false,
         "isSigned": true,
         "label": "?column?",
         "name": "?column?",
         "nullable": 1,
         "precision": 10,
         "scale": 0,
         "schemaName": "",
         "tableName": "",
         "typeName": "int4",
         "length": 0
      }
   ],
   "NextToken": "<token>",
   "Records": [
        [
            {
                "longValue": 1
            }
        ]
    ],
   "TotalNumRows": <number>
}
```

Les résultats renvoyés au format CSV sont des enregistrements qui incluent des métadonnées relatives à chaque colonne. Les résultats sont renvoyés sous forme de blocs de 1 Mo, chaque bloc pouvant stocker un nombre illimité de lignes au format CSV. Chaque requête renvoie jusqu’à 15 Mo de résultats. Si les résultats sont supérieurs à 15 Mo, un jeton de page suivante est renvoyé pour continuer à récupérer les résultats. Par exemple, la réponse de `GetStatementResultV2` ressemble à ceci :

```
{
    "ColumnMetadata": [
        {
            "isCaseSensitive": false,
            "isCurrency": false,
            "isSigned": true,
            "label": "?column?",
            "name": "?column?",
            "nullable": 1,
            "precision": 10,
            "scale": 0,
            "schemaName": "",
            "tableName": "",
            "typeName": "int4",
            "length": 0
        },
        {
            "isCaseSensitive": false,
            "isCurrency": false,
            "isSigned": true,
            "label": "?column?",
            "name": "?column?",
            "nullable": 1,
            "precision": 10,
            "scale": 0,
            "schemaName": "",
            "tableName": "",
            "typeName": "int4",
            "length": 0
        },
        {
            "isCaseSensitive": false,
            "isCurrency": false,
            "isSigned": true,
            "label": "?column?",
            "name": "?column?",
            "nullable": 1,
            "precision": 10,
            "scale": 0,
            "schemaName": "",
            "tableName": "",
            "typeName": "int4",
            "length": 0
        }
    ],
    "NextToken": "<token>",
    "Records": [
        [
            {
                "CSVRecords":"1,2,3\r\n4,5,6\r\n7,8,9\rn, .... 1MB" // First 1MB Chunk
            },
            {
                "CSVRecords":"1025,1026,1027\r\n1028,1029,1030\r\n....2MB" // Second 1MB chunk
            }
            ...
        ]
    ],
    "ResultFormat" : "CSV",
    "TotalNumRows": <number>
}
```

# Autorisation de l’accès à l’API de données Amazon Redshift
<a name="data-api-access"></a>

Pour accéder à l’API de données, un utilisateur doit recevoir une autorisation. Vous pouvez autoriser un utilisateur à accéder à l’API de données en ajoutant une politique gérée, qui est une politique Gestion des identités et des accès AWS (IAM) prédéfinie, à l’utilisateur concerné. Il est recommandé d’associer des politiques d’autorisation à un rôle IAM, puis de l’attribuer à des utilisateurs et à des groupes, le cas échéant. Pour plus d’informations, consultez [Identity and Access Management dans Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/mgmt/redshift-iam-authentication-access-control.html). Pour connaître les autorisations autorisées et refusées par les politiques gérées, consultez la console IAM ([https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)). 

# Configuration des autorisations IAM
<a name="data-api-iam"></a>

Amazon Redshift fournit la politique gérée par `AmazonRedshiftDataFullAccess`. Cette politique fournit un accès complet aux fonctions de l’API de données Amazon Redshift. Cette politique permet également un accès limité à des opérations spécifiques d'Amazon Redshift AWS Secrets Manager et d'API IAM nécessaires pour authentifier et accéder à un cluster Amazon Redshift ou à un groupe de travail Redshift Serverless. 

Vous pouvez également créer votre propre politique IAM qui autorise l’accès à des ressources spécifiques. Pour créer votre politique, utilisez la politique `AmazonRedshiftDataFullAccess` comme modèle de départ. Une fois votre politique créée, ajoutez-la à chaque utilisateur ayant besoin d’accéder à l’API de données.

Prenez les exigences suivantes de la politique IAM associée à l’utilisateur :
+ Si vous utilisez cette AWS Secrets Manager option pour vous authentifier, vérifiez que la politique autorise l'utilisation de l'`secretsmanager:GetSecretValue`action pour récupérer le secret associé à la clé`RedshiftDataFullAccess`.
+ Si vous utilisez des informations d’identification temporaires pour vous authentifier auprès d’un cluster, confirmez que la politique autorise l’utilisation de l’action `redshift:GetClusterCredentials` pour le nom d’utilisateur de la base de données `redshift_data_api_user` pour toute base de données du cluster. Ce nom d’utilisateur doit déjà avoir été créé dans votre base de données.
+ Si vous utilisez des informations d’identification temporaires pour vous authentifier auprès d’un groupe de travail sans serveur, confirmez que la politique autorise l’utilisation de l’action `redshift-serverless:GetCredentials` pour récupérer le groupe de travail identifié avec la clé `RedshiftDataFullAccess`. L'utilisateur de la base de données est mappé 1:1 à l'identité source Gestion des identités et des accès AWS (IAM). Par exemple, l’utilisateur sample\$1user est mappé à l’utilisateur de la base de données `IAM:sample_user`, et le rôle IAM sample\$1role est mappé à `IAMR:sample_role`. Pour plus d’informations sur les identités IAM, consultez [Identités IAM (utilisateurs, groupes d’utilisateurs et rôles)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id.html) dans le Guide de l’utilisateur IAM.
+ L’action IAM `redshift-data:GetStatementResult` permet d’accéder à la fois aux opérations d’API `GetStatementResult` et `GetStatementResultV2`.

Les liens suivants fournissent des informations supplémentaires sur Gestion des identités et des accès AWS le *guide de l'utilisateur IAM*.
+ Pour plus d’informations sur la création de rôles IAM, consultez [Création de rôles IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create.html). 
+ Pour plus d’informations sur la création de politiques IAM, consultez [Création de politiques IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html).
+ Pour en savoir plus sur l’ajout d’une politique IAM à un utilisateur, consultez [Ajout et suppression d’autorisations basées sur l’identité IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html). 

## Exécution d’une requête sur un cluster appartenant un autre compte
<a name="data-api-run-query-on-others-cluster"></a>

Pour exécuter une requête sur un cluster appartenant à un autre compte, le compte propriétaire doit fournir un rôle IAM que l’API de données peut assumer dans le compte appelant. Par exemple, supposons que le compte B possède un cluster auquel le compte A doit accéder. Le compte B peut associer la politique AWS gérée `AmazonRedshiftDataFullAccess` au rôle IAM du compte B. Ensuite, le compte B approuve le compte A à l’aide d’une politique de confiance telle que la suivante : ``

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "AWS": [
                    "arn:aws:iam::111122223333:role/someRoleA"
                ]
            },
            "Action": "sts:AssumeRole"
        }
    ]
}
```

------

Enfin, le rôle IAM du compte A doit être en mesure d’assumer le rôle IAM du compte B.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": {
        "Effect": "Allow",
        "Action": "sts:AssumeRole",
        "Resource": "arn:aws:iam::111122223333:role/someRoleB"
    }
}
```

------

## Spécifiez un rôle IAM qui limite les ressources aux groupes de travail Redshift Serverless et aux clusters Amazon Redshift dans un Compte AWS
<a name="data-api-restrict-to-account"></a>

Vous pouvez spécifier une ressource ARNs dans votre politique basée sur l'identité pour contrôler l'accès aux groupes de travail Redshift Serverless et aux clusters Amazon Redshift dans un. Compte AWS Cet exemple montre comment créer une politique qui autorise l’accès à l’API de données uniquement pour le groupe de travail et les clusters spécifiés Compte AWS.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "redshift-data:CancelStatement",
                "redshift-data:DescribeStatement",
                "redshift-data:GetStatementResult",
                "redshift-data:ListStatements"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": "redshift-data:*",
            "Resource": [
                "arn:aws:redshift:us-east-1:111122223333:workgroup/*",
                "arn:aws:redshift:us-east-1:111122223333:cluster:*"
            ]
        }
    ]
}
```

------

## Configurer une politique IAM qui restreint l’accès aux informations des instructions SQL au seul propriétaire de l’instruction
<a name="data-api-restrict-to-statement-owner"></a>

Par défaut, l’API de données Amazon Redshift considère le rôle IAM utilisé lors de l’appel `ExecuteStatement` et `BatchExecuteStatement` comme le propriétaire de l’instruction SQL. Toute personne autorisée à assumer ce rôle peut accéder aux informations relatives à l’instruction SQL, notamment à ses résultats. Pour restreindre l’accès aux informations des instructions SQL à une session de rôle IAM avec un propriétaire particulier, ajoutez une condition `redshift-data:statement-owner-iam-userid: "${aws:userid}"`. La politique IAM suivante restreint l’accès.

------
#### [ JSON ]

****  

```
{
"Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "redshift-data:CancelStatement",
                "redshift-data:DescribeStatement",
                "redshift-data:GetStatementResult",
                "redshift-data:ListStatements"
            ],
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "redshift-data:statement-owner-iam-userid": "${aws:userid}"
                }
            }
        }
    ]
}
```

------

Vous pouvez utiliser la condition `statement-owner-iam-userid` avec `CancelStatement`, `DescribeStatement`, `GetStatementResult` et `ListStatements`. Pour plus d’informations, consultez [Actions définies par l’API de données Amazon Redshift](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonredshiftdataapi.html#amazonredshiftdataapi-redshift-data_statement-owner-iam-userid).

## Configurer une politique IAM qui limite l’accès aux résultats SQL au seul propriétaire de la session
<a name="data-api-restrict-session-owner"></a>

Par défaut, l’API de données Amazon Redshift considère le rôle IAM utilisé lors de l’appel `ExecuteStatement` et `BatchExecuteStatement` comme le propriétaire de la session de base de données qui exécute l’instruction SQL. Toute personne autorisée à assumer ce rôle peut soumettre des requêtes à la session de base de données. Pour restreindre l’accès à la session à une session de rôle IAM avec un propriétaire particulier, ajoutez une condition ` redshift-data:session-owner-iam-userid: "${aws:userid}"`. La politique IAM suivante restreint l’accès.

La politique IAM suivante permet uniquement au propriétaire de la session d’obtenir les résultats des instructions. La condition `session-owner-iam-userid` est utilisée pour limiter l’accès aux ressources au `userid` spécifié.

------
#### [ JSON ]

****  

```
{
"Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [ 
                "redshift-data:ExecuteStatement",
                "redshift-data:BatchExecuteStatement"
            ],
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "redshift-data:session-owner-iam-userid": "${aws:userid}"
                }
            }
        }
    ]
}
```

------

Vous pouvez utiliser la condition `session-owner-iam-userid` avec `ExecuteStatement` et `BatchExecuteStatement`. Pour plus d’informations, consultez [Actions définies par l’API de données Amazon Redshift](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonredshiftdataapi.html#amazonredshiftdataapi-redshift-data_statement-owner-iam-userid).

# Stockage des identifiants de base de données dans AWS Secrets Manager
<a name="data-api-secrets"></a>

Lorsque vous appelez l’API de données, vous pouvez utiliser un secret dans AWS Secrets Manager pour transmettre les informations d’identification du cluster ou du groupe de travail sans serveur. Pour ce faire, vous devez spécifier le nom du secret ou son ARN (Amazon Resource Name). 

Pour stocker des informations d’identification avec Secrets Manager, vous devez disposer d’une autorisation de politique gérée par `SecretManagerReadWrite`. Pour plus d'informations sur les autorisations minimales, consultez la section [Création et gestion de AWS secrets avec Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/managing-secrets.html) dans le *guide de AWS Secrets Manager l'utilisateur*. 

**Pour sauvegarder vos informations d'identification dans un secret pour un cluster Amazon Redshift**

1. Utilisez la AWS Secrets Manager console pour créer un secret contenant les informations d'identification de votre cluster :
   + Lorsque vous choisissez **Store a new secret (Sauvegarder un nouveau secret)**, sélectionnez **Credentials for Redshift cluster (Informations d'identification du cluster Redshift)**. 
   + Sauvegardez les valeurs **User name (Nom d’utilisateur)** (utilisateur de la base de données), **Password (Mot de passe)** et **DB cluster (Cluster de base de données)** (identifiant du cluster) dans votre secret. 
   + Étiquetez le secret avec la clé `RedshiftDataFullAccess`. La politique AWS gérée `AmazonRedshiftDataFullAccess` n'autorise l'action que `secretsmanager:GetSecretValue` pour les secrets marqués par la clé`RedshiftDataFullAccess`. 

   Pour obtenir des instructions, consultez [Création d’un secret basique](https://docs.aws.amazon.com/secretsmanager/latest/userguide/manage_create-basic-secret.html) dans le *Guide de l’utilisateur AWS Secrets Manager *.

1. Utilisez la AWS Secrets Manager console pour afficher les détails du secret que vous avez créé ou exécutez la `aws secretsmanager describe-secret` AWS CLI commande.

   Notez le nom et l’ARN du secret. Vous pouvez les utiliser dans les appels à l’API de données.

**Pour stocker vos informations d’identification dans un secret pour un groupe de travail sans serveur**

1. Utilisez AWS Secrets Manager AWS CLI des commandes pour stocker un secret contenant les informations d'identification de votre groupe de travail sans serveur :
   + Créez votre secret dans un fichier, par exemple, un fichier JSON nommé `mycreds.json`. Fournissez les valeurs du champ **User name** (Nom d’utilisateur), à savoir l’utilisateur de la base de données, et du champ **Password** (Mot de passe) dans le fichier.

     ```
     {
           "username": "myusername",
           "password": "mypassword"
     }
     ```
   + Stockez vos valeurs dans votre secret et étiquetez le secret avec la clé `RedshiftDataFullAccess`.

     ```
     aws secretsmanager create-secret --name MyRedshiftSecret  --tags Key="RedshiftDataFullAccess",Value="serverless" --secret-string file://mycreds.json
     ```

     Le résultat est présenté ci-dessous :

     ```
     {
         "ARN": "arn:aws:secretsmanager:region:accountId:secret:MyRedshiftSecret-mvLHxf",
         "Name": "MyRedshiftSecret",
         "VersionId": "a1603925-e8ea-4739-9ae9-e509eEXAMPLE"
     }
     ```

   Pour plus d’informations, consultez [Création d’un secret basique avec AWS CLI](https://docs.aws.amazon.com/secretsmanager/latest/userguide/manage_create-basic-secret.html#proc-create-api) dans le *Guide de l’utilisateur AWS Secrets Manager *.

1. Utilisez la AWS Secrets Manager console pour afficher les détails du secret que vous avez créé ou exécutez la `aws secretsmanager describe-secret` AWS CLI commande.

   Notez le nom et l’ARN du secret. Vous pouvez les utiliser dans les appels à l’API de données.

# Pour créer un point de terminaison Amazon VPC (AWS PrivateLink) pour l’API de données
<a name="data-api-vpc-endpoint"></a>

Amazon Virtual Private Cloud (Amazon VPC) vous permet de lancer AWS des ressources, telles que des clusters et des applications Amazon Redshift, dans un cloud privé virtuel (VPC). AWS PrivateLink fournit une connectivité privée entre les clouds privés virtuels (VPCs) et les AWS services en toute sécurité sur le réseau Amazon. À l'aide de AWS PrivateLink, vous pouvez créer des points de terminaison VPC, que vous pouvez utiliser pour vous connecter à des services via différents comptes et VPCs sur la base d'Amazon VPC. Pour plus d'informations AWS PrivateLink, consultez la section [VPC Endpoint Services (AWS PrivateLink)](https://docs.aws.amazon.com/vpc/latest/userguide/endpoint-service.html) dans le guide de l'*utilisateur d'Amazon Virtual Private Cloud*.

Vous pouvez appeler l’API de données avec des points de terminaison Amazon VPC. L’utilisation d’un point de terminaison Amazon VPC permet de maintenir le trafic entre les applications de votre Amazon VPC et l’API de données dans le réseau AWS , sans utiliser d’adresses IP publiques. Les points de terminaison Amazon VPC peuvent vous aider à respecter les exigences réglementaires et de conformité liées à la limitation de la connectivité Internet publique. Par exemple, si vous utilisez un point de terminaison Amazon VPC, vous pouvez conserver le trafic entre une application exécutée sur une instance Amazon EC2 et l'API de données qui VPCs les contient.

Une fois que vous avez créé le point de terminaison Amazon VPC, vous pouvez commencer à l’utiliser sans modifier le code ou la configuration de votre application.

**Pour créer un point de terminaison Amazon VPC pour l’API de données**

1. Connectez-vous à la console Amazon VPC AWS Management Console et ouvrez-la à l'adresse. [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/)

1. Choisissez **Points de terminaison**, puis **Créer un point de terminaison**.

1. Sur la page **Créer un point de terminaison**, pour **Catégorie de services**, choisissez **Services AWS **. Pour **Service Name (Nom de service)**, choisissez **redshift-data**(`com.amazonaws.region.redshift-data`).

1. Pour **VPC**, choisissez le VPC dans lequel créer le point de terminaison.

   Choisissez le VPC contenant l’application qui effectue des appels de l’API de données.

1. Pour les **sous-réseaux**, choisissez le sous-réseau pour chaque zone de disponibilité (AZ) utilisée par le AWS service qui exécute votre application.

   Pour créer un point de terminaison Amazon VPC, spécifiez la plage d’adresses IP privées dans laquelle le point de terminaison est accessible. Pour ce faire, choisissez le sous-réseau de chaque zone de disponibilité. Cela limite le point de terminaison de VPC à la plage d’adresses IP privées spécifique à chaque zone de disponibilité et crée également un point de terminaison Amazon VPC dans chaque zone de disponibilité.

1. Pour **Enable DNS Name (Activer le nom DNS)**, sélectionnez **Activer pour ce point de terminaison**.

   Private DNS résout le nom d’hôte DNS standard de l’API de données (`https://redshift-data.region.amazonaws.com`) par les adresses IP privées associées au nom d’hôte DNS spécifique à votre point de terminaison Amazon VPC. Par conséquent, vous pouvez accéder au point de terminaison VPC de l'API de données en utilisant AWS CLI ou AWS SDKs sans apporter de modifications de code ou de configuration pour mettre à jour l'URL du point de terminaison de l'API de données.

1. Pour **Groupe de sécurité**, choisissez un groupe de sécurité à associer au point de terminaison Amazon VPC.

   Choisissez le groupe de sécurité qui autorise l'accès au AWS service qui exécute votre application. Par exemple, si une instance Amazon EC2 exécute votre application, choisissez le groupe de sécurité qui autorise l’accès à cette instance Amazon EC2. Le groupe de sécurité vous permet de contrôler le trafic vers le point de terminaison Amazon VPC à partir des ressources de votre VPC.

1. Choisissez **Créer un point de terminaison**.

Une fois le point de terminaison créé, choisissez le lien dans le AWS Management Console pour afficher les détails du point de terminaison.

L’onglet **Détails** du point de terminaison affiche les noms d’hôte DNS générés lors de la création du point de terminaison Amazon VPC.

Vous pouvez utiliser le point de terminaison standard (`redshift-data.region.amazonaws.com`) ou l’un des points de terminaison spécifiques au VPC pour appeler l’API de données dans l’Amazon VPC. Le point de terminaison standard de l’API de données effectue automatiquement un routage vers le point de terminaison Amazon VPC. Ce routage se produit car le nom d’hôte DNS privé a été activé lors de la création du point de terminaison Amazon VPC.

Lorsque vous utilisez un point de terminaison Amazon VPC dans un appel d'API de données, tout le trafic entre votre application et l'API de données reste dans l'Amazon VPCs qui les contient. Vous pouvez utiliser un point de terminaison Amazon VPC pour n’importe quel type d’appel à l’API de données. Pour plus d’informations sur l’appel de l’API de données, consultez [Considérations relatives à l’appel à l’API de données Amazon Redshift](data-api.md#data-api-calling-considerations).

# Rejoindre des groupes de base de données lors de la connexion à un cluster
<a name="data-api-dbgroups"></a>

Les groupes de base de données sont des ensembles d’utilisateurs de base de données. Des privilèges de base de données peuvent être accordés aux groupes. Un administrateur peut configurer un rôle IAM de telle sorte que ces groupes de base de données soient pris en compte lorsque votre requête SQL s’exécute avec l’API de données. Pour en savoir plus sur les groupes de base de données, consultez [Groupes](https://docs.aws.amazon.com/redshift/latest/dg/r_Groups.html) dans le *Guide du développeur de base de données Amazon Redshift*. 

Vous pouvez configurer le rôle IAM d’un appelant de l’API de données de sorte que l’utilisateur de base de données spécifié dans l’appel rejoigne des groupes de base de données au moment où l’API de données se connecte à un cluster. Cette fonctionnalité n’est prise en charge que lors de la connexion à des clusters provisionnés. Elle n’est pas pris en charge lors de la connexion à des groupes de travail Redshift sans serveur. Le rôle IAM de l’appelant de l’API de données doit également autoriser l’action `redshift:JoinGroup`.

Pour configurer cela, vous devez ajouter des balises aux rôles IAM. L’administrateur du rôle IAM de l’appelant ajoute des balises avec la clé `RedshiftDbGroups` et une clé-valeur d’une liste de groupes de base de données. La valeur est une liste de noms de groupes de base de données séparés par deux points (:) d’une longueur totale maximale de 256 caractères. Les groupes de base de données doivent être préalablement définis dans la base de données connectée. Si aucun groupe spécifié n’est trouvé dans la base de données, elle est ignorée. Par exemple, pour les groupes de base de données `accounting` et `retail`, la clé-valeur est `accounting:retail`. La paire clé-valeur de balise `{"Key":"RedshiftDbGroups","Value":"accounting:retail"}` est utilisée par l’API de données pour identifier les groupes de base de données qui sont associés à l’utilisateur de base de données indiqué dans l’appel à l’API de données.

**Pour rejoindre des groupes de base de données**

1. Connectez-vous à la console IAM AWS Management Console et ouvrez-la à [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)l'adresse.

1. Dans le panneau de navigation de la console, choisissez **Roles** (Rôles), puis choisissez le nom du rôle que vous souhaitez modifier.

1. Choisissez l’onglet **Balises**, puis **Gérer les balises**.

1. Choisissez **Ajouter une balise**, puis ajoutez la clé **RedshiftDbGroups**et une valeur sous forme de liste de*database-groups-colon-separated*.

1. Sélectionnez **Enregistrer les modifications**.

   Désormais, lorsqu’un principal IAM (auquel ce rôle IAM est attaché) appelle l’API de données, l’utilisateur de base de données spécifié rejoint les groupes de base de données spécifiés dans le rôle IAM.

Pour plus d’informations sur la procédure d’attachement d’une balise à un principal, y compris les rôles IAM et les utilisateurs IAM, consultez [Étiquetage des ressources IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_tags.html) dans le *Guide de l’utilisateur IAM*. 

# Utilisation de l’API de données avec la propagation d’identité de confiance
<a name="data-api-trusted-identity-propagation"></a>

En tant qu'administrateur de compte Amazon Redshift, vous pouvez intégrer votre cluster ou groupe de travail Amazon Redshift, ce qui permet de gérer l'accès de votre personnel à Amazon Redshift AWS IAM Identity Center grâce à l'authentification unique. Pour de plus amples informations, veuillez consulter [Configuration de l'intégration d' AWS IAM Identity Center à Amazon Redshift](redshift-iam-access-control-idp-connect-console.md). L'API Amazon Redshift Data permet de propager les identités des utilisateurs d'IAM Identity Center à un cluster ou à un groupe de travail Amazon Redshift, ainsi qu'à d'autres services, tels que le bas de la chaîne. AWS Lake Formation Vous pouvez configurer et effectuer des requêtes à l'aide de l'API de données en suivant les étapes décrites dans [Access AWS Services de manière programmatique à l'aide d'une propagation d'identité sécurisée](https://aws.amazon.com/blogs//security/access-aws-services-programmatically-using-trusted-identity-propagation/).

Lorsque vous appelez l’API de données à l’aide d’une identité d’utilisateur IAM Identity Center à partir d’une session de rôle IAM à identité améliorée, vous ne pouvez accéder à l’instruction et au résultat de l’instruction qui en résultent qu’en utilisant le même utilisateur IAM Identity Center. Par exemple, la AWS CLI commande suivante appelle l'`execute-statement`opération pour exécuter une commande SQL avec une propagation d'identité sécurisée.

```
aws redshift-data execute-statement 
--sql "select current_user;" 
--cluster-id mycluster
--database dev
```

La AWS CLI commande suivante appelle l'`batch-execute-statement`opération pour exécuter deux commandes SQL.

```
aws redshift-data batch-execute-statement 
--sqls  "select current_user;"  "select current_date;"
--cluster-id mycluster
--database dev
```

Pour accéder aux instructions avec `cancel-statement`, `describe-statement`, `get-statement-result` et `get-statement-result-v2` soumises par le biais de sessions de rôle IAM à identité améliorée, l’utilisateur IAM Identity Center et le rôle IAM doivent correspondre aux informations d’identification utilisées pour exécuter `execute-statment` ou `batch-execute-statement`. Par exemple, la AWS CLI commande suivante permet d'obtenir les résultats d'une instruction SQL.

```
aws redshift-data get-statement-result 
--id a1b2c3d4-5678-90ab-cdef-EXAMPLE11111
```

Pour répertorier les instructions, un paramètre `cluster-identifier` ou `workgroup-name` doit être fourni pour garantir que l’utilisateur de l’IAM Identity Center n’a accès qu’aux applications Amazon Redshift IAM Identity Center auxquelles il est affecté. Par exemple, la AWS CLI commande suivante répertorie les instructions relatives à un cluster spécifique.

```
aws redshift-data list-statements
--cluster-identifier mycluster
```

Vous pouvez également appeler les opérations de l’API de données qui accèdent aux objets de base de données d’un cluster ou d’un groupe de travail à l’aide d’une propagation d’identité fiable. Cela inclut les opérations `list-databases`, `list-schemas`, `list-tables` et `describe-table`.

Les appels d’API effectués par l’utilisateur de l’IAM Identity Center peuvent être suivis dans AWS CloudTrail. Une `onBehalfOf` section de l' CloudTrail événement indique l'identifiant utilisateur du centre d'identité IAM et l'ARN du magasin d'identités. L'exemple suivant montre un extrait d'un CloudTrail événement montrant la `onBehalfOf` section portant l'ID utilisateur IAM Identity Center de `a1b2c3d4-5678-90ab-cdef-EXAMPLE11111` et l'ARN du magasin d'identités de. `arn:aws:identitystore::123456789012:identitystore/d-9067bc44d2`

```
{
            "eventVersion":"1.10",
            "userIdentity":{
            "type":"AssumedRole",
            ...
            },
            "onBehalfOf":{
            "userId":"a1b2c3d4-5678-90ab-cdef-EXAMPLE11111",
            "identityStoreArn":"arn:aws:identitystore::123456789012:identitystore/d-9067bc44d2"
            }
            },
            "eventTime":"2025-01-13T04:46:27Z",
            "eventSource":"redshift-data.amazonaws.com",
            "eventName":"ExecuteStatement",
            "awsRegion":"us-east-1"
            }
```

Vous pouvez exécuter la commande SQL suivante pour vérifier la requête soumise par l’utilisateur IAM Identity Center. Dans cet exemple, l’e-mail enregistré dans Identity Center est `username@example.com`.

```
SELECT
    h.query_id,
    h.database_name,
    h.status,
    h.query_text,
    u.usename,
    h.start_time,
    h.end_time
FROM
    sys_query_history h
LEFT JOIN
    pg_user u
ON
    h.user_id = u.usesysid
where u.usename='awsidc:username@example.com'    
ORDER BY
    h.start_time DESC;
```

# Appel à l’API de données
<a name="data-api-calling"></a>

Vous pouvez appeler l'API Data ou le AWS CLI pour exécuter des instructions SQL sur votre cluster ou votre groupe de travail sans serveur. Les principales opérations pour exécuter des instructions SQL sont [https://docs.aws.amazon.com/redshift-data/latest/APIReference/API_ExecuteStatement.html](https://docs.aws.amazon.com/redshift-data/latest/APIReference/API_ExecuteStatement.html) et [https://docs.aws.amazon.com/redshift-data/latest/APIReference/API_BatchExecuteStatement.html](https://docs.aws.amazon.com/redshift-data/latest/APIReference/API_BatchExecuteStatement.html) dans la *Référence de l’API de données Amazon Redshift*. L'API Data prend en charge les langages de programmation pris en charge par le AWS SDK. Pour plus d’informations sur ces derniers, consultez [Outils pour créer sur AWS](https://aws.amazon.com/tools/).

Pour voir des exemples de code relatifs à l'appel de l'API de données, consultez [Getting Started with Redshift Data API](https://github.com/aws-samples/getting-started-with-amazon-redshift-data-api#getting-started-with-redshift-data-api) dans. *GitHub* Ce référentiel contient des exemples d'utilisation AWS Lambda pour accéder aux données Amazon Redshift depuis Amazon EC2 et Amazon AWS Glue Data Catalog Runtime. SageMaker Les langages de programmation incluent Python, Go, Java et Javascript.

Vous pouvez appeler l’API de données avec la AWS CLI.

Les exemples suivants utilisent le AWS CLI pour appeler l'API Data. Pour exécuter les exemples, modifiez les valeurs des paramètres de manière à les adapter à votre environnement. Dans de nombreux exemples, un `cluster-identifier` est fourni pour être exécutée sur un cluster. Lorsque vous exécutez une opération sur un groupe de travail sans serveur, vous fournissez un `workgroup-name` à la place. Ces exemples illustrent quelques-unes des opérations de l’API de données. Pour plus d’informations, consultez la *référence des commandes de l’AWS CLI *. 

Les commandes des exemples suivants ont été scindées et formatées pour être plus lisibles. Tous les paramètres et réponses ne sont pas présentés dans tous les exemples. Pour la définition API de la syntaxe complète de la demande, des paramètres de demande, de la syntaxe de réponse et des éléments de réponse, consultez la [Référence de l’API de données Amazon Redshift](https://docs.aws.amazon.com/redshift-data/latest/APIReference/).

# Transmission d’instructions SQL à un entrepôt de données Amazon Redshift
<a name="pass-sql-statements"></a>

Les exemples présentés dans cette page présentent différentes manières de transmettre une instruction SQL à votre entrepôt de données.

## Exécuter une instruction SQL
<a name="data-api-calling-cli-execute-statement"></a>

Pour exécuter une instruction SQL, utilisez la `aws redshift-data execute-statement` AWS CLI commande.

La AWS CLI commande suivante exécute une instruction SQL sur un cluster et renvoie un identifiant pour récupérer les résultats. Cet exemple utilise la méthode d’authentification AWS Secrets Manager .

```
aws redshift-data execute-statement 
    --secret-arn arn:aws:secretsmanager:us-west-2:123456789012:secret:myuser-secret-hKgPWn 
    --cluster-identifier mycluster-test 
    --sql "select * from stl_query limit 1" 
    --database dev
```

Voici un exemple de réponse.

```
{
    "ClusterIdentifier": "mycluster-test",
    "CreatedAt": 1598323175.823,
    "Database": "dev",
    "Id": "c016234e-5c6c-4bc5-bb16-2c5b8ff61814",
    "SecretArn": "arn:aws:secretsmanager:us-west-2:123456789012:secret:myuser-secret-hKgPWn"
}
```

La AWS CLI commande suivante exécute une instruction SQL sur un cluster et renvoie un identifiant pour récupérer les résultats. Cet exemple utilise la méthode d’authentification par informations d’identification temporaires.

```
aws redshift-data execute-statement 
    --db-user myuser 
    --cluster-identifier mycluster-test 
    --database dev 
    --sql "select * from stl_query limit 1"
```

Voici un exemple de réponse.

```
{
    "ClusterIdentifier": "mycluster-test",
    "CreatedAt": 1598306924.632,
    "Database": "dev",
    "DbUser": "myuser",
    "Id": "d9b6c0c9-0747-4bf4-b142-e8883122f766"
}
```

La AWS CLI commande suivante exécute une instruction SQL sur un groupe de travail sans serveur et renvoie un identifiant pour récupérer les résultats. Cet exemple utilise la méthode d’authentification par informations d’identification temporaires.

```
aws redshift-data execute-statement 
    --database dev 
    --workgroup-name myworkgroup 
    --sql "select 1;"
```

Voici un exemple de réponse.

```
{
 "CreatedAt": "2022-02-11T06:25:28.748000+00:00",
 "Database": "dev",
 "DbUser": "IAMR:RoleName",
 "Id": "89dd91f5-2d43-43d3-8461-f33aa093c41e",
 "WorkgroupName": "myworkgroup"
}
```

La AWS CLI commande suivante exécute une instruction SQL sur un cluster et renvoie un identifiant pour récupérer les résultats. Cet exemple utilise la méthode d’authentification AWS Secrets Manager et un jeton d’idempotence.

```
aws redshift-data execute-statement 
    --secret-arn arn:aws:secretsmanager:us-west-2:123456789012:secret:myuser-secret-hKgPWn 
    --cluster-identifier mycluster-test 
    --sql "select * from stl_query limit 1" 
    --database dev 
    --client-token b855dced-259b-444c-bc7b-d3e8e33f94g1
```

Voici un exemple de réponse.

```
{
    "ClusterIdentifier": "mycluster-test",
    "CreatedAt": 1598323175.823,
    "Database": "dev",
    "Id": "c016234e-5c6c-4bc5-bb16-2c5b8ff61814",
    "SecretArn": "arn:aws:secretsmanager:us-west-2:123456789012:secret:myuser-secret-hKgPWn"
}
```

## Exécuter une instruction SQL avec des paramètres
<a name="data-api-calling-cli-execute-statement-parameters"></a>

Pour exécuter une instruction SQL, utilisez la `aws redshift-data execute-statement` AWS CLI commande.

 La AWS CLI commande suivante exécute une instruction SQL sur un cluster et renvoie un identifiant pour récupérer les résultats. Cet exemple utilise la méthode d’authentification AWS Secrets Manager . Le texte SQL a un paramètre nommé `distance`. Dans ce cas, la distance utilisée dans le prédicat est `5`. Dans une instruction SELECT, les paramètres nommés pour les noms de colonnes ne peuvent être utilisés que dans le prédicat. Les valeurs des paramètres nommés pour l’instruction SQL sont spécifiées dans l’option `parameters`.

```
aws redshift-data execute-statement 
    --secret-arn arn:aws:secretsmanager:us-west-2:123456789012:secret:myuser-secret-hKgPWn 
    --cluster-identifier mycluster-test 
    --sql "SELECT ratecode FROM demo_table WHERE trip_distance > :distance"  
    --parameters "[{\"name\": \"distance\", \"value\": \"5\"}]"
    --database dev
```

Voici un exemple de réponse.

```
{
    "ClusterIdentifier": "mycluster-test",
    "CreatedAt": 1598323175.823,
    "Database": "dev",
    "Id": "c016234e-5c6c-4bc5-bb16-2c5b8ff61814",
    "SecretArn": "arn:aws:secretsmanager:us-west-2:123456789012:secret:myuser-secret-hKgPWn"
}
```

L’exemple de requête suivant utilise la table `EVENT` de l’exemple de base de données. Pour plus d’informations, consultez [Table EVENT](https://docs.aws.amazon.com/redshift/latest/dg/r_eventtable.html) dans le *Manuel du développeur de bases de données Amazon Redshift*. 

Si la table `EVENT` n’existe pas encore dans votre base de données, vous pouvez en créer une à l’aide de l’API de données comme suit :

```
aws redshift-data execute-statement 
--database dev
--cluster-id mycluster-test
--db-user awsuser
--sql "create table event( eventid integer not null distkey, 
                           venueid smallint not null, 
                           catid smallint not null, 
                           dateid smallint not null sortkey, 
                           eventname varchar(200), 
                           starttime timestamp)"
```

L’instruction suivante insère une ligne dans la table `EVENT`. 

```
aws redshift-data execute-statement 
--database dev
--cluster-id mycluster-test
--db-user awsuser 
--sql "insert into event values(:eventid, :venueid::smallint, :catid, :dateid, :eventname, :starttime)" 
--parameters "[{\"name\": \"eventid\", \"value\": \"1\"}, {\"name\": \"venueid\", \"value\": \"1\"}, 
               {\"name\": \"catid\", \"value\": \"1\"}, 
               {\"name\": \"dateid\", \"value\": \"1\"}, 
               {\"name\": \"eventname\", \"value\": \"event 1\"}, 
               {\"name\": \"starttime\", \"value\": \"2022-02-22\"}]"
```

L’instruction suivante insère une deuxième ligne dans la table `EVENT`. Cet exemple illustre ce scénario : 
+ Le paramètre nommé `id` est utilisé quatre fois dans le texte SQL.
+ La conversion de type implicite est appliquée automatiquement lors de l’insertion d’un paramètre `starttime`.
+ La colonne `venueid` est convertie en type de données SMALLINT.
+ Les chaînes de caractères qui représentent le type de données DATE sont implicitement converties en type de données TIMESTAMP.
+ Les commentaires peuvent être utilisés dans le texte SQL.

```
aws redshift-data execute-statement 
--database dev
--cluster-id mycluster-test
--db-user awsuser 
--sql "insert into event values(:id, :id::smallint, :id, :id, :eventname, :starttime) /*this is comment, and it won't apply parameterization for :id, :eventname or :starttime here*/" 
--parameters "[{\"name\": \"eventname\", \"value\": \"event 2\"}, 
               {\"name\": \"starttime\", \"value\": \"2022-02-22\"}, 
               {\"name\": \"id\", \"value\": \"2\"}]"
```

Voici les deux lignes insérées :

```
 eventid | venueid | catid | dateid | eventname |      starttime
---------+---------+-------+--------+-----------+---------------------
       1 |       1 |     1 |      1 | event 1   | 2022-02-22 00:00:00
       2 |       2 |     2 |      2 | event 2   | 2022-02-22 00:00:00
```

La commande suivante utilise un paramètre nommé dans une clause WHERE pour récupérer la ligne où `eventid` est `1`. 

```
aws redshift-data execute-statement 
--database dev
--cluster-id mycluster-test
--db-user awsuser 
--sql "select * from event where eventid=:id"
--parameters "[{\"name\": \"id\", \"value\": \"1\"}]"
```

Exécutez l’instruction suivante pour obtenir les résultats SQL de l’instruction SQL précédente :

```
aws redshift-data get-statement-result --id 7529ad05-b905-4d71-9ec6-8b333836eb5a        
```

Fournit les résultats suivants :

```
{
    "Records": [
        [
            {
                "longValue": 1
            },
            {
                "longValue": 1
            },
            {
                "longValue": 1
            },
            {
                "longValue": 1
            },
            {
                "stringValue": "event 1"
            },
            {
                "stringValue": "2022-02-22 00:00:00.0"
            }
        ]
    ],
    "ColumnMetadata": [
        {
            "isCaseSensitive": false,
            "isCurrency": false,
            "isSigned": true,
            "label": "eventid",
            "length": 0,
            "name": "eventid",
            "nullable": 0,
            "precision": 10,
            "scale": 0,
            "schemaName": "public",
            "tableName": "event",
            "typeName": "int4"
        },
        {
            "isCaseSensitive": false,
            "isCurrency": false,
            "isSigned": true,
            "label": "venueid",
            "length": 0,
            "name": "venueid",
            "nullable": 0,
            "precision": 5,
            "scale": 0,
            "schemaName": "public",
            "tableName": "event",
            "typeName": "int2"
        },
        {
            "isCaseSensitive": false,
            "isCurrency": false,
            "isSigned": true,
            "label": "catid",
            "length": 0,
            "name": "catid",
            "nullable": 0,
            "precision": 5,
            "scale": 0,
            "schemaName": "public",
            "tableName": "event",
            "typeName": "int2"
        },
        {
            "isCaseSensitive": false,
            "isCurrency": false,
            "isSigned": true,
            "label": "dateid",
            "length": 0,
            "name": "dateid",
            "nullable": 0,
            "precision": 5,
            "scale": 0,
            "schemaName": "public",
            "tableName": "event",
            "typeName": "int2"
        },
        {
            "isCaseSensitive": true,
            "isCurrency": false,
            "isSigned": false,
            "label": "eventname",
            "length": 0,
            "name": "eventname",
            "nullable": 1,
            "precision": 200,
            "scale": 0,
            "schemaName": "public",
            "tableName": "event",
            "typeName": "varchar"
        },
        {
            "isCaseSensitive": false,
            "isCurrency": false,
            "isSigned": false,
            "label": "starttime",
            "length": 0,
            "name": "starttime",
            "nullable": 1,
            "precision": 29,
            "scale": 6,
            "schemaName": "public",
            "tableName": "event",
            "typeName": "timestamp"
        }
    ],
    "TotalNumRows": 1
}
```

## Exécuter plusieurs instructions SQL
<a name="data-api-calling-cli-batch-execute-statement"></a>

Pour exécuter plusieurs instructions SQL avec une seule commande, utilisez la `aws redshift-data batch-execute-statement` AWS CLI commande.

La AWS CLI commande suivante exécute trois instructions SQL sur un cluster et renvoie un identifiant pour récupérer les résultats. Cet exemple utilise la méthode d’authentification par informations d’identification temporaires.

```
aws redshift-data batch-execute-statement 
    --db-user myuser 
    --cluster-identifier mycluster-test 
    --database dev 
    --sqls "set timezone to BST" "select * from mytable" "select * from another_table"
```

Voici un exemple de réponse.

```
{
    "ClusterIdentifier": "mycluster-test",
    "CreatedAt": 1598306924.632,
    "Database": "dev",
    "DbUser": "myuser",
    "Id": "d9b6c0c9-0747-4bf4-b142-e8883122f766"
}
```

# Répertorier les métadonnées sur les instructions SQL
<a name="data-api-calling-cli-list-statements"></a>

Pour répertorier les métadonnées relatives aux instructions SQL, utilisez la `aws redshift-data list-statements` AWS CLI commande. L’autorisation d’exécuter cette commande est basée sur les autorisations IAM de l’appelant.

La AWS CLI commande suivante répertorie les instructions SQL exécutées.

```
aws redshift-data list-statements 
    --status ALL
```

Voici un exemple de réponse.

```
{
    "Statements": [
        {
            "CreatedAt": 1598306924.632,
            "Id": "d9b6c0c9-0747-4bf4-b142-e8883122f766",
            "QueryString": "select * from stl_query limit 1",
            "Status": "FINISHED",
            "UpdatedAt": 1598306926.667
        },
        {
            "CreatedAt": 1598311717.437,
            "Id": "e0ebd578-58b3-46cc-8e52-8163fd7e01aa",
            "QueryString": "select * from stl_query limit 1",
            "Status": "FAILED",
            "UpdatedAt": 1598311719.008
        },
        {
            "CreatedAt": 1598313683.65,
            "Id": "c361d4f7-8c53-4343-8c45-6b2b1166330c",
            "QueryString": "select * from stl_query limit 1",
            "Status": "ABORTED",
            "UpdatedAt": 1598313685.495
        },
        {
            "CreatedAt": 1598306653.333,
            "Id": "a512b7bd-98c7-45d5-985b-a715f3cfde7f",
            "QueryString": "select 1",
            "Status": "FINISHED",
            "UpdatedAt": 1598306653.992
        }
    ]
}
```

# Décrire des métadonnées à propos d’une instruction SQL
<a name="data-api-calling-cli-describe-statement"></a>

Pour obtenir la description des métadonnées d'une instruction SQL, utilisez la `aws redshift-data describe-statement` AWS CLI commande. L’autorisation d’exécuter cette commande est basée sur les autorisations IAM de l’appelant. 

La AWS CLI commande suivante décrit une instruction SQL. 

```
aws redshift-data describe-statement 
    --id d9b6c0c9-0747-4bf4-b142-e8883122f766
```

Voici un exemple de réponse.

```
{
    "ClusterIdentifier": "mycluster-test",
    "CreatedAt": 1598306924.632,
    "Duration": 1095981511,
    "Id": "d9b6c0c9-0747-4bf4-b142-e8883122f766",
    "QueryString": "select * from stl_query limit 1",
    "RedshiftPid": 20859,
    "RedshiftQueryId": 48879,
    "ResultRows": 1,
    "ResultSize": 4489,
    "Status": "FINISHED",
    "UpdatedAt": 1598306926.667
}
```

Voici un exemple de réponse de `describe-statement` après l’exécution d’une commande `batch-execute-statement` avec plusieurs instructions SQL.

```
{
    "ClusterIdentifier": "mayo",
    "CreatedAt": 1623979777.126,
    "Duration": 6591877,
    "HasResultSet": true,
    "Id": "b2906c76-fa6e-4cdf-8c5f-4de1ff9b7652",
    "RedshiftPid": 31459,
    "RedshiftQueryId": 0,
    "ResultRows": 2,
    "ResultSize": 22,
    "Status": "FINISHED",
    "SubStatements": [
        {
            "CreatedAt": 1623979777.274,
            "Duration": 3396637,
            "HasResultSet": true,
            "Id": "b2906c76-fa6e-4cdf-8c5f-4de1ff9b7652:1",
            "QueryString": "select 1;",
            "RedshiftQueryId": -1,
            "ResultRows": 1,
            "ResultSize": 11,
            "Status": "FINISHED",
            "UpdatedAt": 1623979777.903
        },
        {
            "CreatedAt": 1623979777.274,
            "Duration": 3195240,
            "HasResultSet": true,
            "Id": "b2906c76-fa6e-4cdf-8c5f-4de1ff9b7652:2",
            "QueryString": "select 2;",
            "RedshiftQueryId": -1,
            "ResultRows": 1,
            "ResultSize": 11,
            "Status": "FINISHED",
            "UpdatedAt": 1623979778.076
        }
    ],
    "UpdatedAt": 1623979778.183
}
```

# Récupérer les résultats d’une instruction SQL
<a name="data-api-calling-cli-get-statement-result"></a>

Pour récupérer le résultat d'une instruction SQL exécutée, utilisez la `redshift-data get-statement-result-v2` AWS CLI commande `redshift-data get-statement-result` or. Les résultats de `get-statement-result` sont au format JSON. Les résultats de `get-statement-result-v2` sont au format CSV. Vous pouvez spécifier un `Id` que vous recevez en réponse à `execute-statement` ou `batch-execute-statement`. La valeur `Id` d’une instruction SQL exécutée par `batch-execute-statement` peut être récupéré dans le résultat de `describe-statement` et son suffixe est composé de deux points suivis d’un numéro de séquence tel que `b2906c76-fa6e-4cdf-8c5f-4de1ff9b7652:2`. Si vous exécutez plusieurs instructions SQL avec `batch-execute-statement`, chaque instruction SQL a une valeur `Id` comme indiqué dans `describe-statement`. L’autorisation d’exécuter cette commande est basée sur les autorisations IAM de l’appelant. 

L’instruction suivante renvoie le résultat d’une instruction SQL exécutée par `execute-statement` laissant le `ResultFormat` par défaut sur `JSON`. Pour récupérer les résultats, appelez l’opération `get-statement-result`.

```
aws redshift-data get-statement-result 
    --id d9b6c0c9-0747-4bf4-b142-e8883122f766
```

L’instruction suivante renvoie le résultat de la deuxième instruction SQL exécutée par `batch-execute-statement`.

```
aws redshift-data get-statement-result 
    --id b2906c76-fa6e-4cdf-8c5f-4de1ff9b7652:2
```

Voici un exemple de réponse à un appel de `get-statement-result` où le résultat SQL est renvoyé au format JSON dans la clé `Records` de la réponse.

```
{
    "ColumnMetadata": [
        {
            "isCaseSensitive": false,
            "isCurrency": false,
            "isSigned": true,
            "label": "userid",
            "length": 0,
            "name": "userid",
            "nullable": 0,
            "precision": 10,
            "scale": 0,
            "schemaName": "",
            "tableName": "stll_query",
            "typeName": "int4"
        },
        {
            "isCaseSensitive": false,
            "isCurrency": false,
            "isSigned": true,
            "label": "query",
            "length": 0,
            "name": "query",
            "nullable": 0,
            "precision": 10,
            "scale": 0,
            "schemaName": "",
            "tableName": "stll_query",
            "typeName": "int4"
        },
        {
            "isCaseSensitive": true,
            "isCurrency": false,
            "isSigned": false,
            "label": "label",
            "length": 0,
            "name": "label",
            "nullable": 0,
            "precision": 320,
            "scale": 0,
            "schemaName": "",
            "tableName": "stll_query",
            "typeName": "bpchar"
        },
        {
            "isCaseSensitive": false,
            "isCurrency": false,
            "isSigned": true,
            "label": "xid",
            "length": 0,
            "name": "xid",
            "nullable": 0,
            "precision": 19,
            "scale": 0,
            "schemaName": "",
            "tableName": "stll_query",
            "typeName": "int8"
        },
        {
            "isCaseSensitive": false,
            "isCurrency": false,
            "isSigned": true,
            "label": "pid",
            "length": 0,
            "name": "pid",
            "nullable": 0,
            "precision": 10,
            "scale": 0,
            "schemaName": "",
            "tableName": "stll_query",
            "typeName": "int4"
        },
        {
            "isCaseSensitive": true,
            "isCurrency": false,
            "isSigned": false,
            "label": "database",
            "length": 0,
            "name": "database",
            "nullable": 0,
            "precision": 32,
            "scale": 0,
            "schemaName": "",
            "tableName": "stll_query",
            "typeName": "bpchar"
        },
        {
            "isCaseSensitive": true,
            "isCurrency": false,
            "isSigned": false,
            "label": "querytxt",
            "length": 0,
            "name": "querytxt",
            "nullable": 0,
            "precision": 4000,
            "scale": 0,
            "schemaName": "",
            "tableName": "stll_query",
            "typeName": "bpchar"
        },
        {
            "isCaseSensitive": false,
            "isCurrency": false,
            "isSigned": false,
            "label": "starttime",
            "length": 0,
            "name": "starttime",
            "nullable": 0,
            "precision": 29,
            "scale": 6,
            "schemaName": "",
            "tableName": "stll_query",
            "typeName": "timestamp"
        },
        {
            "isCaseSensitive": false,
            "isCurrency": false,
            "isSigned": false,
            "label": "endtime",
            "length": 0,
            "name": "endtime",
            "nullable": 0,
            "precision": 29,
            "scale": 6,
            "schemaName": "",
            "tableName": "stll_query",
            "type": 93,
            "typeName": "timestamp"
        },
        {
            "isCaseSensitive": false,
            "isCurrency": false,
            "isSigned": true,
            "label": "aborted",
            "length": 0,
            "name": "aborted",
            "nullable": 0,
            "precision": 10,
            "scale": 0,
            "schemaName": "",
            "tableName": "stll_query",
            "typeName": "int4"
        },
        {
            "isCaseSensitive": false,
            "isCurrency": false,
            "isSigned": true,
            "label": "insert_pristine",
            "length": 0,
            "name": "insert_pristine",
            "nullable": 0,
            "precision": 10,
            "scale": 0,
            "schemaName": "",
            "tableName": "stll_query",
            "typeName": "int4"
        },
        {
            "isCaseSensitive": false,
            "isCurrency": false,
            "isSigned": true,
            "label": "concurrency_scaling_status",
            "length": 0,
            "name": "concurrency_scaling_status",
            "nullable": 0,
            "precision": 10,
            "scale": 0,
            "schemaName": "",
            "tableName": "stll_query",
            "typeName": "int4"
        }
    ],
    "Records": [
        [
            {
                "longValue": 1
            },
            {
                "longValue": 3
            },
            {
                "stringValue": "health"
            },
            {
                "longValue": 1023
            },
            {
                "longValue": 15279
            },
            {
                "stringValue": "dev"
            },
            {
                "stringValue": "select system_status from stv_gui_status;"
            },
            {
                "stringValue": "2020-08-21 17:33:51.88712"
            },
            {
                "stringValue": "2020-08-21 17:33:52.974306"
            },
            {
                "longValue": 0
            },
            {
                "longValue": 0
            },
            {
                "longValue": 6
            }
        ]
    ],
    "TotalNumRows": 1
}
```

L’exemple suivant montre une instruction SQL exécutée par `execute-statement` pour renvoyer des résultats au format JSON. La table `testingtable` comporte trois colonnes entières (col1, col2, col3) et trois lignes contenant des valeurs (1, 2, 3), (4, 5, 6) et (7, 8, 9).

```
aws redshift-data execute-statement 
    --database dev 
    --sql "SELECT col1, col2, col3 FROM testingtable" 
    --cluster-id mycluster-test 
    --result-format JSON
```

```
{
    "ClusterIdentifier": "mycluster-test",
    "CreatedAt": "2024-04-02T16:45:25.144000+00:00",
    "Database": "dev",
    "DbUser": "IAMR:Administrator",
    "Id": "d468d942-6df9-4f85-8ae3-bac01a61aec3"
}
```

Voici un exemple de réponse à un appel de `get-statement-result` où le résultat SQL est renvoyé au format JSON dans la clé `Records` de la réponse.

```
aws redshift-data get-statement-result
    --id d468d942-6df9-4f85-8ae3-bac01a61aec3
```

```
{
    "Records": [
        [
            {
                "longValue": 1
            },
            {
                "longValue": 2
            },
            {
                "longValue": 3
            }
        ],
        [
            {
                "longValue": 4
            },
            {
                "longValue": 5
            },
            {
                "longValue": 6
            }
        ],
        [
            {
                "longValue": 7
            },
            {
                "longValue": 8
            },
            {
                "longValue": 9
            }
        ]
    ],
    "ColumnMetadata": [
        {
            "isCaseSensitive": false,
            "isCurrency": false,
            "isSigned": true,
            "label": "col1",
            "name": "col1",
            "nullable": 1,
            "precision": 10,
            "scale": 0,
            "schemaName": "public",
            "tableName": "testingtable",
            "typeName": "int4",
            "length": 0
        },
        {
            "isCaseSensitive": false,
            "isCurrency": false,
            "isSigned": true,
            "label": "col2",
            "name": "col2",
            "nullable": 1,
            "precision": 10,
            "scale": 0,
            "schemaName": "public",
            "tableName": "testingtable",
            "typeName": "int4",
            "length": 0
        },
        {
            "isCaseSensitive": false,
            "isCurrency": false,
            "isSigned": true,
            "label": "col3",
            "name": "col3",
            "nullable": 1,
            "precision": 10,
            "scale": 0,
            "schemaName": "public",
            "tableName": "testingtable",
            "typeName": "int4",
            "length": 0
        }
    ],
    "TotalNumRows": 3
}
```

L’exemple suivant montre une instruction SQL exécutée par `execute-statement` pour renvoyer des résultats au format CSV. La table `testingtable` comporte trois colonnes entières (col1, col2, col3) et trois lignes contenant des valeurs (1, 2, 3), (4, 5, 6) et (7, 8, 9).

```
aws redshift-data execute-statement 
    --database dev 
    --sql "SELECT col1, col2, col3 FROM testingtable" 
    --cluster-id mycluster-test 
    --result-format CSV
```

```
{
    "ClusterIdentifier": "mycluster-test",
    "CreatedAt": "2024-04-02T16:45:25.144000+00:00",
    "Database": "dev",
    "DbUser": "IAMR:Administrator",
    "Id": "d468d942-6df9-4f85-8ae3-bac01a61aec3"
}
```

Voici un exemple de réponse à un appel de `get-statement-result-v2` où le résultat SQL est renvoyé au format CSV dans la clé `Records` de la réponse. Les lignes sont séparées par un retour du chariot et par une nouvelle ligne (\$1r\$1n). La première ligne renvoyée dans `Records` correspond aux en-têtes de colonne. Les résultats renvoyés au format CSV sont renvoyés dans un format de 1 Mo, chaque bloc pouvant stocker un nombre quelconque de lignes allant jusqu’à 1 Mo. 

```
aws redshift-data get-statement-result-v2
    --id d468d942-6df9-4f85-8ae3-bac01a61aec3
```

```
{
    "Records": [
        {
            "CSVRecords": "col1,col2,col3\r\n1,2,3\r\n4,5,6\r\n7,8,9\r\n"
        }
    ],
    "ColumnMetadata": [
        {
            "isCaseSensitive": false,
            "isCurrency": false,
            "isSigned": true,
            "label": "col1",
            "name": "col1",
            "nullable": 1,
            "precision": 10,
            "scale": 0,
            "schemaName": "public",
            "tableName": "testingtable",
            "typeName": "int4",
            "length": 0
        },
        {
            "isCaseSensitive": false,
            "isCurrency": false,
            "isSigned": true,
            "label": "col2",
            "name": "col2",
            "nullable": 1,
            "precision": 10,
            "scale": 0,
            "schemaName": "public",
            "tableName": "testingtable",
            "typeName": "int4",
            "length": 0
        },
        {
            "isCaseSensitive": false,
            "isCurrency": false,
            "isSigned": true,
            "label": "col3",
            "name": "col3",
            "nullable": 1,
            "precision": 10,
            "scale": 0,
            "schemaName": "public",
            "tableName": "testingtable",
            "typeName": "int4",
            "length": 0
        }
    ],
    "TotalNumRows": 3,
    "ResultFormat": "csv"
}
```

# Décrire une table
<a name="data-api-calling-cli-describe-table"></a>

Pour obtenir des métadonnées décrivant une table, utilisez la `aws redshift-data describe-table` AWS CLI commande.

La AWS CLI commande suivante exécute une instruction SQL sur un cluster et renvoie des métadonnées décrivant une table. Cet exemple utilise la méthode AWS Secrets Manager d'authentification.

```
aws redshift-data describe-table  
    --cluster-identifier mycluster-test 
    --database dev 
    --schema information_schema 
    --table sql_features 
    --secret-arn arn:aws:secretsmanager:us-west-2:123456789012:secret:myuser-secret-hKgPWn
```

Voici un exemple de réponse.

```
{
    "ColumnList": [
        {
            "isCaseSensitive": false,
            "isCurrency": false,
            "isSigned": false,
            "length": 2147483647,
            "name": "feature_id",
            "nullable": 1,
            "precision": 2147483647,
            "scale": 0,
            "schemaName": "information_schema",
            "tableName": "sql_features",
            "typeName": "character_data"
        },
        {
            "isCaseSensitive": false,
            "isCurrency": false,
            "isSigned": false,
            "length": 2147483647,
            "name": "feature_name",
            "nullable": 1,
            "precision": 2147483647,
            "scale": 0,
            "schemaName": "information_schema",
            "tableName": "sql_features",
            "typeName": "character_data"
        }     
    ]
}
```

La AWS CLI commande suivante exécute une instruction SQL sur un cluster qui décrit une table. Cet exemple utilise la méthode d’authentification par informations d’identification temporaires.

```
aws redshift-data describe-table 
    --db-user myuser 
    --cluster-identifier mycluster-test 
    --database dev 
    --schema information_schema 
    --table sql_features
```

Voici un exemple de réponse.

```
{
    "ColumnList": [
        {
            "isCaseSensitive": false,
            "isCurrency": false,
            "isSigned": false,
            "length": 2147483647,
            "name": "feature_id",
            "nullable": 1,
            "precision": 2147483647,
            "scale": 0,
            "schemaName": "information_schema",
            "tableName": "sql_features",
            "typeName": "character_data"
        },
        {
            "isCaseSensitive": false,
            "isCurrency": false,
            "isSigned": false,
            "length": 2147483647,
            "name": "feature_name",
            "nullable": 1,
            "precision": 2147483647,
            "scale": 0,
            "schemaName": "information_schema",
            "tableName": "sql_features",
            "typeName": "character_data"
        },
        {
            "isCaseSensitive": false,
            "isCurrency": false,
            "isSigned": false,
            "length": 2147483647,
            "name": "sub_feature_id",
            "nullable": 1,
            "precision": 2147483647,
            "scale": 0,
            "schemaName": "information_schema",
            "tableName": "sql_features",
            "typeName": "character_data"
        },
        {
            "isCaseSensitive": false,
            "isCurrency": false,
            "isSigned": false,
            "length": 2147483647,
            "name": "sub_feature_name",
            "nullable": 1,
            "precision": 2147483647,
            "scale": 0,
            "schemaName": "information_schema",
            "tableName": "sql_features",
            "typeName": "character_data"
        },
        {
            "isCaseSensitive": false,
            "isCurrency": false,
            "isSigned": false,
            "length": 2147483647,
            "name": "is_supported",
            "nullable": 1,
            "precision": 2147483647,
            "scale": 0,
            "schemaName": "information_schema",
            "tableName": "sql_features",
            "typeName": "character_data"
        },
        {
            "isCaseSensitive": false,
            "isCurrency": false,
            "isSigned": false,
            "length": 2147483647,
            "name": "is_verified_by",
            "nullable": 1,
            "precision": 2147483647,
            "scale": 0,
            "schemaName": "information_schema",
            "tableName": "sql_features",
            "typeName": "character_data"
        },
        {
            "isCaseSensitive": false,
            "isCurrency": false,
            "isSigned": false,
            "length": 2147483647,
            "name": "comments",
            "nullable": 1,
            "precision": 2147483647,
            "scale": 0,
            "schemaName": "information_schema",
            "tableName": "sql_features",
            "typeName": "character_data"
        }
    ]
}
```

# Répertorier les bases de données dans un cluster
<a name="data-api-calling-cli-list-databases"></a>

Pour répertorier les bases de données d'un cluster, utilisez la `aws redshift-data list-databases` AWS CLI commande.

La AWS CLI commande suivante exécute une instruction SQL sur un cluster pour répertorier les bases de données. Cet exemple utilise la méthode AWS Secrets Manager d'authentification.

```
aws redshift-data list-databases  

    --secret-arn arn:aws:secretsmanager:us-west-2:123456789012:secret:myuser-secret-hKgPWn 
    --cluster-identifier mycluster-test 
    --database dev
```

Voici un exemple de réponse.

```
{
    "Databases": [
        "dev"
    ]
}
```

La AWS CLI commande suivante exécute une instruction SQL sur un cluster pour répertorier les bases de données. Cet exemple utilise la méthode d’authentification par informations d’identification temporaires.

```
aws redshift-data list-databases  
    --db-user myuser 
    --cluster-identifier mycluster-test 
    --database dev
```

Voici un exemple de réponse.

```
{
    "Databases": [
        "dev"
    ]
}
```

# Répertorier les schémas dans une base de données
<a name="data-api-calling-cli-list-schemas"></a>

Pour répertorier les schémas d'une base de données, utilisez la `aws redshift-data list-schemas` AWS CLI commande.

La AWS CLI commande suivante exécute une instruction SQL sur un cluster pour répertorier les schémas d'une base de données. Cet exemple utilise la méthode AWS Secrets Manager d'authentification.

```
aws redshift-data list-schemas 
    --secret-arn arn:aws:secretsmanager:us-west-2:123456789012:secret:myuser-secret-hKgPWn 
    --cluster-identifier mycluster-test 
    --database dev
```

Voici un exemple de réponse.

```
{
    "Schemas": [
        "information_schema",
        "pg_catalog",
        "pg_internal",
        "public"
    ]
}
```

La AWS CLI commande suivante exécute une instruction SQL sur un cluster pour répertorier les schémas d'une base de données. Cet exemple utilise la méthode d’authentification par informations d’identification temporaires.

```
aws redshift-data list-schemas 
    --db-user mysuser 
    --cluster-identifier mycluster-test 
    --database dev
```

Voici un exemple de réponse.

```
{
    "Schemas": [
        "information_schema",
        "pg_catalog",
        "pg_internal",
        "public"
    ]
}
```

# Répertorier les tables dans une base de données
<a name="data-api-calling-cli-list-tables"></a>

Pour répertorier les tables d'une base de données, utilisez la `aws redshift-data list-tables` AWS CLI commande.

La AWS CLI commande suivante exécute une instruction SQL sur un cluster pour répertorier les tables d'une base de données. Cet exemple utilise la méthode AWS Secrets Manager d'authentification.

```
aws redshift-data list-tables 
    --secret-arn arn:aws:secretsmanager:us-west-2:123456789012:secret:myuser-secret-hKgPWn 
    --cluster-identifier mycluster-test 
    --database dev 
    --schema information_schema
```

Voici un exemple de réponse.

```
{
    "Tables": [
        {
            "name": "sql_features",
            "schema": "information_schema",
            "type": "SYSTEM TABLE"
        },
        {
            "name": "sql_implementation_info",
            "schema": "information_schema",
            "type": "SYSTEM TABLE"
        }
}
```

La AWS CLI commande suivante exécute une instruction SQL sur un cluster pour répertorier les tables d'une base de données. Cet exemple utilise la méthode d’authentification par informations d’identification temporaires.

```
aws redshift-data list-tables  

     --db-user myuser 
     --cluster-identifier mycluster-test 
     --database dev 
     --schema information_schema
```

Voici un exemple de réponse.

```
{
    "Tables": [
        {
            "name": "sql_features",
            "schema": "information_schema",
            "type": "SYSTEM TABLE"
        },
        {
            "name": "sql_implementation_info",
            "schema": "information_schema",
            "type": "SYSTEM TABLE"
        }
    ]
}
```

# Résolution des problèmes liés à l’API de données Amazon Redshift
<a name="data-api-troubleshooting"></a>

Utilisez les sections suivantes, dont le titre correspond aux messages d’erreur courants, pour vous aider à résoudre les problèmes que vous rencontrez avec l’API de données. 

**Topics**
+ [Packet for query is too large](#data-api-troubleshooting-packet-too-large)
+ [Database Response Exceeded Size Limit](#data-api-troubleshooting-response-size-too-large)

## Packet for query is too large
<a name="data-api-troubleshooting-packet-too-large"></a>

Si vous obtenez une erreur indiquant que le paquet pour une requête est trop grand, cela signifie généralement que l’ensemble de résultats renvoyé pour une ligne est trop grand. La taille de l’API de données ne doit pas dépasser 64 Ko par ligne dans le jeu de résultat renvoyé par la base de données.

Pour résoudre ce problème, assurez-vous que la taille de chaque ligne d’un jeu de résultat est inférieure ou égale à 64 Ko.

## Database Response Exceeded Size Limit
<a name="data-api-troubleshooting-response-size-too-large"></a>

Si vous obtenez une erreur indiquant que la réponse de la base de données a dépassé la limite de taille, cela signifie généralement que la taille de l’ensemble de résultats renvoyé par la base de données était trop importante. La limite de l'API de données est de 500 Mo dans le jeu de résultats renvoyé par la base de données.

Pour résoudre ce problème, assurez-vous que les appels à l'API Data renvoient 500 Mo de données ou moins. Si vous devez renvoyer plus de 500 Mo, vous pouvez exécuter plusieurs appels d'instruction avec la `LIMIT` clause contenue dans votre requête.

# Planification des opérations de l'API Amazon Redshift Data avec Amazon EventBridge
<a name="data-api-calling-event-bridge"></a>

Vous pouvez créer des règles qui correspondent à des événements sélectionnés et les acheminent vers des cibles pour qu’elles prennent des mesures. Vous pouvez également utiliser des règles pour effectuer des actions sur une planification prédéterminée. Pour plus d'informations, consultez le [guide de EventBridge l'utilisateur Amazon](https://docs.aws.amazon.com/eventbridge/latest/userguide/). 

Pour planifier les opérations de l'API de données avec EventBridge, le rôle IAM associé doit faire confiance au principal pour les CloudWatch événements (events.amazonaws.com). Ce rôle doit être assorti de l’équivalent de la politique gérée `AmazonEventBridgeFullAccess`. Il doit également disposer des autorisations de la politique `AmazonRedshiftDataFullAccess` qui sont gérées par l’API de données. Vous pouvez créer un rôle IAM avec ces autorisations sur la console IAM. Lorsque vous créez un rôle sur la console IAM, choisissez l'entité de confiance du AWS service pour les CloudWatch événements. Spécifiez le rôle IAM dans la valeur `RoleArn` JSON de la EventBridge cible. Pour plus d'informations sur la création d'un rôle IAM, consultez la section [Création d'un rôle pour un AWS service (console)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html#roles-creatingrole-service-console) dans le guide de l'*utilisateur IAM*.

La `name` règle que vous créez dans Amazon EventBridge doit correspondre `StatementName` à celle du`RedshiftDataParameters`.

Les exemples suivants montrent des variantes de création de EventBridge règles avec une ou plusieurs instructions SQL et avec un cluster Amazon Redshift ou un groupe de travail Amazon Redshift Serverless comme entrepôt de données.

## Appel à l’aide d’une seule instruction SQL et d’un cluster
<a name="data-api-calling-event-bridge-sql-cluster"></a>

L'exemple suivant utilise le AWS CLI pour créer une EventBridge règle qui est utilisée pour exécuter une instruction SQL sur un cluster Amazon Redshift.

```
aws events put-rule 
--name test-redshift-cluster-data 
--schedule-expression "rate(1 minute)"
```

Ensuite, une EventBridge cible est créée pour s'exécuter selon le calendrier spécifié dans la règle. 

```
aws events put-targets 
--cli-input-json file://data.json
```

Le fichier d’entrée data.json se présente comme suit. La clé JSON `Sql` indique qu’il y a une seule instruction SQL. La valeur JSON `Arn` contient un identifiant de cluster. La valeur JSON `RoleArn` contient le rôle IAM utilisé pour exécuter le SQL comme décrit précédemment. 

```
{
    "Rule": "test-redshift-cluster-data",
    "EventBusName": "default",
    "Targets": [
        {
            "Id": "2",
            "Arn": "arn:aws:redshift:us-east-1:123456789012:cluster:mycluster",
            "RoleArn": "arn:aws:iam::123456789012:role/Administrator",
            "RedshiftDataParameters": {
                "Database": "dev",
                "DbUser": "root",
                "Sql": "select 1;",
                "StatementName": "test-redshift-cluster-data",
                "WithEvent": true
            }
        }
    ]
}
```

## Appel à l’aide d’une seule instruction SQL et d’un groupe de travail
<a name="data-api-calling-event-bridge-sql-workgroup"></a>

L'exemple suivant utilise le AWS CLI pour créer une EventBridge règle qui est utilisée pour exécuter une instruction SQL sur un groupe de travail Amazon Redshift Serverless.

```
aws events put-rule 
--name  test-redshift-serverless-workgroup-data 
--schedule-expression "rate(1 minute)"
```

Ensuite, une EventBridge cible est créée pour s'exécuter selon le calendrier spécifié dans la règle. 

```
aws events put-targets 
--cli-input-json file://data.json
```

Le fichier d’entrée data.json se présente comme suit. La clé JSON `Sql` indique qu’il y a une seule instruction SQL. La valeur JSON `Arn` contient un nom de groupe de travail. La valeur JSON `RoleArn` contient le rôle IAM utilisé pour exécuter le SQL comme décrit précédemment. 

```
{
    "Rule": "test-redshift-serverless-workgroup-data", 
    "EventBusName": "default", 
    "Targets": [ 
        {
            "Id": "2",
            "Arn": "arn:aws:redshift-serverless:us-east-1:123456789012:workgroup/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111",
            "RoleArn": "arn:aws:iam::123456789012:role/Administrator", 
            "RedshiftDataParameters": {
                "Database": "dev",
                "Sql": "select 1;",
                "StatementName": "test-redshift-serverless-workgroup-data", 
                "WithEvent": true 
            } 
        } 
    ] 
}
```

## Appel à l’aide de plusieurs instructions SQL et d’un cluster
<a name="data-api-calling-event-bridge-sqls-cluster"></a>

L'exemple suivant utilise le AWS CLI pour créer une EventBridge règle qui est utilisée pour exécuter plusieurs instructions SQL sur un cluster Amazon Redshift.

```
aws events put-rule 
--name  test-redshift-cluster-data 
--schedule-expression "rate(1 minute)"
```

Ensuite, une EventBridge cible est créée pour s'exécuter selon le calendrier spécifié dans la règle. 

```
aws events put-targets 
--cli-input-json file://data.json
```

Le fichier d’entrée data.json se présente comme suit. La clé JSON `Sqls` indique qu’il existe plusieurs instructions SQL. La valeur JSON `Arn` contient un identifiant de cluster. La valeur JSON `RoleArn` contient le rôle IAM utilisé pour exécuter le SQL comme décrit précédemment. 

```
{
    "Rule": "test-redshift-cluster-data", 
    "EventBusName": "default", 
    "Targets": [ 
        {
            "Id": "2",
            "Arn": "arn:aws:redshift:us-east-1:123456789012:cluster:mycluster",
            "RoleArn": "arn:aws:iam::123456789012:role/Administrator", 
            "RedshiftDataParameters": {
                "Database": "dev",
                "Sqls": ["select 1;", "select 2;", "select 3;"],
                "StatementName": "test-redshift-cluster-data", 
                "WithEvent": true 
            } 
        } 
    ] 
}
```

## Appel à l’aide de plusieurs instructions SQL et d’un groupe de travail
<a name="data-api-calling-event-bridge-sqls-workgroup"></a>

L'exemple suivant utilise le AWS CLI pour créer une EventBridge règle qui est utilisée pour exécuter plusieurs instructions SQL sur un groupe de travail Amazon Redshift Serverless.

```
aws events put-rule 
--name  test-redshift-serverless-workgroup-data 
--schedule-expression "rate(1 minute)"
```

Ensuite, une EventBridge cible est créée pour s'exécuter selon le calendrier spécifié dans la règle. 

```
aws events put-targets 
--cli-input-json file://data.json
```

Le fichier d’entrée data.json se présente comme suit. La clé JSON `Sqls` indique qu’il existe plusieurs instructions SQL. La valeur JSON `Arn` contient un nom de groupe de travail. La valeur JSON `RoleArn` contient le rôle IAM utilisé pour exécuter le SQL comme décrit précédemment. 

```
{
    "Rule": "test-redshift-serverless-workgroup-data", 
    "EventBusName": "default", 
    "Targets": [ 
        {
            "Id": "2",
            "Arn": "arn:aws:redshift-serverless:us-east-1:123456789012:workgroup/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111",
            "RoleArn": "arn:aws:iam::123456789012:role/Administrator", 
            "RedshiftDataParameters": {
                "Database": "dev",
                "Sqls": ["select 1;", "select 2;", "select 3;"],
                "StatementName": "test-redshift-serverless-workgroup-data", 
                "WithEvent": true 
            } 
        } 
    ] 
}
```

# Surveillance de l’API de données
<a name="data-api-monitoring"></a>

La surveillance joue un rôle important dans le maintien de la fiabilité, de la disponibilité et des performances de l'API de données et de vos autres AWS solutions. AWS fournit les outils de surveillance suivants pour surveiller l'API de données, signaler un problème et prendre des mesures automatiques le cas échéant : 
+ Amazon EventBridge peut être utilisé pour automatiser vos AWS services et répondre automatiquement aux événements du système, tels que les problèmes de disponibilité des applications ou les modifications des ressources. Les événements liés AWS aux services sont diffusés EventBridge en temps quasi réel. Vous pouvez écrire des règles simples pour préciser les événements qui vous intéressent et les actions automatisées à effectuer quand un événement correspond à une règle. Pour plus d'informations, consultez le [guide de EventBridge l'utilisateur Amazon](https://docs.aws.amazon.com/eventbridge/latest/userguide/). 
+ AWS CloudTrail capture les appels d'API et les événements associés effectués par ou pour le compte de votre AWS compte et envoie les fichiers journaux dans un compartiment Amazon S3 que vous spécifiez. Vous pouvez identifier les utilisateurs et les comptes appelés AWS, l'adresse IP source à partir de laquelle les appels ont été effectués et la date des appels. Pour en savoir plus sur la façon dont Amazon Redshift est intégré AWS CloudTrail, consultez [Logging](https://docs.aws.amazon.com/redshift/latest/mgmt/logging-with-cloudtrail.html) with. CloudTrail Pour plus d'informations CloudTrail, consultez le [guide de AWS CloudTrail l'utilisateur](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/). 

**Topics**
+ [Surveillance des événements pour l'API Amazon Redshift Data sur Amazon EventBridge](data-api-monitoring-events.md)

# Surveillance des événements pour l'API Amazon Redshift Data sur Amazon EventBridge
<a name="data-api-monitoring-events"></a>

Vous pouvez surveiller les événements de l'API de données dans EventBridge, qui fournit un flux de données en temps réel à partir de vos propres applications, applications software-as-a-service (SaaS) et AWS services. EventBridge achemine ces données vers des cibles telles qu' AWS Lambda Amazon SNS. Ces événements sont les mêmes que ceux qui apparaissent dans CloudWatch Events, qui fournit un flux quasi en temps réel d'événements système décrivant les modifications apportées aux AWS ressources. Les événements sont envoyés au compte qui contient la base de données Amazon Redshift. Par exemple, si vous assumez un rôle dans un autre compte, les événements sont envoyés à ce compte. Pour plus d'informations, consultez les [ EventBridge événements Amazon](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-events.html) dans le *guide de EventBridge l'utilisateur Amazon.* . 

Les événements de l’API de données sont envoyés lorsque l’opération de l’API `ExecuteStatement` ou `BatchExecuteStatement` attribue à l’option `WithEvent` la valeur `true`. Le champ `state` de l’événement peut comporter l’une des valeurs suivantes : 
+ ABORTED (Abandonné) – L’exécution de la requête a été arrêtée par l’utilisateur. 
+ FAILED – L’exécution de la requête a échoué. 
+ FINISHED – L’exécution de la requête est terminée. 

Les événements sont fournis sur la base de la garantie. Pour plus d'informations, consultez la section [Événements liés AWS aux services](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-service-event.html) dans le *guide de EventBridge l'utilisateur Amazon*. 

## Exemple pour l’événement terminé (FINISHED) de l’API de données
<a name="data-api-monitoring-events-finished"></a>

L’exemple suivant montre un événement pour l’API de données lorsque l’opération d’API `ExecuteStatement` se termine. Dans cet exemple, une instruction nommée `test.testtable` a terminé son exécution.

```
{
    "version": "0",
    "id": "18e7079c-dd4b-dd64-caf9-e2a31640dab0",
    "detail-type": "Redshift Data Statement Status Change",
    "source": "aws.redshift-data",
    "account": "123456789012",
    "time": "2020-10-01T21:14:26Z",
    "region": "us-east-1",
    "resources": [
        "arn:aws:redshift:us-east-1:123456789012:cluster:redshift-cluster-1"
    ],
    "detail": {
        "principal": "arn:aws:iam::123456789012:user/myuser",
        "statementName": "test.testtable",
        "statementId": "dd2e1ec9-2ee3-49a0-819f-905fa7d75a4a",
        "redshiftQueryId": -1,
        "state": "FINISHED",
        "rows": 1,
        "expireAt": 1601673265
    }
}
```

# Utilisation AWS KMS avec l'API de données Amazon Redshift
<a name="data-api-kms"></a>

Lorsque vous chiffrez votre cluster Amazon Redshift ou votre groupe de travail Redshift Serverless avec une clé gérée par le client, l'API Amazon Redshift Data utilise cette même clé gérée par le client pour stocker et chiffrer vos requêtes et vos résultats.

L'API Data chiffre vos données par défaut pour protéger les informations sensibles, telles que le texte des requêtes et les résultats des requêtes. Il utilise des clés de AWS KMS chiffrement détenues par lui AWS pour cette protection.

Le chiffrement par défaut des données au repos réduit la charge opérationnelle et la complexité lorsque vous protégez des données sensibles. Cette approche vous permet de créer des applications sécurisées qui répondent aux exigences réglementaires et de conformité strictes en matière de chiffrement.

## Utilisation de subventions dans AWS KMS
<a name="data-api-kms-grants"></a>

L'API Data nécessite une autorisation pour utiliser votre clé gérée par le client.

Lorsque vous appelez `ExecuteStatement` ou `BatchExecuteStatement` défiez un cluster chiffré à l'aide d'une clé gérée par le client, Amazon Redshift crée une subvention en votre nom en envoyant une [https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateGrant.html](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateGrant.html)demande à. AWS KMS AWS KMS utilise des autorisations pour donner à l'API de données l'accès à une clé KMS de votre compte.

L'API Data nécessite l'autorisation d'utiliser votre clé gérée par le client pour les opérations suivantes :
+ Envoyez [https://docs.aws.amazon.com/kms/latest/APIReference/API_Encrypt.html](https://docs.aws.amazon.com/kms/latest/APIReference/API_Encrypt.html)des demandes AWS KMS à pour chiffrer les métadonnées des requêtes avec votre clé gérée par le client.
+ Envoyez [https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateDataKey.html](https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateDataKey.html)des demandes AWS KMS à pour générer des clés de données chiffrées par votre clé gérée par le client.
+ Envoyez [https://docs.aws.amazon.com/kms/latest/APIReference/API_Decrypt.html](https://docs.aws.amazon.com/kms/latest/APIReference/API_Decrypt.html)des demandes AWS KMS à pour déchiffrer les clés de données chiffrées afin qu'ils puissent chiffrer vos données.

Vous pouvez révoquer l'accès à l'autorisation ou supprimer l'accès d'Amazon Redshift à votre clé gérée par le client à tout moment. Dans ce cas, l'API Data ne peut plus accéder aux données chiffrées par votre clé gérée par le client, ce qui affecte les opérations qui dépendent de ces données. Par exemple, si vous essayez de récupérer les résultats d'une requête ou de suivre l'état de la requête après avoir révoqué l'autorisation, l'API Data renvoie un`AccessDeniedException`.

## Politiques clés relatives à votre clé gérée par le client
<a name="data-api-kms-policy"></a>

Les stratégies de clés contrôlent l’accès à votre clé gérée par le client. Chaque clé gérée par le client doit avoir exactement une stratégie de clé, qui contient des instructions qui déterminent les personnes pouvant utiliser la clé et comment elles peuvent l’utiliser. Lorsque vous créez votre clé gérée par le client, vous pouvez spécifier une stratégie de clé. Pour plus d’informations, consultez [Clés gérées par le client](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-mgn-key) dans le *Guide du développeur AWS Key Management Service *.

Pour utiliser les clés gérées par le client avec l'API Data, vous devez d'abord autoriser l'accès à Amazon Redshift. Les opérations d'API suivantes doivent être autorisées dans la politique clé :
+ `kms:CreateGrant` : ajoute une attribution à une clé gérée par le client. Accorde un accès de contrôle à une AWS KMS clé spécifiée, ce qui permet d'autoriser les opérations requises par Amazon Redshift. Pour plus d'informations, consultez la section [Utilisation de subventions dans AWS KMS](https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#terms-grant-operations).

Voici un exemple de politique clé :

```
"Statement":[
   {
      "Sid":"Allow access to principals authorized to use Amazon Redshift",
      "Effect":"Allow",
      "Principal":{
         "AWS":"*"
      },
      "Action":[
         "kms:DescribeKey",
         "kms:CreateGrant"
      ],
      "Resource":"*",
      "Condition":{
         "StringEquals":{
            "kms:ViaService":"redshift.amazonaws.com",
            "kms:CallerAccount":"111122223333"
         }
      }
   },
   {
      "Sid":"AllowKeyAdministratorsAccess",
      "Effect":"Allow",
      "Principal":{
         "AWS":"arn:aws:iam::111122223333:role/ExampleAdminRole"
      },
      "Action":"kms:*",
      "Resource":"*"
   },
   {
      "Sid":"AllowKeyUseForExampleRole",
      "Effect":"Allow",
      "Principal":{
         "AWS":"arn:aws:iam::111122223333:role/ExampleUserRole"
      },
      "Action":[
         "kms:Encrypt",
         "kms:Decrypt",
         "kms:ReEncrypt*",
         "kms:GenerateDataKey*",
         "kms:DescribeKey"
      ],
      "Resource":"*"
   }
]
```

## Contexte de chiffrement des API de données
<a name="data-api-kms-encryption"></a>

Un contexte de chiffrement est un ensemble facultatif de paires clé-valeur qui contient des informations contextuelles supplémentaires sur les données. AWS KMS utilise le contexte de chiffrement comme données authentifiées supplémentaires pour prendre en charge le chiffrement authentifié. Lorsque vous incluez un contexte de chiffrement dans une demande de chiffrement de données, AWS KMS lie le contexte de chiffrement aux données chiffrées. Pour déchiffrer les données, vous devez inclure le même contexte de chiffrement dans la demande. 

L'API Data utilise les trois mêmes paires clé-valeur de contexte de chiffrement dans toutes les opérations AWS KMS cryptographiques pour les clusters provisionnés :
+ `aws:redshift:arn`— Le nom de ressource Amazon (ARN) du cluster
+ `aws:redshift:createtime`— L'horodatage auquel vous avez demandé la création du cluster
+ `serviceName` – `RedshiftDataAPI`

```
"EncryptionContextSubset": {
    "aws:redshift:arn": "arn:aws:redshift:us-east-1:123456789012:cluster:redshift-cluster",
    "aws:redshift:createtime": "20250815T0000Z",
    "serviceName": "RedshiftDataAPI",
}
```

L'API Data utilise deux paires clé-valeur de contexte de chiffrement dans toutes les opérations AWS KMS cryptographiques pour les groupes de travail sans serveur :
+ `aws:redshift-serverless:arn`— Le nom de ressource Amazon (ARN) de l'espace de noms
+ `serviceName`— RedshiftData API

```
"EncryptionContextSubset": {
    "aws:redshift-serverless:arn": "arn:aws:redshift-serverless:us-east-1:123456789012:namespace:12345678-1234-1234-1234-123456789012",
    "serviceName": "RedshiftDataAPI"
}
```

Pour plus d'informations sur le chiffrement, [voir Présentation des détails cryptographiques de AWS KMS](https://docs.aws.amazon.com/kms/latest/cryptographic-details/intro.html). Pour plus d'informations sur Amazon Redshift et son AWS KMS intégration, consultez [Comment Amazon Redshift utilise](https://docs.aws.amazon.com/kms/latest/developerguide/services-redshift.html). AWS KMS

# Utilisation d'Amazon Sagemaker Unified Studio pour interroger vos bases de données dans Amazon Redshift and the Lakehouse SageMaker
<a name="sagemaker-unified-studio"></a>

Amazon SageMaker Unified Studio fournit un environnement de développement hors console et prend en charge les analyses SQL sur les données de SageMaker Lakehouse, Amazon Redshift et Amazon Athena pour les analyses SQL. Accédez à Amazon SageMaker Unified Studio à l'aide de l'URL fournie par votre administrateur et utilisez votre SSO ou vos AWS informations d'identification pour vous connecter. Pour plus d'informations sur la configuration de votre premier projet, consultez [Getting started](https://docs.aws.amazon.com/sagemaker-unified-studio/latest/userguide/getting-started.html) dans le *guide de l'utilisateur d'Amazon SageMaker Unified Studio*.

[Dans Amazon SageMaker Unified Studio, vous pouvez effectuer des [analyses SQL](https://docs.aws.amazon.com/sagemaker-unified-studio/latest/userguide/sql-query.html) en exécutant Amazon Redshift et Amazon Athena à l'aide de l'éditeur de requêtes.](https://docs.aws.amazon.com/sagemaker-unified-studio/latest/userguide/query-editor-navigate.html) Utilisez l’éditeur de requête pour écrire et exécuter des requêtes, consulter les résultats et partager votre travail avec votre équipe. Exécutez des requêtes sur vos entrepôts de données Redshift dans votre compte Comptes AWS (au sein du même compte et sur votre autre compte Comptes AWS), créez des requêtes SQL pour Redshift et Athena à l'aide de la même interface et planifiez les requêtes SQL à l'aide d'Amazon Managed Workflows pour Apache Airflow. Vous pouvez également utiliser l’assistant SQL génératif Amazon Q pour générer du SQL à partir de langage naturel.