

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

# AWS IoT TwinMaker 批量操作
<a name="tm-import-export"></a>

使用大规模 metadataTransferJob 转移和管理您的 AWS IoT TwinMaker 资源。A metadataTransferJob 允许您在和和 Amazon S3 之间执行批量操作 AWS IoT TwinMaker AWS IoT SiteWise 和传输资源。

您可以在以下场景中使用批量操作：
+ 在账户之间大规模迁移资产和数据，例如从开发账户迁移到生产账户。
+ 大规模资产管理，例如大规模上传和编辑 AWS IoT 资产。
+ 将您的资产批量导入 AWS IoT TwinMaker 和 AWS IoT SiteWise。
+ 从现有本体文件（例如`revit`或`BIM`文件）中批量导入 AWS IoT TwinMaker 实体。

**Topics**
+ [关键概念和术语](#tm-import-export-terminology)
+ [执行批量导入和导出操作](tm-import-export-api.md)
+ [AWS IoT TwinMaker 元数据传输任务架构](tm-import-export-schema.md)

## 关键概念和术语
<a name="tm-import-export-terminology"></a>

AWS IoT TwinMaker 批量操作使用以下概念和术语：
+ **导入**：将资源移入 AWS IoT TwinMaker 工作区的操作。例如，从本地文件、Amazon S3 存储桶中的文件或从 AWS IoT SiteWise 到 AWS IoT TwinMaker 工作空间。
+ **导出**：将资源从 AWS IoT TwinMaker 工作空间移动到本地计算机或 Amazon S3 存储桶的操作。
+ **来源**：您要移动资源的起始位置。

  例如，Amazon S3 存储桶是导入源， AWS IoT TwinMaker 工作空间是导出源。
+ **目的地**：您要将资源转移到的所需位置。

  例如，Amazon S3 存储桶是导出目标， AWS IoT TwinMaker 工作空间是导入目标。
+ **AWS IoT SiteWise 架构**：用于导入和导出资源的架构 AWS IoT SiteWise。
+ **AWS IoT TwinMaker 架构**：用于导入和导出资源的架构 AWS IoT TwinMaker。
+ **AWS IoT TwinMaker 顶级资源**：现有资源中使用的资源 APIs。具体而言，一个**实体**或 **ComponentType**.
+ **AWS IoT TwinMaker 子级资源**：元数据定义中使用的嵌套资源类型。具体而言，是**组件**。
+ **元数据**：成功导入或导出所需的关键 AWS IoT SiteWise 信息和 AWS IoT TwinMaker 资源。
+ **metadataTransferJob**：运行时创建的对象`CreateMetadataTransferJob`。

### AWS IoT TwinMaker metadataTransferJob 功能
<a name="tm-import-export-rules"></a>

本主题说明了运行批量操作时 AWS IoT TwinMaker 所遵循的行为， metadataTransferJob 即如何处理。它还说明了如何使用传输资源所需的元数据来定义架构。 AWS IoT TwinMaker 批量操作支持以下功能：
+ **顶级资源创建或替换：** AWS IoT TwinMaker 将创建新资源或替换所有由资源 ID 唯一标识的现有资源。

  例如，如果系统中存在一个实体，则该实体定义将被该`Entity`密钥下模板中定义的新实体定义所取代。
+ **子资源创建或替换：**

  在 EntityComponent 关卡中，您只能创建或替换组件。该实体必须已经存在，否则，该操作将生成 ValidationException.

  在属性或关系级别上，您只能创建或替换属性或关系，并且包含的属性或关系 EntityComponent 必须已经存在。
+ **子资源删除：**

  AWS IoT TwinMaker 还支持删除子资源。子资源可以是组件、属性或关系。

  如果要删除组件，则必须从实体级别进行删除。

  如果要删除属性或关系，则必须从实体或 EntityComponent 关卡中删除。

  要删除子资源，请更新更高级别的资源并省略子资源的定义。
+ **不删除顶级资源：** AWS IoT TwinMaker 永远不会删除顶级资源。顶级资源是指实体或 ComponentType。
+ **在一个模板中没有针对同一顶级资源的子资源定义：**

  您不能在同一个模板中提供同一实体的完整实体定义和子资源（如属性）定义。

  如果实体中使用了 EntityID，则不能在实体 EntityComponent、属性或关系中使用相同的 ID。

  如果在中使用了 EntityID 或 componentName 组合 EntityComponent，则不能在 EntityComponent、属性或关系中使用相同的组合。

  如果在属性或关系中使用了 EntityID、componentName、PropertyName 组合，则不能在属性或关系中使用相同的组合。
+ **ExternalId 是可选的 AWS IoT TwinMaker：** ExternalId 可用于帮助您识别资源。