

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.

# Accès à Amazon QLDB
<a name="accessing"></a>

**Important**  
Avis de fin de support : les clients existants pourront utiliser Amazon QLDB jusqu'à la fin du support le 31 juillet 2025. Pour plus de détails, consultez [Migrer un registre Amazon QLDB vers Amazon Aurora PostgreSQL](https://aws.amazon.com/blogs/database/migrate-an-amazon-qldb-ledger-to-amazon-aurora-postgresql/).

Vous pouvez accéder à Amazon QLDB à l'aide de l'API, AWS Management Console de AWS Command Line Interface la AWS CLI() ou de QLDB. Les sections suivantes décrivent comment utiliser ces options et les conditions requises pour les utiliser.

## Prérequis
<a name="accessing.prereqs"></a>

Avant de pouvoir accéder à QLDB, vous devez en configurer Compte AWS un si ce n'est déjà fait.

**Topics**
+ [Inscrivez-vous pour un Compte AWS](#sign-up-for-aws)
+ [Création d’un utilisateur doté d’un accès administratif](#create-an-admin)
+ [Gérer les autorisations QLDB dans IAM](#accessing.prereqs.permissions)
+ [Accorder l'accès programmatique (facultatif)](#grant-programmatic-access)

### Inscrivez-vous pour un Compte AWS
<a name="sign-up-for-aws"></a>

Si vous n'en avez pas Compte AWS, procédez comme suit pour en créer un.

**Pour vous inscrire à un Compte AWS**

1. Ouvrez l'[https://portal.aws.amazon.com/billing/inscription.](https://portal.aws.amazon.com/billing/signup)

1. Suivez les instructions en ligne.

   Une partie de la procédure d'inscription consiste à recevoir un appel téléphonique ou un message texte et à saisir un code de vérification sur le clavier du téléphone.

   Lorsque vous vous inscrivez à un Compte AWS, un *Utilisateur racine d'un compte AWS*est créé. Par défaut, seul l’utilisateur racine a accès à l’ensemble des Services AWS et des ressources de ce compte. La meilleure pratique de sécurité consiste à attribuer un accès administratif à un utilisateur, et à utiliser uniquement l’utilisateur racine pour effectuer les [tâches nécessitant un accès utilisateur racine](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_root-user.html#root-user-tasks).

AWS vous envoie un e-mail de confirmation une fois le processus d'inscription terminé. À tout moment, vous pouvez consulter l'activité actuelle de votre compte et gérer votre compte en accédant à [https://aws.amazon.com/](https://aws.amazon.com/)et en choisissant **Mon compte**.

### Création d’un utilisateur doté d’un accès administratif
<a name="create-an-admin"></a>

Une fois que vous vous êtes inscrit à un utilisateur administratif Compte AWS, que vous Utilisateur racine d'un compte AWS l'avez sécurisé AWS IAM Identity Center, que vous l'avez activé et que vous en avez créé un, afin de ne pas utiliser l'utilisateur root pour les tâches quotidiennes.

**Sécurisez votre Utilisateur racine d'un compte AWS**

1.  Connectez-vous en [AWS Management Console](https://console.aws.amazon.com/)tant que propriétaire du compte en choisissant **Utilisateur root** et en saisissant votre adresse Compte AWS e-mail. Sur la page suivante, saisissez votre mot de passe.

   Pour obtenir de l’aide pour vous connecter en utilisant l’utilisateur racine, consultez [Connexion en tant qu’utilisateur racine](https://docs.aws.amazon.com/signin/latest/userguide/console-sign-in-tutorials.html#introduction-to-root-user-sign-in-tutorial) dans le *Guide de l’utilisateur Connexion à AWS *.

1. Activez l’authentification multifactorielle (MFA) pour votre utilisateur racine.

   Pour obtenir des instructions, consultez la section [Activer un périphérique MFA virtuel pour votre utilisateur Compte AWS root (console)](https://docs.aws.amazon.com/IAM/latest/UserGuide/enable-virt-mfa-for-root.html) dans le guide de l'utilisateur *IAM*.

**Création d’un utilisateur doté d’un accès administratif**

1. Activez IAM Identity Center.

   Pour obtenir des instructions, consultez [Activation d’ AWS IAM Identity Center](https://docs.aws.amazon.com/singlesignon/latest/userguide/get-set-up-for-idc.html) dans le *Guide de l’utilisateur AWS IAM Identity Center *.

1. Dans IAM Identity Center, octroyez un accès administratif à un utilisateur.

   Pour un didacticiel sur l'utilisation du Répertoire IAM Identity Center comme source d'identité, voir [Configurer l'accès utilisateur par défaut Répertoire IAM Identity Center](https://docs.aws.amazon.com/singlesignon/latest/userguide/quick-start-default-idc.html) dans le *Guide de AWS IAM Identity Center l'utilisateur*.

**Connexion en tant qu’utilisateur doté d’un accès administratif**
+ Pour vous connecter avec votre utilisateur IAM Identity Center, utilisez l’URL de connexion qui a été envoyée à votre adresse e-mail lorsque vous avez créé l’utilisateur IAM Identity Center.

  Pour obtenir de l'aide pour vous connecter en utilisant un utilisateur d'IAM Identity Center, consultez la section [Connexion au portail AWS d'accès](https://docs.aws.amazon.com/signin/latest/userguide/iam-id-center-sign-in-tutorial.html) dans le *guide de l'Connexion à AWS utilisateur*.

**Attribution d’un accès à d’autres utilisateurs**

1. Dans IAM Identity Center, créez un ensemble d’autorisations qui respecte la bonne pratique consistant à appliquer les autorisations de moindre privilège.

   Pour obtenir des instructions, consultez [Création d’un ensemble d’autorisations](https://docs.aws.amazon.com/singlesignon/latest/userguide/get-started-create-a-permission-set.html) dans le *Guide de l’utilisateur AWS IAM Identity Center *.

1. Attribuez des utilisateurs à un groupe, puis attribuez un accès par authentification unique au groupe.

   Pour obtenir des instructions, consultez [Ajout de groupes](https://docs.aws.amazon.com/singlesignon/latest/userguide/addgroups.html) dans le *Guide de l’utilisateur AWS IAM Identity Center *.

### Gérer les autorisations QLDB dans IAM
<a name="accessing.prereqs.permissions"></a>

Pour plus d'informations sur l'utilisation de Gestion des identités et des accès AWS (IAM) pour gérer les autorisations QLDB pour les utilisateurs, consultez. [Comment Amazon QLDB fonctionne avec IAM](security_iam_service-with-iam.md)

### Accorder l'accès programmatique (facultatif)
<a name="grant-programmatic-access"></a>

Les utilisateurs ont besoin d'un accès programmatique s'ils souhaitent interagir avec AWS l'extérieur du AWS Management Console. La manière d'accorder un accès programmatique dépend du type d'utilisateur qui y accède AWS.

Pour accorder aux utilisateurs un accès programmatique, choisissez l’une des options suivantes.


****  

| Quel utilisateur a besoin d’un accès programmatique ? | Pour | Par | 
| --- | --- | --- | 
|  Identité de la main-d’œuvre (Utilisateurs gérés dans IAM Identity Center)  | Utilisez des informations d'identification temporaires pour signer les demandes programmatiques adressées au AWS CLI AWS SDKs, ou AWS APIs. |  Suivez les instructions de l’interface que vous souhaitez utiliser. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/qldb/latest/developerguide/accessing.html)  | 
| IAM | Utilisez des informations d'identification temporaires pour signer les demandes programmatiques adressées au AWS CLI AWS SDKs, ou AWS APIs. | Suivez les instructions de la section [Utilisation d'informations d'identification temporaires avec AWS les ressources](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_use-resources.html) du Guide de l'utilisateur IAM. | 
| IAM | (Non recommandé)Utilisez des informations d'identification à long terme pour signer des demandes programmatiques adressées au AWS CLI AWS SDKs, ou AWS APIs. |  Suivez les instructions de l’interface que vous souhaitez utiliser. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/qldb/latest/developerguide/accessing.html)  | 

## Comment accéder à Amazon QLDB
<a name="accessing.how-to"></a>

Après avoir rempli les conditions requises pour configurer un Compte AWS, consultez les rubriques suivantes pour en savoir plus sur l'accès à QLDB : 
+ [Utilisation de la console](console_QLDB.md)
+ [Utilisation de AWS CLI (API de gestion uniquement)](Tools.CLI.md)
+ [Utilisation du shell Amazon QLDB (API de données uniquement)](data-shell.md)
+ [Utilisation de l’API](Using.API.md)

# Accès à Amazon QLDB à l'aide de la console
<a name="console_QLDB"></a>

**Important**  
Avis de fin de support : les clients existants pourront utiliser Amazon QLDB jusqu'à la fin du support le 31 juillet 2025. Pour plus de détails, consultez [Migrer un registre Amazon QLDB vers Amazon Aurora PostgreSQL](https://aws.amazon.com/blogs/database/migrate-an-amazon-qldb-ledger-to-amazon-aurora-postgresql/).

[Vous pouvez accéder au AWS Management Console pour Amazon QLDB à l'adresse https://console.aws.amazon.com /qldb.](https://console.aws.amazon.com/qldb)

Vous pouvez utiliser la console pour effectuer les opérations suivantes dans QLDB :
+ Créez, supprimez, décrivez et listez des registres.
+ *Exécutez [les instructions partiQL](ql-reference.md) à l'aide de l'éditeur partiQL.*
+ Gérez les balises pour les ressources QLDB.
+ Vérifiez les données du journal de manière cryptographique.
+ Exportez ou diffusez des blocs de journal.

Pour savoir comment créer un registre Amazon QLDB et le configurer avec des exemples de données d'application, consultez. [Commencer à utiliser la console Amazon QLDB](getting-started.md) 

## Référence rapide de l'éditeur PartiQL
<a name="partiql-editor-reference"></a>

**Important**  
Avis de fin de support : les clients existants pourront utiliser Amazon QLDB jusqu'à la fin du support le 31 juillet 2025. Pour plus de détails, consultez [Migrer un registre Amazon QLDB vers Amazon Aurora PostgreSQL](https://aws.amazon.com/blogs/database/migrate-an-amazon-qldb-ledger-to-amazon-aurora-postgresql/).

Amazon QLDB prend en charge un sous-ensemble de [partiQL](https://partiql.org/) comme langage de requête et [Amazon](http://amzn.github.io/ion-docs/) Ion comme format de données orienté document. Pour un guide complet et des informations plus détaillées sur l'implémentation QLDB de partiQL, consultez le. [Référence Amazon QLDB PartiQL](ql-reference.md)

Les rubriques suivantes fournissent un bref aperçu de la manière d'utiliser partiQL dans QLDB.

**Topics**
+ [Conseils rapides sur PartiQL dans QLDB](#partiql-editor-ref-tips)
+ [Commandes](#partiql-editor-ref-commands)
+ [Vues définies par le système](#partiql-editor-ref-views)
+ [Règles de syntaxe de base](#partiql-editor-ref-syntax)
+ [Raccourcis clavier de l'éditeur PartiQL](#console_QLDB.partiql-editor-shortcuts)

### Conseils rapides sur PartiQL dans QLDB
<a name="partiql-editor-ref-tips"></a>

Voici un bref résumé des conseils et des meilleures pratiques pour travailler avec partiQL dans QLDB :
+ **Comprenez la simultanéité et les limites de transaction** — Toutes les déclarations, y compris les `SELECT` requêtes, sont soumises à des conflits [optimistes en matière de contrôle simultané (OCC)](concurrency.md) et à des [limites de transaction](limits.md#limits.fixed), y compris un délai d'expiration de 30 secondes pour les transactions.
+ **Utiliser des index** : utilisez des index à cardinalité élevée et exécutez des requêtes ciblées pour optimiser vos instructions et éviter d'analyser des tables complètes. Pour en savoir plus, veuillez consulter la section [Optimisation des performances des requêtes](working.optimize.md).
+ **Utiliser des prédicats d'égalité : les** recherches indexées nécessitent un opérateur d'*égalité* (ou)`=`. `IN` Les opérateurs d'inégalité (`<`,`>`,`LIKE`,`BETWEEN`) ne sont pas éligibles aux recherches indexées et donnent lieu à des analyses complètes des tables.
+ **Utilisez uniquement les jointures internes** : QLDB ne prend en charge que les jointures internes. Il est recommandé de joindre des champs indexés pour chaque table que vous joignez. Choisissez des indices de cardinalité élevés pour les critères de jointure et les prédicats d'égalité.

### Commandes
<a name="partiql-editor-ref-commands"></a>

QLDB prend en charge les commandes partiQL suivantes.


**Langage de définition de données (DDL)**  

| Command | Description | 
| --- | --- | 
| [CREATE INDEX](ql-reference.create-index.md) | Crée un index pour un champ de document de niveau supérieur sur une table. | 
| [CREATE TABLE](ql-reference.create-table.md) | Crée une table. | 
| [DROP INDEX](ql-reference.drop-index.md) | Supprime un index d'une table. | 
| [DROP TABLE](ql-reference.drop-table.md) | Désactive une table existante. | 
| [TABLEAU DE DÉBALLAGE](ql-reference.undrop-table.md) | Réactive une table inactive. | 


**Langage de manipulation de données (DML)**  

| Command | Description | 
| --- | --- | 
| [DELETE](ql-reference.delete.md) | Marque un document actif comme supprimé en créant une nouvelle révision finale du document. | 
| [DE (INSÉRER, SUPPRIMER ou DÉFINIR)](ql-reference.from.md) | Sémantiquement identique à. UPDATE | 
| [INSERT](ql-reference.insert.md) | Ajoute un ou plusieurs [documents](ql-reference.docs.md) à un tableau. | 
| [SELECT](ql-reference.select.md) | Récupère les données d'une ou de plusieurs tables. | 
| [UPDATE](ql-reference.update.md) | Met à jour, insère ou supprime des éléments spécifiques dans un document. | 

#### Exemples de déclarations DML
<a name="partiql-editor-ref-commands-examples"></a>

**INSÉRER**

```
INSERT INTO VehicleRegistration VALUE
{
    'VIN' : 'KM8SRDHF6EU074761', --string
    'RegNum' : 1722, --integer
    'PendingPenaltyTicketAmount' : 130.75, --decimal
    'Owners' : { --nested struct
        'PrimaryOwner' : { 'PersonId': '294jJ3YUoH1IEEm8GSabOs' },
        'SecondaryOwners' : [ --list of structs
            { 'PersonId' : '1nmeDdLo3AhGswBtyM1eYh' },
            { 'PersonId': 'IN7MvYtUjkp1GMZu0F6CG9' }
        ]
    },
    'ValidToDate' : `2020-06-25T` --Ion timestamp literal with day precision
}
```

**METTRE À JOUR ET INSÉRER**

```
UPDATE Vehicle AS v
INSERT INTO v VALUE 26500 AT 'Mileage'
WHERE v.VIN = '1N4AL11D75C109151'
```

**METTRE À JOUR/SUPPRIMER**

```
UPDATE Person AS p
REMOVE p.Address
WHERE p.GovId = '111-22-3333'
```

**SELECT — Sous-requête corrélée**

```
SELECT r.VIN, o.SecondaryOwners
FROM VehicleRegistration AS r, @r.Owners AS o
WHERE r.VIN IN ('1N4AL11D75C109151', 'KM8SRDHF6EU074761')
```

**SELECT — Jointure interne**

```
SELECT v.Make, v.Model, r.Owners
FROM VehicleRegistration AS r INNER JOIN Vehicle AS v
ON r.VIN = v.VIN
WHERE r.VIN IN ('1N4AL11D75C109151', 'KM8SRDHF6EU074761')
```

**SELECT — Obtenir l'identifiant du document à l'aide de la clause BY**

```
SELECT r_id FROM VehicleRegistration AS r BY r_id
WHERE r.VIN = '1HVBBAANXWH544237'
```

### Vues définies par le système
<a name="partiql-editor-ref-views"></a>

QLDB prend en charge les vues définies par le système suivantes d'une table.


| Vue | Description | 
| --- | --- | 
| table\$1name | [Vue utilisateur](working.userdata.md) par défaut d'un tableau qui inclut uniquement l'état actuel de vos données utilisateur. | 
| \$1ql\$1committed\$1table\$1name | [Vue validée](working.metadata.md) complète définie par le système d'une table qui inclut l'état actuel de vos données utilisateur et des métadonnées générées par le système, telles qu'un identifiant de document. | 
| history(table\$1name) | [Fonction d'historique](working.history.md) intégrée qui renvoie l'historique complet des révisions d'une table. | 

### Règles de syntaxe de base
<a name="partiql-editor-ref-syntax"></a>

QLDB prend en charge les règles de syntaxe de base suivantes pour partiQL.


| Caractère | Description | 
| --- | --- | 
| ' | Les guillemets simples indiquent des valeurs de chaîne ou des noms de champs dans les structures Amazon Ion. | 
| " | Les guillemets doubles indiquent des identifiants entre guillemets, tels qu'un [mot réservé](ql-reference.reserved.md) utilisé comme nom de table. | 
| ` | Les backticks indiquent les valeurs littérales des ions. | 
| . | La notation par points permet d'accéder aux noms de champs d'une structure parent. | 
| [ ] | Les crochets définissent un ion list ou indiquent un nombre ordinal basé sur zéro pour une liste existante. | 
| \$1 \$1 | Les bretelles bouclées définissent un ion. struct | 
| << >> | Les crochets à double angle définissent un sac partiQL, qui est une collection non ordonnée. Vous utilisez un sac pour insérer plusieurs documents dans un tableau. | 
| Sensibilité à la casse | Tous les noms d'objets du système QLDB, y compris les noms de champs et de tables, distinguent les majuscules et minuscules. | 

### Raccourcis clavier de l'éditeur PartiQL
<a name="console_QLDB.partiql-editor-shortcuts"></a>

L'*éditeur PartiQL* de la console QLDB prend en charge les raccourcis clavier suivants.


| Action | macOS | Windows | 
| --- | --- | --- | 
| Exécuter | Cmd\$1Return | Ctrl\$1Enter | 
| Comment | Cmd\$1/ | Ctrl\$1/ | 
| Effacer | Cmd\$1Shift\$1Delete | Ctrl\$1Shift\$1Delete | 

# Accès à Amazon QLDB à l'aide de (API AWS CLI de gestion uniquement)
<a name="Tools.CLI"></a>

**Important**  
Avis de fin de support : les clients existants pourront utiliser Amazon QLDB jusqu'à la fin du support le 31 juillet 2025. Pour plus de détails, consultez [Migrer un registre Amazon QLDB vers Amazon Aurora PostgreSQL](https://aws.amazon.com/blogs/database/migrate-an-amazon-qldb-ledger-to-amazon-aurora-postgresql/).

Vous pouvez utiliser le AWS Command Line Interface (AWS CLI) pour contrôler plusieurs Services AWS depuis la ligne de commande et les automatiser par le biais de scripts. Vous pouvez l'utiliser AWS CLI pour des opérations ponctuelles si nécessaire. Vous pouvez également l'utiliser pour intégrer des opérations Amazon QLDB dans des scripts utilitaires.

Pour accéder à la CLI, vous avez besoin d'un ID de clé d'accès et d'une clé d'accès secrète. Utilisation des informations d'identification temporaires au lieu des clés d'accès à long terme si possible. Les informations d'identification temporaires incluent un ID de clé d'accès, une clé d'accès secrète et un jeton de sécurité qui indique la date d'expiration des informations d'identification. Pour plus d'informations, consultez la section [Utilisation d'informations d'identification temporaires avec AWS des ressources](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_use-resources.html) dans le *Guide de l'utilisateur IAM*.

[Pour une liste complète et des exemples d'utilisation de toutes les commandes disponibles pour QLDB dans AWS CLI le, consultez AWS CLI la référence des commandes.](https://docs.aws.amazon.com/cli/latest/reference/qldb/index.html)

**Note**  
Le AWS CLI seul prend en charge les opérations d'API de `qldb` gestion répertoriées dans le[Référence de l'API Amazon QLDB](api-reference.md). Cette API est utilisée uniquement pour gérer les ressources du registre et pour les opérations de données non transactionnelles.  
Pour exécuter des transactions de données avec l'`qldb-session`API à l'aide d'une interface de ligne de commande, consultez[Accès à Amazon QLDB à l'aide du shell QLDB (API de données uniquement)](data-shell.md).

**Topics**
+ [Installation et configuration du AWS CLI](#Tools.CLI.InstallingAndConfiguring)
+ [Utilisation du AWS CLI avec QLDB](#Tools.CLI.UsingWithQLDB)

## Installation et configuration du AWS CLI
<a name="Tools.CLI.InstallingAndConfiguring"></a>

Il AWS CLI fonctionne sous Linux, macOS ou Windows. Pour l'installer et le configurer, consultez les instructions suivantes du *guide de l'AWS Command Line Interface utilisateur* :

1. [Installation ou mise à jour de la dernière version du AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html)

1. [Configuration rapide](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-quickstart.html)

## Utilisation du AWS CLI avec QLDB
<a name="Tools.CLI.UsingWithQLDB"></a>

Le format de ligne de commande consiste en un nom d'opération Amazon QLDB, suivi des paramètres de cette opération. Il AWS CLI prend en charge une syntaxe abrégée pour les valeurs des paramètres, en plus du JSON.

 Utilisez `help` pour répertorier toutes les commandes disponibles dans QLDB : 

```
aws qldb help
```

 Vous pouvez également utiliser `help` pour décrire une commande spécifique et en savoir plus sur son utilisation : 

```
aws qldb create-ledger help
```

 Par exemple, pour créer un registre : 

```
aws qldb create-ledger --name my-example-ledger --permissions-mode STANDARD
```

# Accès à Amazon QLDB à l'aide du shell QLDB (API de données uniquement)
<a name="data-shell"></a>

**Important**  
Avis de fin de support : les clients existants pourront utiliser Amazon QLDB jusqu'à la fin du support le 31 juillet 2025. Pour plus de détails, consultez [Migrer un registre Amazon QLDB vers Amazon Aurora PostgreSQL](https://aws.amazon.com/blogs/database/migrate-an-amazon-qldb-ledger-to-amazon-aurora-postgresql/).

Amazon QLDB fournit un shell de ligne de commande pour interagir avec l'API de données transactionnelles. Avec le shell QLDB, vous pouvez exécuter des instructions [partiQL](ql-reference.md) sur des données de registre.

La dernière version de ce shell est écrite en Rust et est open source dans le GitHub dépôt [awslabs/ amazon-qldb-shell](https://github.com/awslabs/amazon-qldb-shell) sur la branche par défaut. `main` La version Python (v1) est également toujours disponible pour une utilisation dans le même dépôt de la `master` branche.

**Note**  
Le shell Amazon QLDB prend uniquement en charge `qldb-session` l'API de données transactionnelles. Cette API est utilisée uniquement pour exécuter des instructions partiQL sur un registre QLDB.  
Pour interagir avec les opérations de l'API `qldb` de gestion à l'aide d'une interface de ligne de commande, consultez[Accès à Amazon QLDB à l'aide de (API AWS CLI de gestion uniquement)](Tools.CLI.md).

Cet outil n'est pas destiné à être intégré à une application ou adopté à des fins de production. L'objectif de cet outil est de vous permettre d'expérimenter rapidement QLDB et partiQL.

Les sections suivantes décrivent comment démarrer avec le shell QLDB.

**Topics**
+ [Prérequis](#data-shell-prerequisites)
+ [Installation de la coque](#data-shell-install)
+ [Invoquer le shell](#data-shell-invoking)
+ [Paramètres de la coque](#data-shell-params)
+ [Référence de commande](#data-shell-reference)
+ [Exécution de relevés individuels](#data-shell-indiv-statements)
+ [Gestion des transactions](#data-shell-transactions)
+ [Sortir de la coque](#data-shell-exiting)
+ [exemple](#data-shell-examples)

## Prérequis
<a name="data-shell-prerequisites"></a>

Avant de commencer à utiliser le shell QLDB, vous devez effectuer les opérations suivantes :

1. Suivez les instructions AWS de configuration indiquées dans[Accès à Amazon QLDB](accessing.md). Cela inclut les éléments suivants :

   1. Inscrivez-vous pour AWS.

   1. Créez un utilisateur doté des autorisations QLDB appropriées.

   1. Accordez un accès programmatique pour le développement.

1. Configurez vos AWS informations d'identification et celles par défaut Région AWS. Pour obtenir des instructions, reportez-vous à la section [Principes de base de la configuration](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-quickstart.html) dans le *guide de AWS Command Line Interface l'utilisateur*.

   Pour obtenir la liste complète des régions disponibles, consultez la section [Points de terminaison et quotas Amazon QLDB](https://docs.aws.amazon.com/general/latest/gr/qldb.html) dans le. *Références générales AWS*

1. Pour tous les registres en mode `STANDARD` autorisations, créez des politiques IAM qui vous accordent l'autorisation d'exécuter des instructions partiQL sur les tables appropriées. Pour savoir comment créer ces politiques, consultez[Commencer à utiliser le mode d'autorisation standard dans Amazon QLDB](getting-started-standard-mode.md).

## Installation de la coque
<a name="data-shell-install"></a>

Pour installer la dernière version du shell QLDB, consultez le fichier README.md [sur](https://github.com/awslabs/amazon-qldb-shell/blob/main/README.md#installation). GitHub QLDB fournit des fichiers binaires prédéfinis pour Linux, macOS et Windows dans [la section Releases du référentiel](https://github.com/awslabs/amazon-qldb-shell/releases). GitHub 

Pour macOS, le shell s'intègre au robinet `aws/tap` [Homebrew](https://docs.brew.sh/). Pour installer le shell sur macOS à l'aide de Homebrew, exécutez les commandes suivantes.

```
$ xcode-select --install # Required to use Homebrew
$ brew tap aws/tap # Add AWS as a Homebrew tap
$ brew install qldbshell
```

### Configuration
<a name="data-shell-install.config"></a>

Après l'installation, le shell charge le fichier de configuration par défaut qui se trouve `$XDG_CONFIG_HOME/qldbshell/config.ion` lors de l'initialisation. Sous Linux et macOS, ce fichier se trouve généralement à l'adresse`~/.config/qldbshell/config.ion`. Si un tel fichier n'existe pas, le shell s'exécute avec les paramètres par défaut.

Vous pouvez créer un `config.ion` fichier manuellement après l'installation. Ce fichier de configuration utilise le format [de données Amazon Ion](ion.md). Voici un exemple de `config.ion` fichier minimal.

```
{
  default_ledger: "my-example-ledger"
}
```

S'il `default_ledger` n'est pas défini dans votre fichier de configuration, le `--ledger` paramètre est obligatoire lorsque vous appelez le shell. Pour une liste complète des options de configuration, consultez le [fichier README.md](https://github.com/awslabs/amazon-qldb-shell/blob/main/README.md#configuration) sur. GitHub

## Invoquer le shell
<a name="data-shell-invoking"></a>

Pour appeler le shell QLDB sur votre terminal de ligne de commande pour un registre spécifique, exécutez la commande suivante. Remplacez *my-example-ledger* par le nom de votre registre.

```
$ qldb --ledger my-example-ledger
```

Cette commande se connecte à votre commande par défaut Région AWS. Pour spécifier explicitement la région, vous pouvez exécuter la commande avec le `--qldb-session-endpoint` paramètre `--region` ou, comme décrit dans la section suivante.

Après avoir appelé une session `qldb` shell, vous pouvez saisir les types de saisie suivants :
+ [Commandes Shell](#data-shell-reference)
+ [Instructions partiQL uniques dans des transactions distinctes](#data-shell-indiv-statements)
+ [Plusieurs instructions partiQL au sein d'une transaction](#data-shell-transactions)

## Paramètres de la coque
<a name="data-shell-params"></a>

Pour obtenir la liste complète des indicateurs et options disponibles pour appeler un shell, exécutez la `qldb` commande avec l'`--help`indicateur, comme suit.

```
$ qldb --help
```

Voici quelques indicateurs clés et options de la `qldb` commande. Vous pouvez ajouter ces paramètres facultatifs pour remplacer le profil d'identification Région AWS, le point de terminaison, le format des résultats et les autres options de configuration.

**Utilisation**

```
$ qldb [FLAGS] [OPTIONS]
```DRAPEAUX

**`-h`, `--help`**  
Imprime les informations d'aide.

**`-v`, `--verbose`**  
Configure la verbosité de journalisation. Par défaut, le shell enregistre uniquement les erreurs. Pour augmenter le niveau de verbosité, répétez cet argument (par exemple,`-vv`). Le niveau le plus élevé `-vvv` correspond à la `trace` verbosité.

**`-V`, `--version`**  
Imprime les informations de version.OPTIONS

**`-l`, `--ledger` *LEDGER\$1NAME***  
Nom du registre auquel se connecter. Il s'agit d'un paramètre shell obligatoire s'il `default_ledger` n'est pas défini dans votre `config.ion` fichier. Dans ce fichier, vous pouvez définir des options supplémentaires, telles que la région.

**`-c`, `--config` *CONFIG\$1FILE***  
Le fichier dans lequel vous pouvez définir toutes les options de configuration du shell. Pour plus de détails sur le formatage et une liste complète des options de configuration, consultez le [fichier README.md](https://github.com/awslabs/amazon-qldb-shell/blob/main/README.md#configuration) sur. GitHub

**`-f`, `--format` `ion|table`**  
Format de sortie des résultats de votre requête. L’argument par défaut est `ion`.

**`-p`, `--profile` *PROFILE***  
L'emplacement de votre profil AWS d'identification à utiliser pour l'authentification.  
S'il n'est pas fourni, le shell utilise votre AWS profil par défaut, qui se trouve à l'adresse`~/.aws/credentials`.

**`-r`, `--region` *REGION\$1CODE***  
 Région AWS Code du registre QLDB auquel se connecter. olpPar exemple : `us-east-1`.  
S'il n'est pas fourni, le shell se connecte à votre interface par défaut, Région AWS comme indiqué dans votre AWS profil.

**`-s`, `--qldb-session-endpoint` *QLDB\$1SESSION\$1ENDPOINT***  
Le point de terminaison de l'`qldb-session`API auquel se connecter.  
Pour obtenir la liste complète des régions et points de terminaison QLDB disponibles, consultez la section Points de terminaison et [quotas Amazon QLDB](https://docs.aws.amazon.com/general/latest/gr/qldb.html) dans le. *Références générales AWS*

## Référence de commande
<a name="data-shell-reference"></a>

Une fois que vous avez appelé une `qldb` session, le shell prend en charge les touches et commandes de base de données suivantes :


**Clés Shell**  

| Clé | Description de la fonction | 
| --- | --- | 
| Enter | Exécute la déclaration. | 
|  Escape\$1 Enter (macOS, Linux) Shift\$1 Enter (Windows)  |  Ouvre une nouvelle ligne pour saisir une instruction qui s'étend sur plusieurs lignes. Vous pouvez également copier du texte d'entrée comportant plusieurs lignes et le coller dans le shell. Pour obtenir des instructions sur la configuration Option plutôt Escape que comme clé méta dans macOS, consultez le site [OS X Daily](https://osxdaily.com/2013/02/01/use-option-as-meta-key-in-mac-os-x-terminal/).  | 
| Ctrl\$1C | Annule la commande en cours. | 
| Ctrl\$1D | Signale la fin du fichier (EOF) et quitte le niveau actuel du shell. Si aucune transaction n'est active, quitte le shell. Dans une transaction active, annule la transaction. | 


**Commandes de base de données Shell**  
<a name="data-shell-reference-commands"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/qldb/latest/developerguide/data-shell.html)

**Note**  
Toutes les commandes du shell QLDB ne distinguent pas les majuscules et minuscules.

## Exécution de relevés individuels
<a name="data-shell-indiv-statements"></a>

À l'exception des commandes de base de données et des méta-commandes du shell répertoriées dans [README.md](https://github.com/awslabs/amazon-qldb-shell/blob/main/README.md#command-interface), le shell interprète chaque commande que vous entrez comme une instruction PartiQL distincte. Par défaut, le shell active le `auto-commit` mode. Ce mode est configurable.

Dans ce `auto-commit` mode, le shell exécute implicitement chaque instruction dans sa propre transaction et valide automatiquement la transaction si aucune erreur n'est détectée. Cela signifie que vous n'avez pas à exécuter `start transaction` (ou`begin`) `commit` manuellement chaque fois que vous exécutez une instruction.

## Gestion des transactions
<a name="data-shell-transactions"></a>

Le shell QLDB vous permet également de contrôler manuellement les transactions. Vous pouvez exécuter plusieurs instructions au sein d'une transaction de manière interactive ou non interactive en regroupant les commandes et les instructions de manière séquentielle.

### Transactions interactives
<a name="data-shell-transactions.interactive"></a>

Pour exécuter une transaction interactive, procédez comme suit.

1. Pour commencer une transaction, entrez la `begin` commande.

   ```
   qldb> begin
   ```

   Une fois que vous avez commencé une transaction, le shell affiche l'invite de commande suivante.

   ```
   qldb *>  
   ```

1. Ensuite, chaque instruction que vous entrez est exécutée dans le cadre de la même transaction.
   + Par exemple, vous pouvez exécuter une seule instruction comme suit.

     ```
     qldb *> SELECT * FROM Vehicle WHERE VIN = '1N4AL11D75C109151'
     ```

     Après avoir appuyéEnter, le shell affiche les résultats de l'instruction.
   + Vous pouvez également saisir plusieurs instructions ou commandes séparées par un point-virgule (`;`) comme suit.

     ```
     qldb *> SELECT * FROM Vehicle WHERE VIN = '1N4AL11D75C109151'; commit
     ```

1. Pour terminer la transaction, entrez l'une des commandes suivantes.
   + Entrez la `commit` commande pour enregistrer votre transaction dans le journal du grand livre.

     ```
     qldb *> commit
     ```
   + Entrez la `abort` commande pour arrêter votre transaction et rejeter les modifications que vous avez apportées.

     ```
     qldb *> abort
     transaction was aborted
     ```

**Limite de délai d'expiration des transactions**

Une transaction interactive respecte le délai d'expiration des [transactions](limits.md#limits.fixed) de QLDB. Si vous ne validez pas une transaction dans les **30 secondes** suivant son lancement, QLDB fait automatiquement expirer la transaction et rejette toute modification apportée pendant la transaction.

Ensuite, au lieu d'afficher les résultats de l'instruction, le shell affiche un message d'erreur d'expiration et revient à l'invite de commande normale. Pour réessayer, vous devez saisir à nouveau la `begin` commande pour commencer une nouvelle transaction.

```
transaction failed after 1 attempts, last error: communication failure: Transaction 2UMpiJ5hh7WLjVgEiMLOoO has expired
```

### Transactions non interactives
<a name="data-shell-transactions.noninteractive"></a>

Vous pouvez exécuter une transaction complète avec plusieurs instructions en groupant les commandes et les instructions de manière séquentielle comme suit.

```
qldb> begin; SELECT * FROM Vehicle WHERE VIN = '1N4AL11D75C109151'; SELECT * FROM Person p, DriversLicense l WHERE p.GovId = l.LicenseNumber; commit
```

Vous devez séparer chaque commande et chaque instruction par un point-virgule ()`;`. Si l'une des instructions de la transaction n'est pas valide, le shell rejette automatiquement la transaction. Le shell ne poursuit aucune instruction que vous avez saisie ultérieurement.

Vous pouvez également configurer plusieurs transactions.

```
qldb> begin; statement1; commit; begin; statement2; statement3; commit
```

Comme dans l'exemple précédent, si une transaction échoue, le shell ne procède à aucune transaction ou instruction ultérieure que vous avez saisie.

Si vous ne mettez pas fin à une transaction, le shell passe en mode interactif et vous invite à saisir la commande ou l'instruction suivante.

```
qldb> begin; statement1; commit; begin
qldb *>
```

## Sortir de la coque
<a name="data-shell-exiting"></a>

Pour quitter la session `qldb` shell en cours, entrez la `quit` commande `exit` ou, ou utilisez le raccourci-clavier Ctrl \$1 D lorsque le shell n'est pas dans une transaction.

```
qldb> exit
$
```

```
qldb> quit
$
```

## exemple
<a name="data-shell-examples"></a>

Pour plus d'informations sur l'écriture d'instructions partiQL dans QLDB, consultez le. [Référence Amazon QLDB PartiQL](ql-reference.md)

**Example**  
L'exemple suivant montre une séquence courante de commandes de base.  
Dans cet exemple, le shell QLDB exécute chaque instruction partiQL dans sa propre transaction.  
Cet exemple suppose que le registre existe `test-ledger` déjà et qu'il est actif.

```
$ qldb --ledger test-ledger --region us-east-1

qldb> CREATE TABLE TestTable
qldb> INSERT INTO TestTable `{"Name": "John Doe"}`
qldb> SELECT * FROM TestTable
qldb> DROP TABLE TestTable
qldb> exit
```

# Accès à Amazon QLDB à l'aide de l'API
<a name="Using.API"></a>

**Important**  
Avis de fin de support : les clients existants pourront utiliser Amazon QLDB jusqu'à la fin du support le 31 juillet 2025. Pour plus de détails, consultez [Migrer un registre Amazon QLDB vers Amazon Aurora PostgreSQL](https://aws.amazon.com/blogs/database/migrate-an-amazon-qldb-ledger-to-amazon-aurora-postgresql/).

 Vous pouvez utiliser le AWS Management Console et le AWS Command Line Interface (AWS CLI) pour travailler de manière interactive avec Amazon QLDB. Toutefois, pour tirer le meilleur parti de QLDB, vous pouvez écrire du code d'application à l'aide d'un pilote QLDB ou d' AWS un SDK pour interagir avec votre registre à l'aide du. APIs

*Le pilote permet à votre application d'interagir avec QLDB à l'aide de l'API de données transactionnelles.* Le AWS SDK prend en charge l'interaction avec l'API de gestion des ressources *QLDB*. Pour plus d'informations à ce sujet APIs, consultez le[Référence de l'API Amazon QLDB](api-reference.md).

[Le pilote prend en charge QLDB [en](https://aws.amazon.com/sdk-for-java) Java[, .NET,](https://aws.amazon.com/sdk-for-net) Go [[,](https://aws.amazon.com/sdk-for-node-js) Node.js](https://aws.amazon.com/sdk-for-go) et Python.](https://aws.amazon.com/sdk-for-python) Pour démarrer rapidement avec ces langages, consultez [Commencer à utiliser le pilote Amazon QLDB](getting-started-driver.md).

Avant de pouvoir utiliser un pilote QLDB ou AWS un SDK dans votre application, vous devez accorder un accès programmatique. Pour de plus amples informations, veuillez consulter [Octroi d’un accès par programmation](accessing.md#grant-programmatic-access).