

Avis de fin de support : le 15 septembre 2025, le support pour Amazon Lex V1 AWS sera interrompu. Après le 15 septembre 2025, vous ne pourrez plus accéder à la console Amazon Lex V1 ni aux ressources Amazon Lex V1. Si vous utilisez Amazon Lex V2, consultez plutôt le [guide Amazon Lex V2](https://docs.aws.amazon.com/lexv2/latest/dg/what-is.html). 

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.

# Exercice 4 : Publication d'une version (AWS CLI)
<a name="gs-cli-publish"></a>

Vous allez à présent créer une version du bot réalisé dans l'exercice 1. Une *version* est un instantané du bot. Vous ne pouvez pas modifier une version après l'avoir créée. La seule version d'un bot que vous pouvez mettre à jour est la version `$LATEST`. Pour plus d'informations sur les versions, consultez [Versions et alias](versioning-aliases.md). 

Avant de publier une version d'un bot, vous devez publier les intentions qu'il utilise. De même, vous devez publier les types d'options auxquels ces intentions se rapportent à. En général, pour publier une version d'un bot, vous devez suivre la procédure ci-dessous :

1. Publiez une version d'un type d'option avec l'opération [CreateSlotTypeVersion](API_CreateSlotTypeVersion.md).

1. Publiez une version d'une intention avec l'opération [CreateIntentVersion](API_CreateIntentVersion.md).

1. Publiez une version d'un bot avec l'opération [CreateBotVersion](API_CreateBotVersion.md).

Pour exécuter les commandes de cet exercice, vous devez connaître la région dans laquelle les commandes seront exécutées. Pour obtenir la liste des régions, consultez [Quotas liés à la création de modèle](gl-limits.md#gl-limits-model-building).

**Topics**
+ [Etape 1 : Publication du type d'option (AWS CLI)](gs-cli-publish-slot-type.md)
+ [Étape 2 : Publication de l'intention (AWS CLI)](gs-cli-publish-intent.md)
+ [Étape 3 : Publication du bot (AWS CLI)](gs-cli-publish-bot.md)

# Etape 1 : Publication du type d'option (AWS CLI)
<a name="gs-cli-publish-slot-type"></a>

Avant de pouvoir publier une version de tous les intentions qui utilisent un type d'option, vous devez publier une version de ce dernier. Dans ce cas, vous publiez le type d'option `FlowerTypes`. 

**Note**  
L' AWS CLI exemple suivant est formaté pour Unix, Linux et macOS. Pour Windows, remplacez `"\$LATEST"` par `$LATEST` et remplacez le caractère de continuation, à savoir la barre oblique inversée (\$1), à la fin de chaque ligne par un accent circonflexe (^).

**Pour publier un type d'option (AWS CLI)**

1. Dans le AWS CLI, procurez-vous la dernière version du type de machine à sous :

   ```
   aws lex-models get-slot-type \
       --region region \
       --name FlowerTypes \
       --slot-type-version "\$LATEST"
   ```

   La réponse d'Amazon Lex suit. Enregistrez le total de contrôle pour la révision actuelle de la version `$LATEST`.

   ```
   {
       "enumerationValues": [
           {
               "value": "tulips"
           }, 
           {
               "value": "lilies"
           }, 
           {
               "value": "roses"
           }
       ], 
       "name": "FlowerTypes", 
       "checksum": "checksum", 
       "version": "$LATEST", 
       "lastUpdatedDate": timestamp, 
       "createdDate": timestamp, 
       "description": "Types of flowers to pick up"
   }
   ```

1. Publiez une version du type d'option. Utilisez le total de contrôle que vous avez enregistré à l'étape précédente.

   ```
   aws lex-models create-slot-type-version \
       --region region \
       --name FlowerTypes \
       --checksum "checksum"
   ```

   La réponse d'Amazon Lex suit. Enregistrez le numéro de version pour l'étape suivante.

   ```
   {
       "version": "1", 
       "enumerationValues": [
           {
               "value": "tulips"
           }, 
           {
               "value": "lilies"
           }, 
           {
               "value": "roses"
           }
       ], 
       "name": "FlowerTypes", 
       "createdDate": timestamp, 
       "lastUpdatedDate": timestamp, 
       "description": "Types of flowers to pick up"
   }
   ```

## Étape suivante
<a name="gs-cli-publish-2"></a>

[Étape 2 : Publication de l'intention (AWS CLI)](gs-cli-publish-intent.md)

# Étape 2 : Publication de l'intention (AWS CLI)
<a name="gs-cli-publish-intent"></a>

Avant de pouvoir publier une intention, vous devez publier tous les types d'options auxquels elle se rapporte. Les types d'options doivent être des versions numérotées, pas la version `$LATEST`.

Tout d'abord, mettez à jour l'intention `OrderFlowers` pour qu'elle utilise la version du type d'option `FlowerTypes` que vous avez publié dans l'étape précédente. Publiez ensuite une nouvelle version de l'intention `OrderFlowers`.

**Note**  
L' AWS CLI exemple suivant est formaté pour Unix, Linux et macOS. Pour Windows, remplacez `"\$LATEST"` par `$LATEST` et remplacez le caractère de continuation, à savoir la barre oblique inversée (\$1), à la fin de chaque ligne par un accent circonflexe (^).

**Pour publier une version d'une intention (AWS CLI)**

1. Dans le AWS CLI, obtenez la `$LATEST` version de l'`OrderFlowers`intention et enregistrez-la dans un fichier :

   ```
   aws lex-models get-intent \
       --region region \
       --name OrderFlowers \
       --intent-version "\$LATEST" > OrderFlowers_V4.json
   ```

1. Dans un éditeur de texte, ouvrez le fichier **OrderFlowers\$1V4.json**. Supprimez les champs `createdDate`, `lastUpdatedDate` et `version`. Recherchez le type d'option `FlowerTypes` et remplacez la version par le numéro de version que vous avez enregistré dans l'étape précédente. Le fragment suivant du fichier **OrderFlowers\$1V4.json** montre l'emplacement de la modification :

   ```
           {
               "slotType": "FlowerTypes", 
               "name": "FlowerType", 
               "slotConstraint": "Required", 
               "valueElicitationPrompt": {
                   "maxAttempts": 2, 
                   "messages": [
                       {
                           "content": "What type of flowers?", 
                           "contentType": "PlainText"
                       }
                   ]
               }, 
               "priority": 1, 
               "slotTypeVersion": "version", 
               "sampleUtterances": []
           },
   ```

1. Dans le AWS CLI, enregistrez la révision de l'intention :

   ```
   aws lex-models put-intent \
       --name OrderFlowers \
       --cli-input-json file://OrderFlowers_V4.json
   ```

1. Obtenez le total de contrôle de la dernière révision de l'intention :

   ```
   aws lex-models get-intent \
       --region region \
       --name OrderFlowers \
       --intent-version "\$LATEST" > OrderFlowers_V4a.json
   ```

   Le fragment suivant de la réponse montre le total de contrôle de l'intention. Prenez-en note pour l'étape suivante.

   ```
       "name": "OrderFlowers", 
       "checksum": "checksum", 
       "version": "$LATEST",
   ```

1. Publiez une nouvelle version de l'intention : 

   ```
   aws lex-models create-intent-version \
       --region region \
       --name OrderFlowers \
       --checksum "checksum"
   ```

   Le fragment suivant de la réponse montre la nouvelle version de l'intention. Enregistrez le numéro de version pour l'étape suivante.

   ```
       "name": "OrderFlowers", 
       "checksum": "checksum", 
       "version": "version",
   ```

## Étape suivante
<a name="gs-cli-publish-3"></a>

[Étape 3 : Publication du bot (AWS CLI)](gs-cli-publish-bot.md)

# Étape 3 : Publication du bot (AWS CLI)
<a name="gs-cli-publish-bot"></a>

Une fois que vous avez publié tous les types d'options et toutes les intentions qui sont utilisés par votre bot, vous pouvez publier le bot.

Mettez à jour le bot `OrderFlowersBot` pour qu'il utilise l'intention `OrderFlowers` que vous avez mise à jour dans l'étape précédente. Publiez ensuite une nouvelle version du bot `OrderFlowersBot`.

**Note**  
L' AWS CLI exemple suivant est formaté pour Unix, Linux et macOS. Pour Windows, remplacez `"\$LATEST"` par `$LATEST` et remplacez le caractère de continuation, à savoir la barre oblique inversée (\$1), à la fin de chaque ligne par un accent circonflexe (^).

**Pour publier une version d'un bot (AWS CLI)**

1. Dans le AWS CLI, récupérez la `$LATEST` version du `OrderFlowersBot` bot et enregistrez-la dans un fichier :

   ```
   aws lex-models get-bot \
       --region region \
       --name OrderFlowersBot \
       --version-or-alias "\$LATEST" > OrderFlowersBot_V4.json
   ```

1. Dans un éditeur de texte, ouvrez le fichier **OrderFlowersBot\$1V4.json**. Supprimez les champs `createdDate`, `lastUpdatedDate`, `status` et `version`. Recherchez l'intention `OrderFlowers` et remplacez la version par le numéro de version que vous avez enregistré dans l'étape précédente. Le fragment suivant du fichier **OrderFlowersBot\$1V4.json** montre l'emplacement de la modification.

   ```
       "intents": [
           {
               "intentVersion": "version", 
               "intentName": "OrderFlowers"
           }
   ```

1. Dans le AWS CLI, enregistrez la nouvelle révision du bot. Notez le numéro de version renvoyé par l'appel à `put-bot`.

   ```
   aws lex-models put-bot \
       --name OrderFlowersBot \
       --cli-input-json file://OrderFlowersBot_V4.json
   ```

1. Obtenez le total de contrôle de la dernière révision du bot. Utilisez le numéro de version renvoyé à l'étape 3.

   ```
   aws lex-models get-bot \
       --region region \
       --version-or-alias version \
       --name OrderFlowersBot > OrderFlowersBot_V4a.json
   ```

   Le fragment suivant de la réponse montre le total de contrôle du bot. Prenez-en note pour l'étape suivante.

   ```
       "name": "OrderFlowersBot", 
       "locale": "en-US", 
       "checksum": "checksum",
   ```

1. Publiez une nouvelle version du bot:

   ```
   aws lex-models create-bot-version \
       --region region \
       --name OrderFlowersBot \
       --checksum "checksum"
   ```

   Le fragment suivant de la réponse montre la nouvelle version du bot.

   ```
       "checksum": "checksum", 
       "abortStatement": {
           ...
       }, 
       "version": "1",
       "lastUpdatedDate": timestamp,
   ```

## Étape suivante
<a name="gs-cli-next-exercise-5"></a>

[Exercice 5 : Création d'un alias (AWS CLI)](gs-cli-create-alias.md)