版本控制與別名 - Amazon Lex V1

如果您使用的是 Amazon Lex V2,請改參閱 Amazon Lex V2 指南

 

如果您使用的是 Amazon Lex V1,建議您將機器人升級至 Amazon Lex V2。我們不再將新功能新增至 V1,強烈建議所有新機器人都使用 V2。

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

版本控制與別名

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

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

版本控制

當您對 Amazon Lex 資源進行版本控制時,您將建立該資源的快照,進而能夠以建立其版本時的資源現存狀態使用該資源。版本建立後,在您繼續處理應用程式期間該資源將保持不變。

$LATEST 版本

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

The $LATEST version of a bot.

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

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

所以此$LATEST機器人的版本僅應用於手動測試。Amazon Lex 會限制您可以對$LATEST版本的機器人。

發佈亞 Amazon Lex 資源版本

當您發佈資源時,Amazon Lex 會建立$LATEST版本並將其儲存為具有編號的版本。發佈的版本無法變更。

Publishing a new version of the bot.

您可以使用 Amazon Lex 主控台或CreateBotVersionoperation. 如需範例,請參閱 練習 3:發佈版本和建立別名

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

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

Publishing a new version of $LATEST.

注意

僅當上次發佈的版本不同於$LATEST版本。如果您嘗試發佈$LATEST版本而未對其進行修改,Amazon Lex 便不會建立或發佈新版本。

更新亞 Amazon Lex 資源

您可以僅更新$LATEST版本的 Amazon Lex 機器人、意圖或槽類型。發佈的版本無法變更。更新資源之後,您隨時可透過主控台或使用 CreateBotVersionCreateIntentVersionCreateSlotTypeVersion 操作以發佈新版本。

刪除 Amazon Lex 資源或版本

Amazon Lex 支援使用主控台或以下 API 操作之一刪除資源或版本:

別名

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

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

Point a client application to a version by using an alias.

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

Updating an alias changes the version used by client applications.

注意

儘管您可以從主控台測試 $LATEST 版本的機器人,但建議您在將機器人與您的用戶端應用程式整合時,首先發佈一個版本並建立別名以指向該版本。如存在本節所述原因,請在您的用戶端應用程式中使用別名。當您更新別名時,Amazon Lex 將等到所有目前工作階段的工作階段逾時皆已過期後,才開始使用新版本。如需工作階段逾時的詳細資訊,請參閱設定工作階段逾時