创建自定义资产类型 - 亚马逊 DataZone

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

创建自定义资产类型

在 Amazon 中 DataZone,资产代表特定类型的数据资源,例如数据库表、控制面板或机器学习模型。为了在描述目录资产时保持一致性和标准化,Amazon DataZone 域必须有一组资产类型来定义资产在目录中的表示方式。资产类型定义特定类型资产的架构。资产类型具有一组必填和可选的可命名元数据表单类型(例如, govForm 或 GovernanceFormType)。Amazon 中的资产类型 DataZone 是版本化的。创建资产时,将根据其资产类型(通常是最新版本)定义的架构对其进行验证,如果指定的结构无效,则资产创建将失败。

系统资产类型-Ama DataZone zon 预置服务拥有的系统资产类型(包括 GlueTableAssetType GlueViewAssetType RedshiftTableAssetType、 RedshiftViewAssetType、和 S3ObjectCollectionAssetType)和系统表单类型(包括 DataSourceReferenceFormType AssetCommonDetailsFormType、和 SubscriptionTermsFormType)。无法编辑系统资产类型。

自定义资产类型-要创建自定义资产类型,首先要创建表单类型所需的元数据表单类型和词汇表,以便在表单类型中使用。然后,您可以通过指定名称、描述和关联的元数据表单来创建自定义资产类型,这些表单可以是必需的,也可以是可选的。

对于包含结构化数据的资产类型,要表示数据门户中的列架构,您可以使用RelationalTableFormType向列中添加技术元数据(包括列名、描述和数据类型),并使用添加列的业务描述,包括公司名称、词汇表术语和自定义键值对。 ColumnBusinessMetadataForm

要通过数据门户创建自定义资产类型,请完成以下步骤:

  1. 导航至 Amazon DataZone 数据门户URL并使用单点登录 (SSO) 或您的 AWS 证书。如果您是亚马逊 DataZone 管理员,则可以通过 https://console.aws.amazon.com/datazone 导航到亚马逊 DataZone 控制台,然后使用该控制台登录 AWS 账户 创建域的位置,然后选择打开数据门户

  2. 从顶部导航窗格中选择 “选择项目”,然后选择要在其中创建自定义资产类型的项目。

  3. 导航到项目的 “数据” 选项卡。

  4. 从左侧导航窗格中选择资产类型,然后选择创建资产类型

  5. 指定以下内容,然后选择 “创建”。

    • 名称-自定义资产类型的名称

    • 描述-自定义资产类型的描述。

    • 选择 “添加元数据表单”,将元数据表单添加到此自定义资产类型。

  6. 创建自定义资产类型后,您可以使用它来创建资产。

要通过创建自定义资产类型APIs,请完成以下步骤:

  1. 通过调用CreateFormTypeAPI操作来创建元数据表单类型。

    以下是 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" )
  2. 接下来,您可以通过调用CreateAssetTypeAPI操作来创建资产类型。您只能 DataZone APIs使用可用的系统表单类型(SubscriptionTermsFormType在以下示例中)或自定义表单类型通过 Amazon 创建资产类型。对于系统表单类型,类型名称必须以开头amazon.datazone

    CreateAssetType( domainIdentifier="my-dz-domain", owningProjectIdentifier="d4bywm0cja1dbb", name="SageMakerModelAssetType", formsInput={ "ModelMetadata": { "typeIdentifier": "SageMakerModelMetadataFormType", "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": "RelationalTableFormType", "typeRevision": 1, "required": True, }, "ColumnBusinessMetadataForm": { "typeIdentifier": "ColumnBusinessMetadataForm", "typeRevision": 1, "required": False, }, "SubscriptionTerms": { "typeIdentifier": "SubscriptionTermsFormType", "typeRevision": 1, "required": False, }, }, )
  3. 现在,您可以使用在上述步骤中创建的自定义资产类型来创建资产。

    CreateAsset( domainIdentifier="my-dz-domain", owningProjectIdentifier="d4bywm0cja1dbb", owningProjectIdentifier="my-project", name="MyModelAsset", glossaryTerms="xxx", formsInput=[{ "formName": "SageMakerModelForm", "typeIdentifier": "SageMakerModelForm", "typeRevision": "5", "content": "{\n \"ModelName\" : \"sample-ModelName\",\n \"ModelArn\" : \"999999911111\"\n}" } ] )

    在此示例中,您正在创建结构化数据资产:

    CreateAsset( domainIdentifier="my-dz-domain", owningProjectIdentifier="d4bywm0cja1dbb", name="MyModelAsset", glossaryTerms="xxx", formsInput=[{ "formName": "RelationalTableForm", "typeIdentifier": "amazon.datazone.RelationalTableForm", "typeRevision": "1", "content": ".." }, { "formName": "mySQLTableForm", "typeIdentifier": "mySQLTableForm", "typeRevision": "6", "content": ".." }, { "formName": "mySQLTableForm", "typeIdentifier": "mySQLTableForm", "typeRevision": "1", "content": ".." }, ..... ] )