

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

# 使用 Lex V2 機器人進行版本控制和別名
<a name="versions-aliases"></a>

Amazon Lex V2 支援建立機器人和機器人網路的版本和別名，讓您可以控制用戶端應用程式使用的實作。版本做為您工作的編號快照。您可以將別名指向您想要提供給客戶的機器人版本。在建立版本之間，您可以繼續更新機器人的`Draft`版本，而不會影響使用者體驗。

## 版本
<a name="versions"></a>

Amazon Lex V2 支援建立機器人版本，讓您可以控制用戶端應用程式使用的實作。*版本*是工作的編號快照，您可以建立用於工作流程的不同部分，例如開發、Beta 部署和生產。

### Lex V2 機器人的草稿版本
<a name="versioning-intro-create-function"></a>

當您建立 Amazon Lex V2 機器人時，只有一個版本，即 `Draft`版本。

`Draft` 是機器人的運作副本。您只能更新 `Draft`版本，直到您建立第一個版本為止， `Draft`是您擁有的唯一機器人版本。

機器人的`Draft`版本與 相關聯`TestBotAlias`。`TestBotAlias` 應僅用於手動測試。Amazon Lex V2 `TestBotAlias` 會限制您可以對機器人別名提出的執行時間請求數量。

### 為您的 Lex V2 機器人建立版本
<a name="versioning-intro-creating"></a>

當您為 Amazon Lex V2 機器人建立版本時，您可以建立機器人的編號快照，以便在版本建立時使用該機器人。建立數值版本後，它將保持不變，同時繼續處理應用程式的草稿版本。

建立版本時，您可以選擇要包含在版本中的地區設定。您不需要選擇機器人中的所有地區設定。此外，當您建立版本時，您可以從先前的版本中選擇地區設定。例如，如果您有三個版本的機器人，您可以在建立第 4 版時，從 `Draft`版本選擇一個地區設定，從第 2 版選擇一個地區設定。

如果您從`Draft`版本中刪除地區設定，則不會從編號的版本中刪除該地區設定。

如果機器人版本未使用六個月，Amazon Lex V2 會將版本標記為非作用中。當版本處於非作用中狀態時，您無法搭配機器人使用執行時間操作。若要讓機器人處於作用中狀態，請重建與該版本相關聯的所有語言。

### 更新 Amazon Lex V2 機器人
<a name="versioning-intro-updating-function-code"></a>

您只能更新 Amazon Lex V2 機器人的`Draft`版本。版本無法變更。您可以在更新主控台中的資源或使用 [CreateBotVersion](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_CreateBotVersion.html) 操作之後，隨時建立新的版本。

### 刪除 Amazon Lex V2 機器人或版本
<a name="versioning-intro-deleting-function-versions"></a>

Amazon Lex V2 支援使用主控台或其中一個 API 操作刪除機器人或版本：
+  [DeleteBot](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_DeleteBot.html) 
+  [DeleteBotVersion](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_DeleteBotVersion.html) 

## Lex V2 機器人的別名
<a name="aliases"></a>

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

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

當您建立機器人時，Amazon Lex V2 會建立名為 的別名`TestBotAlias`，可用來測試機器人。`TestBotAlias` 別名一律與您的機器人`Draft`版本相關聯。您應該僅使用`TestBotAlias`別名進行測試，Amazon Lex V2 會限制您可以對別名提出的執行時間請求數量。

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

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

當您建立機器人的第二個版本時，您可以使用 主控台或 [UpdateBotAlias](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_UpdateBotAlias.html) 操作來更新別名，以指向機器人的新版本。一旦您變更別名，所有您的用戶端應用程式都將使用新版本。如果新版本發生問題，您只需要將別名變更為指向前一個版本即可還原回該版本。

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

當您設定用戶端應用程式呼叫 [Amazon Lex 執行期 V2](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_Operations_Amazon_Lex_Runtime_V2.html) APIs，讓客戶與您的機器人互動時，您可以使用指向您希望客戶使用的版本的別名。

**注意**  
雖然您可以在 主控台中測試機器人的`Draft`版本，但我們建議您在將機器人與用戶端應用程式整合時，先建立版本並建立指向該版本的別名。如存在本節所述原因，請在您的用戶端應用程式中使用別名。當您更新別名時，Amazon Lex V2 會將目前版本用於所有進行中工作階段。新工作階段使用新版本。