

支援終止通知：2025 年 9 月 15 日， AWS 將停止對 Amazon Lex 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)。

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 版本控制與別名
<a name="versioning-aliases"></a>

Amazon Lex 支援發佈版本的機器人、意圖和槽類型，讓您可以控制用戶端應用程式使用的實作。*版本*是您的工作具有編號的快照，可供您發佈以用於工作流程的各個不同環節，例如開發、測試部署和生產。

Amazon Lex 機器人也支援別名。*別名*是特定機器人版本的指標。透過別名，您可以輕鬆地更新用戶端應用程式所使用的版本。例如，您可以將別名指向版本 1 的機器人。當您準備好更新機器人時，您會發佈第 2 版，並將別名變更為指向新版本。由於您的應用程式是使用別名而非特定版本，所有您的用戶端皆無需進行更新便能獲得新功能。

**Topics**
+ [版本控制](#versioning-intro)
+ [別名](#aliases-intro)

## 版本控制
<a name="versioning-intro"></a>

當您為 Amazon Lex 資源建立版本時，您可以建立資源的快照，以便使用建立版本時現有的資源。版本建立後，在您繼續處理應用程式期間該資源將保持不變。

### \$1LATEST 版本
<a name="versioning-intro-create-function"></a>

當您建立 Amazon Lex 機器人、意圖或槽類型時，只有一個版本，即 `$LATEST`版本。

![\[The $LATEST version of a bot.\]](http://docs.aws.amazon.com/zh_tw/lex/latest/dg/images/lex-only-bot.png)

`$LATEST` 是您的資源的工作複本。您只能更新 `$LATEST` 版本，而且直到您發佈第一個版本之前，`$LATEST` 是您所擁有資源的唯一版本。

唯獨 `$LATEST` 版本的資源能夠使用 `$LATEST` 版本的另一項資源。例如，`$LATEST` 版本的機器人可使用 `$LATEST` 版本的意圖，而 `$LATEST` 版本的意圖可使用 `$LATEST` 版本的槽類型。

您的機器人`$LATEST`版本應僅用於手動測試。Amazon Lex 會限制您可以對機器人`$LATEST`版本提出的執行時間請求數量。

### 發佈 Amazon Lex 資源版本
<a name="versioning-intro-publish-version"></a>

當您發佈資源時，Amazon Lex 會複製 `$LATEST`版本，並將其儲存為編號版本。發佈的版本無法變更。

![\[Publishing a new version of the bot.\]](http://docs.aws.amazon.com/zh_tw/lex/latest/dg/images/bot2.png) 

您可以使用 Amazon Lex 主控台或 [CreateBotVersion](API_CreateBotVersion.md)操作建立和發佈版本。如需範例，請參閱 [練習 3：發佈版本和建立別名](gettingstarted-ex3.md)。

當您修改 `$LATEST` 版本的資源後，可發佈新版本以就您的用戶端應用程式進行任何適用的變更。每次發佈版本時，Amazon Lex 都會複製`$LATEST`版本以建立新的版本，並將版本編號增加 1。版本編號絕不會重複使用。例如，如果您移除編號為版本 10 的資源，然後重新建立，Amazon Lex 指派的下一個版本編號是版本 11。

發佈機器人之前，您必須先將該機器人指向其所使用之某一編號版本的任何意圖。若您嘗試發佈的新版本機器人是使用 \$1LATEST 版本的意圖，Amazon Lex 將會傳回 HTTP 400 錯誤的請求例外狀況。發佈某一編號版本的意圖之前，您必須先將該意圖指向其所使用之某一編號版本的任何槽類型。否則，您將收到 HTTP 400 錯誤的請求例外狀況。

![\[Publishing a new version of $LATEST.\]](http://docs.aws.amazon.com/zh_tw/lex/latest/dg/images/lex-publish-identical-bot.png) 

**注意**  
只有在上次發佈的版本與版本不同時，Amazon Lex 才會發佈新`$LATEST`版本。如果您嘗試發佈`$LATEST`版本而不修改，Amazon Lex 不會建立或發佈新版本。

### 更新 Amazon Lex 資源
<a name="versioning-intro-updating-function-code"></a>

您只能更新 Amazon Lex 機器人的`$LATEST`版本、意圖或槽類型。發佈的版本無法變更。更新資源之後，您隨時可透過主控台或使用 [CreateBotVersion](API_CreateBotVersion.md)、[CreateIntentVersion](API_CreateIntentVersion.md) 或 [CreateSlotTypeVersion](API_CreateSlotTypeVersion.md) 操作以發佈新版本。

### 刪除 Amazon Lex 資源或版本
<a name="versioning-intro-deleting-function-versions"></a>

Amazon Lex 支援使用主控台或其中一個 API 操作刪除資源或版本：
+ [DeleteBot](API_DeleteBot.md)
+ [DeleteBotVersion](API_DeleteBotVersion.md)
+ [DeleteBotAlias](API_DeleteBotAlias.md)
+ [DeleteBotChannelAssociation](API_DeleteBotChannelAssociation.md)
+ [DeleteIntent](API_DeleteIntent.md)
+ [DeleteIntentVersion](API_DeleteIntentVersion.md)
+ [DeleteSlotType](API_DeleteSlotType.md)
+ [DeleteSlotTypeVersion](API_DeleteSlotTypeVersion.md)

## 別名
<a name="aliases-intro"></a>

別名是 Amazon Lex 機器人特定版本的指標。利用別名以讓用戶端應用程式能夠使用特定版本的機器人，而無需由應用程式追蹤其為哪個版本。

下列範例顯示 Amazon Lex 機器人的兩個版本，版本 1 和版本 2。這兩個機器人版本各有其相關聯的別名，分別為 BETA 和 PROD。用戶端應用程式使用 PROD 別名存取機器人。

![\[Point a client application to a version by using an alias.\]](http://docs.aws.amazon.com/zh_tw/lex/latest/dg/images/lex-publish-alias-bot.png) 

建立另一版本的機器人之後，您可以使用主控台或 [PutBot](API_PutBot.md) 操作，將別名更新為指向新版本的機器人。一旦您變更別名，所有您的用戶端應用程式都將使用新版本。如果新版本發生問題，您只需要將別名變更為指向前一個版本即可還原回該版本。

![\[Updating an alias changes the version used by client applications.\]](http://docs.aws.amazon.com/zh_tw/lex/latest/dg/images/lex-publish-alias-bot-v2.png) 

**注意**  
儘管您可以從主控台測試 `$LATEST` 版本的機器人，但建議您在將機器人與您的用戶端應用程式整合時，首先發佈一個版本並建立別名以指向該版本。如存在本節所述原因，請在您的用戶端應用程式中使用別名。當您更新別名時，Amazon Lex 會等到所有目前工作階段的工作階段逾時到期，再開始使用新版本。如需工作階段逾時的詳細資訊，請參閱[設定工作階段逾時](context-mgmt-session-timeout.md)