Creación de tipos de activos personalizados en Amazon DataZone
En Amazon DataZone, los activos representan tipos específicos de recursos de datos, como tablas de bases de datos, paneles o modelos de machine learning. Para proporcionar coherencia y estandarización a la hora de describir los activos del catálogo, un dominio de Amazon DataZone debe tener un conjunto de tipos de activos que definan cómo se representan los activos en el catálogo. Un tipo de activo define el esquema para un tipo específico de activo. Un tipo de activo tiene un conjunto de tipos de formularios de metadatos obligatorios y opcionales con nombre (por ejemplo, govForm o GovernanceFormType). En Amazon DataZone, los tipos de activos tienen control de versiones. Cuando se crean los activos, se validan según el esquema definido por su tipo de activo (normalmente, la última versión) y, si se especifica una estructura no válida, se produce un error en la creación del activo.
Tipos de activos del sistema: Amazon DataZone suministra tipos de activos del sistema propiedad del servicio (incluidos GlueTableAssetType, GlueViewAssetType, RedshiftTableAssetType, RedshiftViewAssetType y S3ObjectCollectionAssetType) y tipos de formularios del sistema (incluidos DataSourceReferenceFormType, AssetCommonDetailsFormType y SubscriptionTermsFormType). Los tipos de activos del sistema no se pueden editar.
Tipos de activos personalizados: para crear tipos de activos personalizados, comience por crear los tipos de formulario de metadatos y los glosarios necesarios para usarlos en los tipos de formulario. A continuación, puede crear tipos de activos personalizados especificando el nombre, la descripción y los formularios de metadatos asociados, que pueden ser obligatorios u opcionales.
En el caso de los tipos de activos con datos estructurados, para representar el esquema de columnas en el portal de datos, puede utilizar RelationalTableFormType para añadir metadatos técnicos a las columnas (incluidos los nombres de las columnas, las descripciones y los tipos de datos) y el ColumnBusinessMetadataForm para añadir las descripciones empresariales de las columnas, incluidos los nombres comerciales, los términos del glosario y los pares de valores clave personalizados.
Siga los siguientes pasos para crear un tipo de activo personalizado mediante el portal de datos:
-
Acceda a la URL del portal de datos de Amazon DataZone e inicie sesión con las credenciales de inicio de sesión único (SSO) o con las de AWS. Si es administrador de Amazon DataZone, puede ir a la consola de Amazon DataZone en https://console.aws.amazon.com/datazone
e iniciar sesión con la Cuenta de AWS en la que se creó el dominio y, a continuación, elegir Abrir el portal de datos. -
Elija Seleccionar proyecto en el panel de navegación superior y seleccione el proyecto donde desee crear un tipo de activo personalizado.
-
Vaya a la pestaña Datos del proyecto.
-
Elija Tipos de activos en el panel de navegación izquierdo y, a continuación, elija Crear tipo de activo.
-
Especifique lo siguiente y, a continuación, elija Crear.
-
Nombre: el nombre del tipo de activo personalizado.
-
Descripción: la descripción del tipo de activo personalizado.
-
Elija Agregar formularios de metadatos para agregar formularios de metadatos a este tipo de activo personalizado.
-
-
Una vez creado el tipo de activo personalizado, puede usarlo para crear activos.
Siga los siguientes pasos para crear un tipo de activo personalizado mediante las API:
-
Cree un tipo de formulario de metadatos invocando la acción de la API
CreateFormType.A continuación se muestra un ejemplo de 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" ) -
A continuación, puede crear un tipo de activo invocando la acción de la API
CreateAssetType. Puede crear tipos de activos únicamente a través de las API de Amazon DataZone utilizando los tipos de formulario disponibles del sistema (SubscriptionTermsFormTypeen el ejemplo siguiente) o sus tipos de formulario personalizados. En los tipos de formulario del sistema, el nombre del tipo debe comenzar poramazon.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, }, }, )El siguiente es un ejemplo de creación de un tipo de activo para datos estructurados:
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, }, }, ) -
Y ahora, puede crear un activo con los tipos de activos personalizados que creó en los pasos anteriores.
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\"}" } ] )Y en este ejemplo, está creando un activo de datos estructurados:
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": "..." }, ..... ] )