如果您使用的是 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
版本。
$LATEST
是您的资源的工作副本。您只能更新 $LATEST
版本,直到您发布第一个版本之前,$LATEST
是您所拥有的唯一资源版本。
只有资源的 $LATEST
版本可以使用另一个资源的 $LATEST
版本。例如,自动程序的 $LATEST
版本可以使用目的的 $LATEST
版本,目的的 $LATEST
版本可以使用槽类型的 $LATEST
版本。
$LATEST
版本的机器人只应用于手动测试。Amazon Lex 限制可对 $LATEST
版本的机器人进行的运行时请求的数量。
发布 Amazon Lex 资源版本
当您发布资源时,Amazon Lex 将创建 $LATEST
版本的副本,并将其保存为带编号的版本。无法更改已发布版本。
您可以使用 Amazon Lex 控制台或 CreateBotVersion 操作创建和发布版本。有关示例,请参阅 练习 3:发布版本和创建别名。
当您修改 $LATEST
版本的资源时,可以发布新版本以做出可用于您的客户端应用程序的更改。每当您发布版本时,Amazon Lex 都会复制 $LATEST
版本以创建新版本并将版本号递增 1。版本号绝不会重复使用。例如,如果您删除版本编号为 10 的资源,然后再重新创建该资源,则 Amazon Lex 分配给它的下一个版本号是版本 11。
在发布自动程序前,必须先将它指向它所使用的任意目的的一个编号版本。如果您尝试发布使用 $LATEST 版本目的的自动程序新版本,Amazon Lex 会返回 HTTP 400 错误请求异常。在发布编号版本的目的之前,必须先将目的指向它所使用的任意槽类型的一个编号版本。否则您会收到 HTTP 400 错误请求异常。
注意
仅在上次发布的版本与 $LATEST
版本不同时,Amazon Lex 才会发布新版本。如果您尝试发布 $LATEST
版本而不对它进行修改,则 Amazon Lex 不会创建或发布新版本。
更新 Amazon Lex 资源
您只能更新 Amazon Lex 机器人、意图或插槽类型的 $LATEST
版本。无法更改已发布的版本。您在控制台中或者使用 CreateBotVersion、CreateIntentVersion 或 CreateSlotTypeVersion 操作更新资源后,随时可以发布新版本。
删除 Amazon Lex 资源或版本
Amazon Lex 支持使用控制台或以下 API 操作之一删除资源或版本:
Aliases
别名是指向 Amazon Lex 机器人特定版本的指针。使用别名可允许客户端应用程序使用特定版本的自动程序,而应用程序无需跟踪它是哪个版本。
以下示例显示 Amazon Lex 机器人的两个版本,版本 1 和版本 2。这两个自动程序版本各有一个关联的别名,分别为 BETA 和 PROD。客户端应用程序使用 PROD 别名来访问自动程序。
当您创建另一个版本的自动程序时,您可以使用控制台或 PutBot 操作更新别名以指向新版本的自动程序。当您更改别名时,您的所有客户端应用程序都将使用新版本。如果新版本出了问题,您只需通过更改别名以指向之前的版本,即可回滚到该版本。
注意
虽然您可以在控制台中测试自动程序的 $LATEST
版本,但我们建议,在您将自动程序与您的客户端应用程序集成时,首先发布一个版本,然后创建一个指向该版本的别名。本部分中说明了在您的客户端应用程序中使用别名的原因。当您更新别名时,Amazon Lex 会等到所有当前会话的会话超时过期之后再开始使用新版本。有关会话超时的更多信息,请参阅设置超时会话