En este documento, se describe cómo crear entradas personalizadas de Data Catalog. Para integrar tus fuentes de datos personalizadas, llama a las APIs de Data Catalog que te permiten crear y administrar entradas de Data Catalog con tipos de recursos de datos personalizados. En este documento, una entrada para un tipo de recurso de datos personalizado se denomina “entrada personalizada”.
Crea grupos de entradas y entradas personalizadas
Se deben colocar las entradas personalizadas dentro de un grupo de entradas creado por el usuario. Crea el grupo de entrada y luego, la entrada personalizada dentro del grupo. Para obtener más información, consulta Entradas y grupos de entradas.
Después de crear una entrada, puedes establecer políticas de IAM en el grupo de entrada para definir quién tiene acceso al grupo de entrada y las entradas dentro.
Java
Antes de probar esta muestra, sigue las instrucciones de configuración para Java que se encuentran en la Guía de inicio rápido de Data Catalog sobre el uso de bibliotecas cliente. Para obtener más información, consulta la documentación de referencia de la API de Java de Data Catalog.
Para autenticarte en Data Catalog, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Node.js
Antes de probar esta muestra, sigue las instrucciones de configuración para Node.js que se encuentran en la Guía de inicio rápido de Data Catalog sobre el uso de bibliotecas cliente. Para obtener más información, consulta la documentación de referencia de la API de Node.js de Data Catalog.
Para autenticarte en Data Catalog, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Python
Antes de probar esta muestra, sigue las instrucciones de configuración para Python que se encuentran en la Guía de inicio rápido de Data Catalog sobre el uso de bibliotecas cliente. Para obtener más información, consulta la documentación de referencia de la API de Python de Data Catalog.
Para autenticarte en Data Catalog, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
LÍNEA DE REST Y CMD
REST
Consulta los siguientes ejemplos y la documentación de entryGroups.create y entryGroups.entries.create de la API de REST de Data Catalog.
1. Crea un grupo de entrada
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- project-id: el ID del proyecto de Google Cloud
- entryGroupId: El ID debe comenzar con una letra o un guion bajo, contener solo letras del alfabeto inglés, números y guiones bajos, y tener 64 caracteres como máximo.
- displayName: El nombre textual del grupo de entrada
Método HTTP y URL:
POST https://datacatalog.googleapis.com/v1/projects/project-id/locations/region/entryGroups?entryGroupId=entryGroupId
Cuerpo JSON de la solicitud:
{ "displayName": "Entry Group display name" }
Para enviar tu solicitud, expande una de estas opciones:
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
{ "name": "projects/my_projectid/locations/us-central1/entryGroups/my_entry_group", "displayName": "Entry Group display name", "dataCatalogTimestamps": { "createTime": "2019-10-19T16:35:50.135Z", "updateTime": "2019-10-19T16:35:50.135Z" } }
2 Crea una entrada personalizada dentro del grupo de entrada
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- project_id es el ID del proyecto de Google Cloud.
- entryGroupId: ID del entryGroup existente. La entrada se creará en este EntryGroup.
- entryId: ID de la entrada nueva. La identificación debe comenzar con una letra o un guión bajo, contener solo letras del alfabeto inglés, números y guiones bajos, y tener 64 caracteres como máximo.
- description: Descripción opcional de la entrada
- displayName: Nombre textual opcional para la entrada
- userSpecifiedType: Nombre personalizado El nombre del tipo debe comenzar con una letra o un guión bajo, solo debe contener letras, números y guiones bajos, y debe tener como máximo 64 caracteres.
- userSpecifiedSystem: el sistema de origen que no es de Google Cloud de la entrada, que no está integrado con Data Catalog. El nombre del sistema de origen debe comenzar con una letra o un guión bajo, solo debe contener letras, números y guiones bajos, y debe tener como máximo 64 caracteres.
- linkedResource: Nombre completo del recurso al que hace referencia la entrada
- schema: Esquema de datos opcional
Esquema JSON de ejemplo:
{ ... "schema": { "columns": [ { "column": "first_name", "description": "First name", "mode": "REQUIRED", "type": "STRING" }, { "column": "last_name", "description": "Last name", "mode": "REQUIRED", "type": "STRING" }, { "column": "address", "description": "Address", "mode": "REPEATED", "subcolumns": [ { "column": "city", "description": "City", "mode": "NULLABLE", "type": "STRING" }, { "column": "state", "description": "State", "mode": "NULLABLE", "type": "STRING" } ], "type": "RECORD" } ] } ... }
Método HTTP y URL:
POST https://datacatalog.googleapis.com/v1/projects/project_id/locations/region/entryGroups/entryGroupId/entries?entryId=entryId
Cuerpo JSON de la solicitud:
{ "description": "Description", "displayName": "Display name", "userSpecifiedType": "my_type", "userSpecifiedSystem": "my_system", "linkedResource": "example.com/def", "schema": { schema } }
Para enviar tu solicitud, expande una de estas opciones:
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
{ "name": "projects/my_project_id/locations/us-central1/entryGroups/my_entryGroup_id/entries/my_entry_id", "userSpecifiedType": "my-type", "userSpecifiedSystem": "my_system", "displayName": "On-prem entry", "description": "My entry description.", "schema": { "columns": [ { "type": "STRING", "description": "First name", "mode": "REQUIRED", "column": "first_name" }, { "type": "STRING", "description": "Last name", "mode": "REQUIRED", "column": "last_name" }, { "type": "RECORD", "description": "Address", "mode": "REPEATED", "column": "address", "subcolumns": [ { "type": "STRING", "description": "City", "mode": "NULLABLE", "column": "city" }, { "type": "STRING", "description": "State", "mode": "NULLABLE", "column": "state" } ] } ] }, "sourceSystemTimestamps": { "createTime": "2019-10-23T23:11:26.326Z", "updateTime": "2019-10-23T23:11:26.326Z" }, "linkedResource": "example.com/def" }