

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

# 在 Amazon DataZone 中建立自訂資產類型
<a name="create-asset-types"></a>

在 Amazon DataZone 中，資產代表特定類型的資料資源，例如資料庫資料表、儀表板或機器學習模型。若要在描述目錄資產時提供一致性和標準化，Amazon DataZone 網域必須具有一組資產類型，以定義資產在目錄中的呈現方式。資產類型定義特定資產類型的結構描述。資產類型具有一組必要和選用的可命名中繼資料表單類型 （例如 govForm 或 GovernanceFormType)。Amazon DataZone 中的資產類型會進行版本控制。建立資產時，會根據其資產類型 （通常是最新版本） 定義的結構描述進行驗證，如果指定無效的結構，則資產建立會失敗。

**系統資產類型** - Amazon DataZone 佈建服務擁有的系統資產類型 （包括 GlueTableAssetType、GlueViewAssetType、RedshiftTableAssetType、RedshiftViewAssetType 和 S3ObjectCollectionAssetType) 和系統表單類型 （包括 DataSourceReferenceFormType、AssetCommonDetailsFormType 和 SubscriptionTermsFormType)。系統資產類型無法編輯。

**自訂資產類型** - 若要建立自訂資產類型，請先建立所需的中繼資料表單類型和詞彙表，以用於表單類型。然後，您可以透過指定名稱、描述和關聯的中繼資料表單來建立自訂資產類型，這些表單可以是必要或選用的。

對於具有結構化資料的資產類型，若要代表資料入口網站中的資料欄結構描述，您可以使用 `RelationalTableFormType`將技術中繼資料新增至資料欄，包括資料欄名稱、描述和資料類型），以及使用 ` ColumnBusinessMetadataForm` 新增資料欄的業務描述，包括商業名稱、詞彙和自訂索引鍵值對。

若要透過資料入口網站建立自訂資產類型，請完成下列步驟：

1. 導覽至 Amazon DataZone 資料入口網站 URL，並使用單一登入 (SSO) 或您的 AWS 登入資料登入。如果您是 Amazon DataZone 管理員，您可以在 [https://console.aws.amazon.com/datazone](https://console.aws.amazon.com/datazone)：// 導覽至 Amazon DataZone 主控台，並使用建立網域 AWS 帳戶 的 登入，然後選擇**開啟資料入口網站**。

1. 從頂端導覽窗格中選擇**選取專案**，然後選取您要建立自訂資產類型的專案。

1. 導覽至專案**的資料**索引標籤。

1. 從左側導覽窗格中選擇**資產類型**，然後選擇**建立資產類型**。

1. 指定以下內容，然後選擇**建立**。
   + **名稱** - 自訂資產類型的名稱 
   + **描述** - 自訂資產類型的描述。
   + **選擇新增中繼資料表單**，將中繼資料表單新增至此自訂資產類型。

1. 建立自訂資產類型後，您可以使用它來建立資產。

若要透過 APIs建立自訂資產類型，請完成下列步驟：

1. 叫用 `CreateFormType` API 動作來建立中繼資料表單類型。

   以下是 Amazon SageMaker 範例：

   ```
   m_model = "
   
   structure SageMakerModelFormType {
      @required
      @amazon.datazone#searchable
      modelName: String
   
      @required
      modelArn: String
   
      @required
      creationTime: String
   }
   "
   
   CreateFormType(
       domainIdentifier="my-dz-domain",
       owningProjectIdentifier="d4bywm0cja1dbb",
       name="SageMakerModelFormType",
       model=m_model
       status="ENABLED"
       )
   ```

1. 接著，您可以透過叫用 `CreateAssetType` API 動作來建立資產類型。您只能使用可用的系統表單類型 (`SubscriptionTermsFormType`在下列範例中） 或自訂表單類型，透過 Amazon DataZone APIs 建立資產類型。對於系統表單類型，類型名稱必須以 開頭`amazon.datazone`。

   ```
   CreateAssetType(
       domainIdentifier="my-dz-domain",
       owningProjectIdentifier="d4bywm0cja1dbb",
       name="SageMakerModelAssetType",
       formsInput={
           "SageMakerModelForm": {
               "typeIdentifier": "SageMakerModelFormType",
               "typeRevision": 7,
               "required": True,
           },
           "SubscriptionTerms": {
               "typeIdentifier": "amazon.datazone.SubscriptionTermsFormType",
               "typeRevision": 1,
               "required": False,
           },
       },
   )
   ```

   以下是為結構化資料建立資產類型的範例：

   ```
   CreateAssetType(
       domainIdentifier="my-dz-domain",
       owningProjectIdentifier="d4bywm0cja1dbb",
       name="OnPremMySQLAssetType",
       formsInput={
           "OnpremMySQLForm": {
               "typeIdentifier": "OnpremMySQLFormType",
               "typeRevision": 5,
               "required": True,
           },
           "RelationalTableForm": {
               "typeIdentifier": "amazon.datazone.RelationalTableFormType",
               "typeRevision": 1,
               "required": True,
           },
           "ColumnBusinessMetadataForm": {
               "typeIdentifier": "amazon.datazone.ColumnBusinessMetadataFormType",
               "typeRevision": 1,
               "required": False,
           },
           "SubscriptionTerms": {
               "typeIdentifier": "amazon.datazone.SubscriptionTermsFormType",
               "typeRevision": 1,
               "required": False,
           },
       },
   )
   ```

1. 現在，您可以使用您在上述步驟中建立的自訂資產類型來建立資產。

   ```
   CreateAsset(
      domainIdentifier="my-dz-domain",
      owningProjectIdentifier="d4bywm0cja1dbb",
      typeIdentifier="SageMakerModelAssetType",
      name="MyModelAsset",
      glossaryTerms="xxx",
      formsInput=[{
           "formName": "SageMakerModelForm",
           "typeIdentifier": "SageMakerModelFormType",
           "content": "{\n \"ModelName\" : \"sample-ModelName\",\n \"ModelArn\" : \"999999911111\",\n \"CreationTime\" : \"2025-01-01 18:00:00.000\"}"
           }
           ]
   )
   ```

   在此範例中，您要建立結構化資料資產：

   ```
   CreateAsset(
      domainIdentifier="my-dz-domain",
      owningProjectIdentifier="d4bywm0cja1dbb",
      typeIdentifier="OnPremMySQLAssetType",
      name="MyModelAsset",
      glossaryTerms="xxx",
      formsInput=[{
           "formName": "RelationalTableForm",
           "typeIdentifier": "amazon.datazone.RelationalTableFormType",
           "content": ".."
           },
           {
           "formName": "OnpremMySQLForm",
           "typeIdentifier": "OnpremMySQLFormType",
           "content": ".."
           },
           {
           "formName": "mySQLTableForm",
           "typeIdentifier": "MySQLTableFormType",
           "typeRevision": "1",
           "content": ".."
           },
           {
           "formName": "AssetCommonDetailsForm",
           "typeIdentifier": "amazon.datazone.AssetCommonDetailsFormType",
           "content": "..."
           }, 
           .....
           ]
   )
   ```