

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

# 与资产同步 AWS IoT SiteWise
<a name="tm-sw-asset-sync"></a>

AWS IoT TwinMaker 支持资产和资产模型的资产同步（ AWS IoT SiteWise 资产同步）。使用 AWS IoT SiteWise 组件类型，资产同步获取现有 AWS IoT SiteWise 资产和资产模型，并将这些资源转换为 AWS IoT TwinMaker 实体、组件和组件类型。以下各节将向您介绍如何配置资产同步，以及哪些 AWS IoT SiteWise 资产和资产模型可以同步到您的 AWS IoT TwinMaker 工作空间。

**Topics**
+ [使用资产同步功能与 AWS IoT SiteWise](tm-sw-asset-sync-use.md)
+ [自定义工作空间和默认工作空间之间的区别](tm-sw-default-ws-diffs.md)
+ [从中同步的资源 AWS IoT SiteWise](tm-sw-asset-sync-map.md)
+ [分析同步状态与错误](tm-sw-asset-sync-ts.md)
+ [删除同步作业](tm-sw-asset-sync-delete.md)
+ [资产同步限制条件](tm-sw-asset-sync-limits.md)

# 使用资产同步功能与 AWS IoT SiteWise
<a name="tm-sw-asset-sync-use"></a>

本主题向您展示如何开启和配置 AWS IoT SiteWise 资产同步。根据您使用的工作空间类型，按照相应的步骤进行操作。

**重要**  
有关自定义工作空间和默认工作区之间的区别的信息，请参阅[自定义工作空间和默认工作空间之间的区别](tm-sw-default-ws-diffs.md)。

**Topics**
+ [使用自定义工作区](tm-sw-custom-ws.md)
+ [使用 Io TSite WiseDefaultWorkspace](tm-sw-default-ws.md)

# 使用自定义工作区
<a name="tm-sw-custom-ws"></a>

在开启资产同步前，请查看这些先决条件。

## 先决条件
<a name="tm-sw-asset-sync-use-prereqs"></a>

在使用之前 AWS IoT SiteWise，必须完成以下操作：
+ 你有一个 AWS IoT TwinMaker 工作空间。
+ 你在里面有资产和资产模型 AWS IoT SiteWise。有关更多信息，请参阅[创建资产模型](https://docs.aws.amazon.com//iot-sitewise/latest/userguide/create-asset-models.html)。
+ 具有以下 AWS IoT SiteWise 操作的读取权限的现有 IAM 角色：
  + `ListAssets`
  + `ListAssetModels`
  +  `DescribeAsset`
  + `DescribeAssetModel`
+ IAM 角色必须具有以下写入权限 AWS IoT TwinMaker：
  + `CreateEntity`
  + `UpdateEntity`
  + `DeleteEntity`
  + `CreateComponentType`
  + `UpdateComponentType`
  + `DeleteComponentType`
  + `ListEntities`
  + `GetEntity`
  + `ListComponentTypes`

  使用以下 IAM 角色作为所需角色的模板：

  ```
                              
  // trust relationships
   {
      {
          "Version": "2012-10-17",		 	 	 
          "Statement": [
          {
              "Effect": "Allow",
              "Principal": {
              "Service": [
              "iottwinmaker.amazonaws.com"
              ]
          },
              "Action": "sts:AssumeRole"
          }
      ]
  }
  
  // permissions - replace ACCOUNT_ID, REGION, WORKSPACE_ID with actual values
  {
      "Version": "2012-10-17",		 	 	 
      "Statement": [{
              "Sid": "SiteWiseAssetReadAccess",
              "Effect": "Allow",
              "Action": [
                  "iotsitewise:DescribeAsset"
              ],
              "Resource": [
                  "arn:aws:iotsitewise:REGION:ACCOUNT_ID:asset/*"
              ]
          },
          {
              "Sid": "SiteWiseAssetModelReadAccess",
              "Effect": "Allow",
              "Action": [
                  "iotsitewise:DescribeAssetModel"
              ],
              "Resource": [
                  "arn:aws:iotsitewise:REGION:ACCOUNT_ID:asset-model/*"
              ]
          },
          {
              "Sid": "SiteWiseAssetModelAndAssetListAccess",
              "Effect": "Allow",
              "Action": [
                  "iotsitewise:ListAssets",
                  "iotsitewise:ListAssetModels"
              ],
              "Resource": [
                  "*"
              ]
          },
          {
              "Sid": "TwinMakerAccess",
              "Effect": "Allow",
              "Action": [
                  "iottwinmaker:GetEntity",
                  "iottwinmaker:CreateEntity",
                  "iottwinmaker:UpdateEntity",
                  "iottwinmaker:DeleteEntity",
                  "iottwinmaker:ListEntities",
                  "iottwinmaker:GetComponentType",
                  "iottwinmaker:CreateComponentType",
                  "iottwinmaker:UpdateComponentType",
                  "iottwinmaker:DeleteComponentType",
                  "iottwinmaker:ListComponentTypes"
              ],
              "Resource": [
                  "arn:aws:iottwinmaker:REGION:ACCOUNT_ID:workspace/WORKSPACE_ID",
                  "arn:aws:iottwinmaker:REGION:ACCOUNT_ID:workspace/WORKSPACE_ID/*"          
              ]
          }
      ]
  }
  ```

按照以下程序开启和配置 AWS IoT SiteWise 资产同步。

1. 在 [AWS IoT TwinMaker 控制台](https://console.aws.amazon.com/iottwinmaker/)，导航至 **Settings**（设置）页面。

1. 打开 **模型来源**选项卡。  
![\[打开 “模型来源” 选项卡的 AWS IoT TwinMaker 控制台设置页面。\]](http://docs.aws.amazon.com/zh_cn/iot-twinmaker/latest/guide/images/asset-sync-settings.png)

1. 选择 **Connect 工作空间**，将您的 AWS IoT TwinMaker 工作空间链接到您的 AWS IoT SiteWise 资产。
**注意**  
您只能在单个 AWS IoT TwinMaker 工作区中使用资产同步。如果要在其他工作区内同步，必须断开原有工作区连接，然后连接至另一工作区。

1. 接下来，导航至要在其中使用资产同步的工作区。

1. 选择 **Add sources (添加源)**。打开**添加试题模型来源**页面。  
![\[添加实体模型源页面。\]](http://docs.aws.amazon.com/zh_cn/iot-twinmaker/latest/guide/images/add-model-source.png)

1. 在**添加实体模型来源**页面，确认源字段显示 **AWS IoT SiteWise**。选择您所创建的 IAM 角色作为**IAM 角色**的先决条件。

1. 现在，您已开启 AWS IoT SiteWise 资产同步。您应该会在选定**工作区** 页面顶部看到确认横幅，确认资产同步处于活动状态。现在，您还应该看到**实体模型来源**部分列出同步来源。  
![\[显示实体模型源列表的工作区页面。\]](http://docs.aws.amazon.com/zh_cn/iot-twinmaker/latest/guide/images/success-sync.png)

# 使用 Io TSite WiseDefaultWorkspace
<a name="tm-sw-default-ws"></a>

当您选择加入[AWS IoT SiteWiseAWS IoT TwinMaker 集成](https://docs.aws.amazon.com//iot-sitewise/latest/userguide/integrate-tm.html)时，将创建一个名`IoTSiteWiseDefaultWorkspace`为的默认工作区并自动与其 AWS IoT SiteWise同步。

您也可以使用 AWS IoT TwinMaker `CreateWorkspace` API 创建名为的工作空间`IoTSiteWiseDefaultWorkspace`。

## 先决条件
<a name="tm-sw-default-ws-prereqs"></a>

在创建之前`IoTSiteWiseDefaultWorkspace`，请确保您已完成以下操作：
+ 创建 AWS IoT TwinMaker 服务相关角色。请参阅[将服务相关角色用于 AWS IoT TwinMaker](using-service-linked-roles.md)了解更多信息。
+ 使用 [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/) 打开 IAM 控制台。

  查看该角色或用户，并验证其是否有权这样做`iotsitewise:EnableSiteWiseIntegration`。

  如果需要，为角色或用户添加权限：

------
#### [ JSON ]

****  

  ```
  {
      "Version":"2012-10-17",		 	 	 
      "Statement": [
          {
              "Effect": "Allow",
              "Action": "iotsitewise:EnableSiteWiseIntegration",
              "Resource": "*"
          }
      ]
  }
  ```

------

# 自定义工作空间和默认工作空间之间的区别
<a name="tm-sw-default-ws-diffs"></a>

**重要**  
新 AWS IoT SiteWise 功能（例如）[https://docs.aws.amazon.com//iot-sitewise/latest/userguide/custom-composite-models.html](https://docs.aws.amazon.com//iot-sitewise/latest/userguide/custom-composite-models.html)仅在中可用`IoTSiteWiseDefaultWorkspace`。我们建议您使用默认工作区而不是自定义工作区。

使用时`IoTSiteWiseDefaultWorkspace`，与使用带资产同步功能的自定义工作区有一些显著的区别。
+ 创建默认工作空间时，Amazon S3 位置和 IAM 角色是可选的。
**注意**  
您可以使用`UpdateWorkspace`提供 Amazon S3 位置和 IAM 角色。
+ `IoTSiteWiseDefaultWorkspace`没有资源数量限制，无法同步 AWS IoT SiteWise 资源 AWS IoT TwinMaker。
+ 当你同步来自的资源时 AWS IoT SiteWise，它们`SyncSource`将是`SITEWISE_MANAGED`。这包括`Entities`和`ComponentTypes`。
+ 新 AWS IoT SiteWise 功能（例如）`CompositionModel`仅在中可用`IoTSiteWiseDefaultWorkspace`。

有一些具体的限制`IoTSiteWiseDefaultWorkspace`，它们是：
+ 无法删除默认工作空间。
+ 要删除资源，必须先删除 AWS IoT SiteWise 资源，然后删除中的 AWS IoT TwinMaker 相应资源。

# 从中同步的资源 AWS IoT SiteWise
<a name="tm-sw-asset-sync-map"></a>

本主题列出了您可以从哪些资源同步 AWS IoT SiteWise 到 AWS IoT TwinMaker 工作区。

**重要**  
有关自定义工作空间和默认工作区之间的区别的信息，请参阅[自定义工作空间和默认工作空间之间的区别](tm-sw-default-ws-diffs.md)。

## 自定义和默认工作空间
<a name="tm-sw-asset-sync-both"></a>

**以下资源已同步，可在自定义工作空间和默认工作空间中使用：**

**资产模型**  
AWS IoT TwinMaker 为中的每个资产模型创建一个新的组件类型 AWS IoT SiteWise。  
+ 资产模型`TypeId`的组件将使用以下模式之一：
  + **自定义工作区-** `iotsitewise.assetmodel:assetModelId` 
  + **默认工作空间-** `assetModelId`
+ 资产模型中的每个属性都是该组件类型中的一个新属性，具有以下命名模式之一：
  + **自定义工作区-** `Property_propertyId`
  + **默认工作空间-** `propertyId`

  中的属性名称存储 AWS IoT SiteWise `displayName`在属性定义中。
+ 资产模型中的每个层次结构都是一个新的属性`LIST`，类型`nestedType``RELATIONSHIP`为组件类型。层次结构映射到以以下名称之一为前缀的属性：
  + **自定义工作区-** `Hierarchy_hierarchyId`
  + **默认工作空间-** `hierarchyId`

**资产**  
AWS IoT TwinMaker 为中的每项资产创建一个新实体 AWS IoT SiteWise。  
+ `entityId`与 `assetId` in 相同 AWS IoT SiteWise。
+ 这些实体包含一个名为 `sitewiseBase` 的组件，其组件类型与此资产的资产模型相对应。
+ 任何资产级别的替代（例如设置属性别名或计量单位）都将反映在 AWS IoT TwinMaker中的实体中。

## 仅限默认工作空间
<a name="tm-sw-asset-sync-default"></a>

以下资源已同步，**仅在默认工作区中可用**。`IoTSiteWiseDefaultWorkspace`

**AssetModelComponents**  
AWS IoT TwinMaker 为`AssetModelComponents`中的每个组件创建一个新的组件类型 AWS IoT SiteWise。  
+ 资产模型`TypeId`的组件使用以下模式:`assetModelId`.
+ 资产模型中的每个属性都是组件类型的新属性，其属性名称为 `propertyId`。中的属性名称存储 AWS IoT SiteWise `displayName`在属性定义中。
+ 资产模型中的每个层次结构都是一个新的属性`LIST`，类型`nestedType``RELATIONSHIP`为组件类型。层级结构映射至名称前缀为 `hierarchyId` 的属性。

**AssetModelCompositeModel**  
AWS IoT TwinMaker 为`AssetModelCompositeModel`中的每个组件创建一个新的组件类型 AWS IoT SiteWise。  
+ 资产模型`TypeId`的组件使用以下模式:`assetModelId_assetModelCompositeModelId`.
+ 资产模型中的每个属性都是组件类型的新属性，其属性名称为 `propertyId`。中的属性名称存储 AWS IoT SiteWise `displayName`在属性定义中。

**AssetCompositeModels**  
AWS IoT TwinMaker 为`AssetCompositeModel`中的每个组件创建一个新的复合组件 AWS IoT SiteWise。  
+ `componentName`与 `assetModelCompositeModelId` in 相同 AWS IoT SiteWise。

## 资源未同步
<a name="tm-sw-asset-no-sync"></a>

未同步以下字段：

**非同步资产与资产模型**  
+ 警报模型将作为 CompositeModels 同步，但资产中与警报相关的相应数据不会同步。
+ [AWS IoT SiteWise 数据流](https://docs.aws.amazon.com//iot-sitewise/latest/userguide/manage-data-streams.html)未同步。仅同步资产模型的建模属性。
+ 测量、变换、聚合和元数据计算（例如公式和窗口）等属性值不同步。仅同步有关属性的元数据，例如别名、度量单位和数据类型。可以使用常规 AWS IoT TwinMaker 数据连接器 API 查询这些值。[ GetPropertyValueHistory](https://docs.aws.amazon.com//iot-twinmaker/latest/apireference/API_GetPropertyValueHistory.html)

## 在中使用同步的实体和组件类型 AWS IoT TwinMaker
<a name="tm-sw-asset-sync-component-types"></a>

从中同步资源后 AWS IoT SiteWise，同步的组件类型只能在中读取。 AWS IoT TwinMaker任何更新或删除操作都必须在中完成 AWS IoT SiteWise，如果 SyncJob 仍处于活动状态， AWS IoT TwinMaker 则这些更改会同步到。

同步的实体和 AWS IoT SiteWise 基础组件也是只读的。 AWS IoT TwinMaker当没有实体级别的属性（例如描述或 `entityName` 更新），您就可以向同步实体添加其他非同步组件。

部分限制适用于您与同步实体交互的方式。您无法在同步实体的层次结构中的同步实体下创建子实体。此外，您不能创建从同步组件类型扩展的非同步组件类型。

**注意**  
如果在中删除资源 AWS IoT SiteWise 或删除同步作业，则会删除其他组件和实体。

您可以在 Grafana 控制面板中使用这些同步实体，并将它们以标签形式添加至场景编辑器，就像普通实体一样。您还可以为这些同步实体发布知识图谱查询。

**注意**  
未经修改的同步实体为免费，但如果在 AWS IoT TwinMaker中进行了更改，则需要为这些实体付费。例如，如果您向已同步的实体添加非同步组件，则该实体现在会被收费。 AWS IoT TwinMaker有关更多信息，请参阅[AWS IoT TwinMaker 定价](https://aws.amazon.com//iot-twinmaker/pricing/)。

# 分析同步状态与错误
<a name="tm-sw-asset-sync-ts"></a>

本主题介绍了有关如何分析同步错误及状态。

**重要**  
有关自定义工作空间和默认工作区之间的区别的信息，请参阅[自定义工作空间和默认工作空间之间的区别](tm-sw-default-ws-diffs.md)。

## 同步任务状态
<a name="tm-sw-asset-sync-status"></a>

同步作业博山以下状态之一，具体取决于其状态。
+ 同步作业`CREATING`状态表示作业正在检查权限并从中加载数据 AWS IoT SiteWise 以准备同步。
+ 同步任务`INITIALIZING`状态意味着中的所有现有资源 AWS IoT SiteWise 都已同步到。 AWS IoT TwinMaker如果用户在 AWS IoT SiteWise中有大量资产和资产模型，则此步骤可能需要更长的时间才能完成。您可以通过在 [AWS IoT TwinMaker 控制台](https://console.aws.amazon.com/iottwinmaker/)中查看同步作业或调用 `ListSyncResources` API 监控已同步的资源数量。
+ 同步作业 `ACTIVE` 状态表示初始化步骤已完成。该任务现已准备就绪，可以同步来自 AWS IoT SiteWise的任何新更新。
+ 同步作业 `ERROR` 状态表示上述任何状态都存在错误。查看错误消息。IAM 角色设置可能存在问题。如果您想使用新的 IAM 角色，请删除出现错误的同步任务，然后使用新角色创建一个新任务。

同步错误在模型源页面中显示，可通过工作区中的**实体模型来源**表格访问该页面。模型来源页面显示同步失败的资源清单。同步作业会自动重试大多数错误，但是如果资源需要操作，则该资源将保持 `ERROR` 状态。您还可以使用 [ ListSyncResources](https://docs.aws.amazon.com//iot-twinmaker/latest/apireference/API_ListSyncResources.html)API 获取错误列表。

要查看当前源的所有列出的错误，请使用以下程序。

1. 在 [AWS IoT TwinMaker 控制台](https://console.aws.amazon.com/iottwinmaker/)中导航至工作区。

1. 选择 “**实体模型 AWS IoT SiteWise 来源” 模式中列出的来源**，打开资产同步详细信息页面。  
![\[AWS IoT SiteWise 源页面显示资产同步的详细信息，包括错误。\]](http://docs.aws.amazon.com/zh_cn/iot-twinmaker/latest/guide/images/synced-resources.png)

1. 如前述屏幕截图所示，错误表中列出了所有存在持续**错误**的资源。您可以使用此表跟踪和修复与特定资源相关的错误。

可能出现错误包括：
+ 虽然 AWS IoT SiteWise 支持重复的资源名称，但 AWS IoT TwinMaker 仅在`ROOT`关卡上支持它们，不支持在同一个父实体下。如果您在中的父实体下有两个同名的资产 AWS IoT SiteWise，则其中一个无法同步。要修复此错误，请在同步 AWS IoT SiteWise 之前删除其中一个资源或将一个资源移到另一个父资源下。
+ 如果您已经有一个与 AWS IoT SiteWise 资产 ID 相同的 ID 的实体，则在您删除现有实体之前，该资产将无法同步。

# 删除同步作业
<a name="tm-sw-asset-sync-delete"></a>

按照以下程序删除同步作业。

**重要**  
有关自定义工作空间和默认工作区之间的区别的信息，请参阅[自定义工作空间和默认工作空间之间的区别](tm-sw-default-ws-diffs.md)。

1. 导航至 [AWS IoT TwinMaker 控制台](https://console.aws.amazon.com/iottwinmaker/)。

1. 打开您想删除同步作业的工作区。

1. 在**实体模型来源**下，选择 AWS IoT SiteWise 源，以打开源详细信息页面。

1. 若要停止同步作业，请选择 **Disconnect**（断开连接）。确认您选择完全删除同步作业。  
![\[断开 AWS IoT SiteWise 同步对话框包含取消或断开同步作业的按钮。\]](http://docs.aws.amazon.com/zh_cn/iot-twinmaker/latest/guide/images/confirm-delete.png)

同步作业删除后，您可在相同或不同的工作区再次创建同步作业。

如果工作空间中有任何同步作业，则无法删除该工作空间。在删除工作区前，请先删除同步作业。

如果在删除同步作业过程中出现任何错误，则同步作业将保持 `DELETING` 状态并自动重试。如果在删除资源时出现任何错误，则可以手动删除任何已同步的实体或组件类型。

**注意**  
先删除从 AWS IoT SiteWise 中同步的所有资源，然后删除同步作业本身。

# 资产同步限制条件
<a name="tm-sw-asset-sync-limits"></a>

**重要**  
有关自定义工作空间和默认工作区之间的区别的信息，请参阅[自定义工作空间和默认工作空间之间的区别](tm-sw-default-ws-diffs.md)。

由于此 [AWS IoT SiteWise 配额](https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)高于默认 [AWS IoT TwinMaker 配额](https://docs.aws.amazon.com//general/latest/gr/iot-twinmaker.html)，因此我们将对从 AWS IoT SiteWise中同步的实体和组件类型限制增加以下限制。
+ 工作区中有 1000 个已同步的组件类型，因为它只能从 AWS IoT SiteWise中同步 1000 个资产模型。
+ 一个工作空间中有 100,000 个已同步的实体，因为它只能同步来自 AWS IoT SiteWise 100,000 个资产。
+ 每个父级实体最大 2,000 项子实体。它可以为每个单独的父级资产同步 2,000 个子资产。
**注意**  
[GetEntity](https://docs.aws.amazon.com//iot-twinmaker/latest/apireference/API_GetEntity.html)API 仅返回层次结构属性的前 50 个子实体，但您可以使用 [GetPropertyValue](https://docs.aws.amazon.com//iot-twinmaker/latest/apireference/API_GetPropertyValue.html)API 对所有子实体列表进行分页和检索。
+ 每个同步组件有 600 个属性 AWS IoT SiteWise，可以将资产模型与总共 600 个属性和层次结构同步。

**注意**  
这些限制仅适用于已同步实体。如果您需要为未同步资源提高配额，请申请增加配额。