

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# AWS IoT TwinMaker 一括オペレーション
<a name="tm-import-export"></a>

metadataTransferJob を使用して、 AWS IoT TwinMaker リソースを大規模に転送および管理します。metadataTransferJob を使用すると、一括オペレーションを実行し、 AWS IoT TwinMaker AWS IoT SiteWise と Amazon S3 の間でリソースを転送できます。

バルクオペレーションは、次のシナリオで使用できます。
+ 開発アカウントから本番稼働用アカウントへの移行など、アカウント間のアセットとデータの一括移行。
+ 大規模なアセットのアップロードや編集などの大規模な 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 TwinMaker ワークスペース AWS IoT SiteWise などです。
+ **エクスポート**: ワークスペースから 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 を指します。
+ **1 つのテンプレートに同じ最上位リソースのサブリソース定義はありません。**

  同じテンプレートで、同じエンティティの完全なエンティティ定義とサブリソース (プロパティなど) 定義を指定することはできません。

  entityId が Entity で使用されている場合、Entity、EntityComponent、プロパティ、または関係で同じ ID を使用することはできません。

  EntityComponent で entityId または componentName の組み合わせが使用されている場合、EntityComponent、プロパティ、またはリレーションシップで同じ組み合わせを使用することはできません。

  entityId、componentName、propertyName の組み合わせがプロパティまたはリレーションシップで使用されている場合、プロパティまたはリレーションシップで同じ組み合わせを使用することはできません。
+ **ExternalId はオプションです AWS IoT TwinMaker。**ExternalId を使用してリソースを識別できます。