

终止支持通知：2025年9月15日， AWS 我们将停止对Amazon Lex V1的支持。2025 年 9 月 15 日之后，您将无法再访问 Amazon Lex V1 控制台或 Amazon Lex V1 资源。如果您使用的是 Amazon Lex V2，请改为参阅 [Amazon Lex V2 指南](https://docs.aws.amazon.com/lexv2/latest/dg/what-is.html)。

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

# 以 Amazon Lex 格式导出和导入
<a name="import-export-lex"></a>

要在意图为重新导入 Amazon Lex 的情况下从 Amazon Lex 中导出机器人、意图和插槽类型，您应以 Amazon Lex 格式创建 JSON 文件。您可以在此文件中编辑您的资源并将其导入回 Amazon Lex。例如，您可以向目的中添加发言，然后将更改的目的导入回您的账户。您还可以使用 JSON 格式来共享资源。例如，您可以从一个 AWS 区域导出机器人，然后将其导入另一个区域。或者，您可以将 JSON 文件发送给同事以共享自动程序。

**Topics**
+ [以 Amazon Lex 格式导出](export-to-lex.md)
+ [以 Amazon Lex 格式导入](import-from-lex.md)
+ [用于导入和导出的 JSON 格式](import-export-format.md)

# 以 Amazon Lex 格式导出
<a name="export-to-lex"></a>

将您的 Amazon Lex 机器人、意图和插槽类型导出为可以导入到 AWS 账户的格式。您可以导出以下资源：
+ 自动程序，包括自动程序使用的所有目的和自定义插槽类型
+ 目的，包括目的使用的所有自定义槽类型
+ 自定义插槽类型，包括插槽类型的所有值

您只能导出资源的带编号版本。您不能导出资源的 `$LATEST` 版本。

导出是一个异步过程。导出完成后，您将获得一个 Amazon S3 预签名 URL。该 URL 提供包含 JSON 格式导出资源的 .zip 存档的位置。

您可以使用控制台或 [GetExport](API_GetExport.md) 操作来导出自动程序、目的或自定义插槽类型。

导出自动程序、目的或插槽类型的过程是相同的。在下列步骤中，替换自动程序的目的或插槽类型。

## 导出自动程序
<a name="export-console"></a>

**导出自动程序**

1. 登录 AWS 管理控制台，然后在上打开 Amazon Lex 控制台[https://console.aws.amazon.com/lex/](https://console.aws.amazon.com/lex/)。

1. 选择 **Bots**，然后选择要导出的自动程序。

1. 在 **Actions** 菜单上，选择 **Export**。

1. 在 **Export Bot** 对话框中，选择要导出的自动程序的版本。对于 **Platform**，选择 **Amazon Lex**。

1. 选择**导出**。

1. 下载并保存该 .zip 存档。

Amazon Lex 将机器人导出到一个包含在 .zip 存档中的 JSON 文件。要更新机器人，请修改 JSON 文本，然后将其导入回 Amazon Lex。

**后续步骤**  
[以 Amazon Lex 格式导入](import-from-lex.md)

# 以 Amazon Lex 格式导入
<a name="import-from-lex"></a>

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

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

在导入资源时，分配给执行导入请求的用户的权限是适用的。用户必须拥有该账户中导入影响的所有资源的权限。用户还必须具有 [GetBot](API_GetBot.md)、[PutBot](API_PutBot.md)、[GetIntent](API_GetIntent.md)、[PutIntent](API_PutIntent.md)、[GetSlotType](API_GetSlotType.md)、[PutSlotType](API_PutSlotType.md) 操作的权限。有关权限的更多信息，请参阅 [Amazon Lex 如何与 IAM 配合使用](security_iam_service-with-iam.md)。

导入会报告在处理期间发生的错误。在导入过程开始之前报告一些错误，在导入过程中报告其他错误。例如，如果导入意图的账户没有权限调用意图所使用的 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)

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

## 导入自动程序
<a name="import-console"></a>

**导入自动程序**

1. 登录 AWS 管理控制台，然后在上打开 Amazon Lex 控制台[https://console.aws.amazon.com/lex/](https://console.aws.amazon.com/lex/)。

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

1. 对于 **Actions**，选择 **Import**。

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

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

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

# 用于导入和导出的 JSON 格式
<a name="import-export-format"></a>

以下示例显示用于以 Amazon Lex 格式导出和导入插槽类型、意图和机器人的 JSON 结构。

## 插槽类型结构
<a name="import-export-slot-type"></a>

以下是自定义插槽类型的 JSON 结构。当您导入或导出插槽类型时，以及导出依赖于自定义插槽类型的目的时，使用此结构。

```
{
  "metadata": {
    "schemaVersion": "1.0",
    "importType": "LEX",
    "importFormat": "JSON"
  },
  "resource": {
    "name": "slot type name",
    "version": "version number",
    "enumerationValues": [
      {
        "value": "enumeration value",
        "synonyms": []
      },
      {
        "value": "enumeration value",
        "synonyms": []
      }
    ],
    "valueSelectionStrategy": "ORIGINAL_VALUE or TOP_RESOLUTION"
  }
}
```

## 目的结构
<a name="import-export-intent"></a>

以下是目的的 JSON 结构。当您导入或导出目的和依赖目的的自动程序时，使用此结构。

## 自动程序结构
<a name="import-export-bot"></a>

以下是自动程序的 JSON 结构。当您导入或导出自动程序时，使用此结构。