メニュー
Amazon Lex
開発者ガイド

バージョニングとエイリアス

Amazon Lex では、クライアントアプリケーションで使用する実装を制御できるように、ボット、インテント、スロットタイプのバージョンの発行をサポートしています。バージョンは、番号付きスナップショットであり、これをワークフローの開発、ベータデプロイ、本番稼働など、作業の段階別に発行して使用できます。

Amazon Lex ボットは、エイリアスもサポートしています。エイリアスはボットの特定バージョンを参照するポインタです。エイリアスを使用すると、クライアントアプリケーションが使用しているバージョンを簡単に更新できます。たとえば、エイリアスにボットのバージョン 1 を参照させます。ボットを更新する準備ができたら、バージョン 2 を発行し、新しいバージョンを参照するようにエイリアスを変更します。アプリケーションは、特定のバージョンではなくエイリアスを使用しているため、すべてのクライアントが更新なしで新しい機能を使用できるようになります。

バージョニング

Amazon Lex リソースのスナップショットをバージョンとして作成すると、その作成時点のリソースを使用できます。作成したバージョンは、アプリケーションで作業を続けても変更されずに残ります。

$LATEST バージョン

Amazon Lex のボット、インテント、またはスロットタイプの作成時点では、バージョンは 1 つ ($LATEST バージョン) のみです。

 ボットの $LATEST バージョン。

$LATEST は、リソースの作業コピーです。更新できるバージョンは $LATEST のみです。最初のバージョンを発行するまでは、$LATEST がリソースの唯一のバージョンです。

リソースの $LATEST バージョンでのみ、別のリソースの $LATEST バージョンを使用できます。たとえば、ボットの $LATEST バージョンでは、インテントの $LATEST バージョンを使用できます。インテントの $LATEST バージョンでは、スロットタイプの $LATEST バージョンを使用できます。

Amazon Lex リソースバージョンの発行

バージョンを発行すると、Amazon Lex は $LATEST バージョンのコピーを作成し、これを番号付きバージョンとして保存します。発行済みバージョンは変更できません。

ボットの新しいバージョンの発行

Amazon Lex コンソールまたは CreateBotVersion オペレーションを使用してバージョンを作成し発行します。例については、「演習 3: バージョンを発行してエイリアスを作成する」を参照してください。

リソースの $LATEST バージョンを変更したら、新しいバージョンを発行して、その変更がクライアントアプリケーションで使用できるようにします。バージョンを発行するたびに、Amazon Lex が $LATEST バージョンをコピーして新しいバージョンを作成し、バージョン番号を 1 つずつ増加させます。バージョン番号が再利用されることはありません。たとえば、バージョン 10 のリソースを削除して再作成すると、Amazon Lex が割り当てる次のバージョン番号はバージョン 11 になります。

ボットを発行する前に、ボットが使用しているインテントの番号付きバージョンをボットで参照する必要があります。インテントの $LATEST バージョンを使用しているボットの新バージョンを発行しようとすると、Amazon Lex から HTTP 400 Bad Request 例外が返されます。インテントの番号付きバージョンを発行する前に、インテントが使用しているスロットタイプの番号付きバージョンをインテントで参照する必要があります。そうしないと、HTTP 400 Bad Request 例外が発生します。

 $LATEST の新しいバージョンの発行。

注記

Amazon Lex は、最後に発行したバージョンが $LATEST バージョンと異なる場合にのみ新しいバージョンを発行します。$LATEST バージョンを変更せずに発行しようとした場合、Amazon Lex は新しいバージョンを作成せず、発行もしません。

Amazon Lex リソースの更新

Amazon Lex のボット、インテント、スロットタイプの $LATEST バージョンのみ更新できます。発行済みバージョンは変更できません。新しいバージョンは、コンソールを使用するか、CreateBotVersion オペレーション、CreateIntentVersion オペレーション、CreateSlotTypeVersion オペレーションのいずれかを使用してリソースを更新した後で、いつでも発行できます。

Amazon Lex のリソースまたはバージョンの削除

Amazon Lex では、コンソールを使用するか、API オペレーションのいずれかを使用して、リソースやバージョンを削除できます。

エイリアス

エイリアスは Amazon Lex ボットの特定のバージョンを参照するポインタです。エイリアスを使用すると、クライアントアプリケーションはボットの特定のバージョンを追跡することなく、どのバージョンでも使えるようになります。

次の例は、Amazon Lex ボットの 2 つのバージョン (バージョン $LATEST とバージョン 1) を示しています。これらのボットのバージョンにはそれぞれ、DEV と PROD というエイリアスが関連付けられています。クライアントアプリケーションは、PROD エイリアスを使用してボットにアクセスします。

 クライアントアプリケーションはエイリアスを使用してバージョンを参照します。

ボットの 2 番目のバージョンを作成したら、コンソールまたは PutBot オペレーションを使用して、ボットの新しいバージョンを参照するようにエイリアスを更新できます。エイリアスを変更すると、すべてのクライアントアプリケーションが新しいバージョンを使用します。新しいバージョンに問題がある場合は、そのバージョンを参照するエイリアスを変更するだけで、以前のバージョンにロールバックできます。

エイリアスを更新すると、クライアントアプリケーションが使用するバージョンが変わります。

注記

$LATEST バージョンのボットはコンソールでテストできますが、ボットとクライアントアプリケーションを統合する場合は、最初にバージョンを発行してそのバージョンを参照するエイリアスを作成することをお勧めします。このセクションで説明した理由から、クライアントアプリケーションではエイリアスを使用してください。エイリアスを更新すると、Amazon Lex ではすべての現行セッションのセッションタイムアウトが期限切れになるまで待ってから、新しいバージョンの使用を開始します。セッションタイムアウトの詳細については、「セッションタイムアウトの設定」を参照してください。

このページの内容: