

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

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

使用metadataTransferJob 大規模傳輸和管理 AWS IoT TwinMaker 資源。metadataTransferJob 可讓您在 AWS IoT TwinMaker 和 Amazon S3 之間執行大量操作 AWS IoT SiteWise 和傳輸資源。

您可以在下列案例中使用大量操作：
+ 在帳戶之間大量遷移資產和資料，例如從開發帳戶遷移到生產帳戶。
+ 大規模資產管理，例如大規模上傳和編輯 AWS IoT 資產。
+ 將您的資產大量匯入至 AWS IoT TwinMaker 和 AWS IoT SiteWise。
+ 從現有內科檔案大量匯入 AWS IoT TwinMaker 實體，例如 `revit`或 `BIM` 檔案。

**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 TwinMaker AWS IoT SiteWise 和資源所需的金鑰資訊。
+ **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。

  如果 EntityComponent 中使用 entityId 或 componentName 組合，您就無法在 EntityComponent、 屬性或關係中使用相同的組合。

  如果在屬性或關係中使用 entityId、 componentName、 propertyName 組合，則無法在屬性或關係中使用相同的組合。
+ **ExternalId 是選用的 AWS IoT TwinMaker：**ExternalId 可用來協助您識別資源。