以 Amazon Lex 格式导入 - Amazon Lex V1

如果您使用的是 Amazon Lex V2,请改为参阅 Amazon Lex V2 指南

 

如果您使用的是 Amazon Lex V1,我们建议您将机器人升级到 Amazon Lex V2。我们不再向 V1 添加新功能,强烈建议使用 V2 以获得全新的机器人。

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

以 Amazon Lex 格式导入

在以 Amazon Lex 格式将资源导出到 JSON 文件后,可以将包含资源的 JSON 文件导入到一个或多个 AWS 账户。例如,您可以导出机器人,然后将其导入另一个 AWS 区域。或者,您可以将自动程序发送给同事,以便将其导入同事的账户。

当您导入自动程序、目的或插槽类型时,您必须决定是否要覆盖资源的 $LATEST 版本,例如导入期间的目的或插槽类型,或者如果要保留您账户中的资源,则您会希望导入失败。例如,如果您要向您的账户上传资源的已编辑版本,则可以选择覆盖 $LATEST 版本。如果您要上传同事发送给您的资源,则可以选择在存在资源冲突时让导入失败,以便不会替换您自己的资源。

在导入资源时,分配给执行导入请求的用户的权限是适用的。用户必须拥有该账户中导入影响的所有资源的权限。用户还必须具有 GetBotPutBotGetIntentPutIntentGetSlotTypePutSlotType 操作的权限。有关许可的更多信息,请参阅 Amazon Lex 是如何与之合作的 IAM

导入会报告在处理期间发生的错误。在导入过程开始之前报告一些错误,在导入过程中报告其他错误。例如,如果导入意图的账户没有权限调用意图所使用的 Lambda 函数,则在对插槽类型或意图进行更改之前导入会失败。如果导入在导入过程中失败,在过程失败之前导入的任何目的或插槽类型的 $LATEST 版本够会被修改。您无法回滚对 $LATEST 版本所做的更改。

当您导入资源时,所有从属资源都会导入资源的 $LATEST 版本,然后给定一个带编号的版本。例如,如果一个自动程序使用一个目的,则该目的被给定一个带编号的版本。如果目的使用自定义插槽类型,则插槽类型会有给定的带编号版本。

资源仅导入一次。例如,如果自动程序包含一个 OrderPizza 目的和一个 OrderDrink 目的,并且二者都依赖于自定义插槽类型 Size,则 Size 插槽类型会导入一次并用于这两个目的。

注意

如果您在导出机器人时将 enableModelImprovements 参数设置为 false,则必须打开包含机器人定义的 .zip 文件,并将以下区域中的 enableModelImprovements 参数更改为 true

  • 亚太地区(新加坡)(ap-southeast-1)

  • 亚太地区(东京)(ap-northeast-1)

  • 欧洲(法兰克福)(eu-central-1)

  • 欧洲(伦敦)(eu-west-2)

导入自动程序、目的或自定义插槽类型的过程是相同的。在下列步骤中,相应地替换目的或插槽类型。

导入自动程序

导入自动程序
  1. 登录 AWS 管理控制台,并通过以下网址打开 Amazon Lex 控制台:https://console.aws.amazon.com/lex/

  2. 选择 Bots,然后选择要导入的自动程序。要导入新的自动程序,请跳过此步骤。

  3. 对于 Actions,选择 Import

  4. 对于 Import Bot,选择要导入的自动程序所在的 JSON 文件所在的 .zip 存档。如果您想在合并之前查看合并冲突,请选择 Notify me of merge conflicts。如果您关闭冲突检查,则自动程序使用的所有资源的 $LATEST 版本都将被覆盖。

  5. 选择 Import (导入)。如果您选择了有合并冲突时发送通知并且存在冲突,则会出现一个对话框列出它们。要覆盖所有冲突资源的 $LATEST 版本,请选择 Overwrite and continue (覆盖并继续)。要停止导入,请选择 Cancel

您现在可以在您的账户中测试自动程序。