

サポート終了通知: 2025 年 9 月 15 日、 AWS は Amazon Lex V1 のサポートを終了します。 V1 2025 年 9 月 15 日を過ぎると、Amazon Lex V1 コンソールまたは Amazon Lex V1 リソースにはアクセスできなくなります。Amazon Lex V2 を使用している場合は、代わりに [Amazon Lex V2 ガイド](https://docs.aws.amazon.com/lexv2/latest/dg/what-is.html)を参照してください。

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# 演習 4: バージョンを発行する (AWS CLI)
<a name="gs-cli-publish"></a>

次に演習 1 で作成したボットのバージョンを作成します。*バージョン*は、ボットのスナップショットです。一度作成したバージョンは変更できません。ボットのバージョンで更新できるのは `$LATEST` バージョンのみです。バージョンの詳細については、「[バージョニングとエイリアス](versioning-aliases.md)」を参照してください。

ボットのバージョンを発行する前に、そのバージョンで使用しているインテントを発行する必要があります。同様に、これらのインテントで参照しているスロットタイプを発行する必要があります。通常、ボットのバージョンを発行するには、以下の操作を行ないます。

1. [CreateSlotTypeVersion](API_CreateSlotTypeVersion.md) オペレーションを使用してスロットタイプのバージョンを発行します。

1. [CreateIntentVersion](API_CreateIntentVersion.md) オペレーションを使用してインテントのバージョンを発行します。

1. [CreateBotVersion](API_CreateBotVersion.md) オペレーションを使用してボットのバージョンを発行します。

この演習のコマンドを実行するには、コマンドが実行されるリージョンを確認しておく必要があります。リージョンのリストについては、「[モデル構築のクォータ](gl-limits.md#gl-limits-model-building)」を参照してください。

**Topics**
+ [ステップ 1: スロットタイプを発行する (AWS CLI)](gs-cli-publish-slot-type.md)
+ [ステップ 2: インテントを発行する (AWS CLI)](gs-cli-publish-intent.md)
+ [ステップ 3: ボットを発行する (AWS CLI)](gs-cli-publish-bot.md)

# ステップ 1: スロットタイプを発行する (AWS CLI)
<a name="gs-cli-publish-slot-type"></a>

スロットタイプを使用するインテントのバージョンを発行する前に、そのスロットタイプのバージョンを発行する必要があります。この例では、`FlowerTypes` を発行します。

**注記**  
次の AWS CLI 例は、Unix、Linux、macOS 用にフォーマットされています。Windows の場合は、`"\$LATEST"` を `$LATEST` に変更し、各行末のバックスラッシュ (\$1) 連結文字をキャレット (^) に置き換えてください。

**スロットタイプを発行するには (AWS CLI)**

1. で AWS CLI、スロットタイプの最新バージョンを取得します。

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

   Amazon Lex からのレスポンスは次のとおりです。`$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. スロットタイプのバージョンを発行します。前のステップで書き留めたチェックサムを使用します。

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

   Amazon Lex からのレスポンスは次のとおりです。次のステップのためにバージョン番号を書き留めます。

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

## 次のステップ
<a name="gs-cli-publish-2"></a>

[ステップ 2: インテントを発行する (AWS CLI)](gs-cli-publish-intent.md)

# ステップ 2: インテントを発行する (AWS CLI)
<a name="gs-cli-publish-intent"></a>

インテントを発行する前に、そのインテントで参照しているすべてのスロットタイプを発行する必要があります。スロットタイプは、`$LATEST` バージョンではなく、番号が付いたバージョンであることが必要です。

まず、`OrderFlowers` インテントを更新し、前のステップで発行した `FlowerTypes` スロットタイプのバージョンを使用します。次に、`OrderFlowers` インテントの新しいバージョンを発行します。

**注記**  
次の AWS CLI 例は、Unix、Linux、macOS 用にフォーマットされています。Windows の場合は、`"\$LATEST"` を `$LATEST` に変更し、各行末のバックスラッシュ (\$1) 連結文字をキャレット (^) に置き換えてください。

**インテントのバージョンを発行するには (AWS CLI)**

1. で AWS CLI、イン`OrderFlowers`テント`$LATEST`のバージョンを取得し、ファイルに保存します。

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

1. テキストエディタで、**OrderFlowers\$1V4.json** ファイルを開きます。`createdDate`、`lastUpdatedDate`、`version` の各フィールドを削除します。`FlowerTypes` スロットタイプを見つけ、そのバージョンを前のステップで書き留めたバージョン番号に変更します。以下は、**OrderFlowers\$1V4.json** ファイルの中で変更箇所を示す部分です。

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

1. で AWS CLI、インテントのリビジョンを保存します。

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

1. インテントの最新リビジョンのチェックサムを取得します。

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

   以下は、レスポンスの中でインテントのチェックサムを示す部分です。次のステップのために、これを書き留めます。

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

1. インテントの新しいバージョンを発行します。

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

   以下は、レスポンスの中でインテントの新しいバージョンを示す部分です。次のステップのためにバージョン番号を書き留めます。

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

## 次のステップ
<a name="gs-cli-publish-3"></a>

[ステップ 3: ボットを発行する (AWS CLI)](gs-cli-publish-bot.md)

# ステップ 3: ボットを発行する (AWS CLI)
<a name="gs-cli-publish-bot"></a>

ボットで使用しているすべてのスロットタイプとインテントを発行したら、次にボットを発行できます。

`OrderFlowersBot` ボットを更新し、前のステップで更新した `OrderFlowers` インテントを使用します。次に、`OrderFlowersBot` ボットの新しいバージョンを発行します。

**注記**  
次の AWS CLI 例は、Unix、Linux、macOS 用にフォーマットされています。Windows の場合は、`"\$LATEST"` を `$LATEST` に変更し、各行末のバックスラッシュ (\$1) 連結文字をキャレット (^) に置き換えてください。

**ボットのバージョンを発行するには (AWS CLI)**

1. で AWS CLI、`OrderFlowersBot`ボット`$LATEST`のバージョンを取得し、ファイルに保存します。

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

1. テキストエディタで、**OrderFlowersBot\$1V4.json** ファイルを開きます。`createdDate`、`lastUpdatedDate`、`status`、`version` の各フィールドを削除します。`OrderFlowers` インテントを見つけ、そのバージョンを前のステップで書き留めたバージョン番号に変更します。以下は、**OrderFlowersBot\$1V4.json** の中で変更箇所を示す部分です。

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

1. で AWS CLI、ボットの新しいリビジョンを保存します。`put-bot` の呼び出しによって返されるバージョン番号をメモしておきます。

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

1. ボットの最新リビジョンのチェックサムを取得します。ステップ 3 で返されたバージョン番号を使用します。

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

   以下は、レスポンス内のボットのチェックサムを示す部分です。次のステップのために、これを書き留めます。

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

1. ボットの新しいバージョンを発行します。

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

   以下は、レスポンス内でボットの新しいバージョンを示す部分です。

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

## 次のステップ
<a name="gs-cli-next-exercise-5"></a>

[演習 5: エイリアスを作成する (AWS CLI)](gs-cli-create-alias.md)