版本控制和别名 - 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 控制台或 CreateBotVersion 操作创建和发布版本。有关示例,请参阅 练习 3:发布版本和创建别名

当您修改 $LATEST 版本的资源时,可以发布新版本以做出可用于您的客户端应用程序的更改。每当您发布版本时,Amazon Lex 都会复制 $LATEST 版本以创建新版本并将版本号递增 1。版本号绝不会重复使用。例如,如果您删除版本编号为 10 的资源,然后再重新创建该资源,则 Amazon Lex 分配给它的下一个版本号是版本 11。

在发布自动程序前,必须先将它指向它所使用的任意目的的一个编号版本。如果您尝试发布使用 $LATEST 版本目的的自动程序新版本,Amazon Lex 会返回 HTTP 400 错误请求异常。在发布编号版本的目的之前,必须先将目的指向它所使用的任意槽类型的一个编号版本。否则您会收到 HTTP 400 错误请求异常。

Publishing a new version of $LATEST.

注意

仅在上次发布的版本与 $LATEST 版本不同时,Amazon Lex 才会发布新版本。如果您尝试发布 $LATEST 版本而不对它进行修改,则 Amazon Lex 不会创建或发布新版本。

更新 Amazon Lex 资源

您只能更新 Amazon Lex 机器人、意图或插槽类型的 $LATEST 版本。无法更改已发布的版本。您在控制台中或者使用 CreateBotVersionCreateIntentVersionCreateSlotTypeVersion 操作更新资源后,随时可以发布新版本。

删除 Amazon Lex 资源或版本

Amazon Lex 支持使用控制台或以下 API 操作之一删除资源或版本:

Aliases

别名是指向 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 会等到所有当前会话的会话超时过期之后再开始使用新版本。有关会话超时的更多信息,请参阅设置超时会话