Crear productos de datos

Este documento está dirigido a los propietarios de productos de datos que desean crear y configurar productos de datos en Knowledge Catalog (antes Dataplex Universal Catalog).

Para obtener más información sobre la arquitectura y los conceptos clave de los productos de datos, consulta Acerca de los productos de datos.

Antes de comenzar

Antes de crear productos de datos, completa los siguientes requisitos previos.

Habilitar Gemini

Configurar Gemini en tu activo de datos es un paso opcional, pero muy recomendable antes de crear tu primer producto de datos.

De forma predeterminada, la creación de un producto de datos requiere que ingreses manualmente las descripciones comerciales, las definiciones técnicas y la documentación de incorporación para tus recursos. Cuando habilitas la integración de Gemini, Knowledge Catalog aprovecha la asistencia de IA para analizar automáticamente tus esquemas y los resultados del análisis de datos, y generar lo siguiente:

  • Documentación comercial: Genera plantillas de documentación y descripciones claras para tu producto de datos y sus recursos de datos individuales.
  • Estadísticas y consultas de muestra: Crea consultas de muestra listas para usar basadas en el diseño del esquema del activo, lo que permite que los consumidores de datos comiencen a consultar el producto de inmediato tras la aprobación.

Si decides no habilitar Gemini, puedes omitir esta sección. Sin embargo, debes proporcionar manualmente todos los metadatos de activos y las plantillas de búsqueda durante la creación.

Para obtener más información sobre cómo habilitar Gemini en BigQuery, consulta Configura Gemini en BigQuery.

Habilita las APIs

Habilita las APIs de Dataplex y BigQuery.

Roles necesarios para habilitar las APIs

Para habilitar las APIs, necesitas el rol de IAM de administrador de Service Usage (roles/serviceusage.serviceUsageAdmin), que contiene el permiso serviceusage.services.enable. Obtén más información para otorgar roles.

Habilitar las API

Crea recursos de datos

Asegúrate de que tus recursos de datos (por ejemplo, conjuntos de datos, tablas y vistas de BigQuery) se hayan creado y completado.

Para obtener más información sobre cómo crear recursos de datos, consulta los siguientes documentos:

Configura identidades

Identifica o crea los Grupos de Google o las cuentas de servicio que deseas configurar en tu producto de datos.

Roles obligatorios

En esta sección, se describen los roles de IAM mínimos requeridos para las siguientes secciones principales:

  • Propietarios de productos de datos: Usuarios que crean, configuran y administran productos de datos y sus recursos asociados

  • Consumidores de productos de datos: Usuarios que buscan, ven y solicitan acceso a productos de datos publicados

Roles obligatorios para los propietarios de productos de datos

Para obtener los permisos que necesitas para crear y administrar productos de datos, pídele a tu administrador que te otorgue los siguientes roles de IAM en el proyecto:

Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.

Estos roles predefinidos contienen los permisos necesarios para crear y administrar productos de datos. Para ver los permisos exactos que son necesarios, expande la sección Permisos requeridos:

Permisos necesarios

Se requieren los siguientes permisos para crear y administrar productos de datos:

  • Crea un producto de datos: dataplex.dataProducts.create
  • Enumera los productos de datos en un proyecto: dataplex.dataProducts.list
  • Obtener o ver un producto de datos: dataplex.dataProducts.get
  • Para editar un producto de datos existente, sigue estos pasos: dataplex.dataProducts.update
  • Borra el producto de datos: dataplex.dataProducts.delete
  • Aprueba la solicitud de acceso al producto de datos: dataplex.dataProducts.approve
  • Busca un producto de datos con Knowledge Catalog:
    • dataplex.dataProducts.get
    • dataplex.projects.search
  • Crea una solicitud de acceso al producto de datos: dataplex.dataProducts.get
  • Crea un recurso de datos: dataplex.dataAssets.create
  • Enumera los recursos de datos dentro de un producto de datos: dataplex.dataAssets.list
  • Obtén el recurso de datos: dataplex.dataAssets.get
  • Sigue estos pasos para editar un activo de datos existente: dataplex.dataAssets.update
  • Borra el recurso de datos: dataplex.dataAssets.delete
  • Crea un análisis de datos: dataplex.datascans.create
  • Enumera todos los análisis de datos: dataplex.datascans.list
  • Obtén un análisis de datos: dataplex.datascans.get
  • Ejecuta un análisis de datos: dataplex.datascans.run
  • Edita el tipo de aspecto del sistema overview: dataplex.entryGroups.useOverviewAspect
  • Edita el tipo de aspecto del sistema refresh cadence: dataplex.entryGroups.useRefreshCadenceAspect
  • Edita el tipo de aspecto del sistema queries: dataplex.entryGroups.useQueriesAspect

También puedes obtener estos permisos con roles personalizados o con otros roles predefinidos.

Roles obligatorios para los consumidores de productos de datos

Para que los consumidores de productos de datos puedan buscar, ver y solicitar acceso a los productos de datos, como propietario de un producto de datos, debes asegurarte de que el producto de datos sea detectable. Para ello, otorga a los consumidores del producto de datos los siguientes roles de IAM en el producto de datos:

  • Buscar productos de datos y solicitar acceso a ellos: Consumidor de productos de datos de Dataplex (dataplex.dataProductsConsumer) y Visualizador del catálogo de Dataplex (roles/dataplex.catalogViewer)
  • Acceso de solo lectura para ver las definiciones y los metadatos de los productos de datos: Visualizador de productos de datos de Dataplex (dataplex.dataProductsViewer)

Crea y configura un producto de datos

La creación de un producto de datos implica las siguientes tareas de alto nivel:

  1. Crea un producto de datos

    Este paso inicial obligatorio requiere definir detalles básicos, como un nombre único para el producto de datos, una descripción, la región en la que se crea el producto de datos y los datos de contacto.

  2. Opcional: Agrega recursos

    En esta fase, seleccionas los recursos que se incluirán en el producto de datos. Una restricción clave es que los recursos deben residir en la misma región que el producto de datos. Puedes agregar hasta 10 recursos a la vez, con un máximo total de 50 recursos permitidos por producto de datos.

    Para obtener la lista de recursos admitidos, consulta Recursos admitidos.

  3. Opcional: Configura los grupos de acceso y los permisos de los recursos

    En esta fase opcional, simplificarás el control de acceso creando grupos de acceso. Estos grupos de acceso actúan como alias fáciles de usar (por ejemplo, Analyst o Reader) para los Grupos de Google y las cuentas de servicio subyacentes. Luego, asigna permisos seleccionando un rol de IAM específico y asignándolo a un grupo de acceso para un activo específico.

  4. Opcional: Agrega detalles del contrato y del aspecto

    En esta fase, se mejoran la administración y la detección de datos adjuntando marcos de metadatos. Puedes agregar un contrato para comunicar formalmente la cadencia de actualización de tus datos, especificando parámetros como la frecuencia de actualización, el tiempo y los umbrales de varianza. También puedes adjuntar aspectos personalizados para proporcionar metadatos técnicos o empresariales adicionales para tu producto de datos.

  5. Opcional: Agrega detalles adicionales

    En esta fase final, agregarás documentación de texto enriquecido, como guías de incorporación de usuarios, definiciones comerciales y consultas de muestra, para ayudar a los consumidores a interactuar con el producto de datos inmediatamente después de su aprobación.

Para crear y configurar un producto de datos, completa los pasos que se indican en las siguientes secciones:

Crea un producto de datos

Console

  1. En la consola de Google Cloud , ve a la página Productos de datos de Knowledge Catalog.

    Ir a Productos de datos

  2. Haz clic en Crear.

  3. En el panel Crear productos de datos, ingresa los siguientes detalles:

    • Nombre del producto de datos: Ingresa un nombre único para tu producto de datos.
    • ID del producto de datos: Es un identificador único generado automáticamente. Puedes editar este campo.
    • ID del proyecto: Es un identificador único del proyecto en el que se crea el producto de datos. Explora y selecciona el proyecto.
    • Región: Selecciona la región o la región múltiple en la que se crea el producto de datos.
    • Ícono del producto de datos: Busca y selecciona un ícono para identificar visualmente el producto de datos. Esto es opcional.
    • Descripción: Ingresa una breve descripción del producto de datos.
    • Contactos: Proporciona la información del punto de contacto para los flujos de trabajo de aprobación y gobernanza:

      • Dirección de correo electrónico de los propietarios de productos de datos: Ingresa la dirección de correo electrónico de los propietarios de productos de datos.
      • Dirección de correo electrónico de los responsables de aprobación de productos de datos: Ingresa la dirección de correo electrónico de los responsables de aprobación designados que se encargarán de aprobar las solicitudes de acceso o las modificaciones.
    • Etiquetas: Agrega etiquetas de par clave-valor para organizar tus recursos. Esto es opcional.

  4. Haz clic en Crear producto de datos.

REST

Para crear un producto de datos, usa el método dataProducts.create.

Por ejemplo, envía la siguiente solicitud POST:

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d '{"display_name": "DISPLAY_NAME", "owner_emails": ["EMAIL_IDs"], "access_approval_config": { "approver_emails": ["APPROVER_EMAIL_IDs"]} }' \
https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/dataProducts?data_product_id=DATA_PRODUCT_ID

Reemplaza lo siguiente:

  • DISPLAY_NAME: Un nombre fácil de usar para tu producto de datos
  • EMAIL_IDs: Direcciones de correo electrónico separadas por comas de los propietarios del producto de datos
  • APPROVER_EMAIL_IDs: Direcciones de correo electrónico separadas por comas de los aprobadores designados responsables de aprobar las solicitudes o modificaciones de acceso.
  • PROJECT_ID: Es el ID de tu proyecto de Google Cloud.
  • LOCATION: La región en la que deseas crear el producto de datos
  • DATA_PRODUCT_ID: Es un ID único para tu producto de datos.

Terraform

Para crear un producto de datos, usa el recurso google_dataplex_data_product.

resource "google_dataplex_data_product" "example_product" {
project         = "PROJECT_ID"
location        = "LOCATION"
data_product_id = "DATA_PRODUCT_ID"
display_name    = "DISPLAY_NAME"
description     = "DESCRIPTION"
owner_emails    = ["EMAIL_IDs"]

provider = google-beta
}

Reemplaza lo siguiente:

  • PROJECT_ID: Es el ID de tu proyecto de Google Cloud .
  • LOCATION: Es la región en la que deseas crear el producto de datos.
  • DATA_PRODUCT_ID: Es un ID único para tu producto de datos.
  • DISPLAY_NAME: Un nombre fácil de usar para tu producto de datos
  • DESCRIPTION: Una breve descripción del producto de datos
  • EMAIL_IDs: Direcciones de correo electrónico separadas por comas de los propietarios del producto de datos, por ejemplo, ["user1@example.com", "user2@example.com"]

Opcional: Agrega recursos

Puedes agregar varios recursos de datos, como tablas, vistas, conjuntos de datos y modelos de BigQuery, a tu producto de datos. Para obtener la lista de recursos admitidos, consulta Recursos admitidos.

Console

  1. En el panel Agregar recursos, haz clic en + Agregar.

  2. Busca y selecciona los recursos que deseas agregar a tu producto de datos. Los recursos que selecciones deben residir en la misma región que el producto de datos.

    Si tienes los permisos necesarios, puedes ver los metadatos de los activos haciendo clic en ellos.

  3. Para definir mejor los resultados de la búsqueda, usa Filtros.

  4. Después de seleccionar los recursos, haz clic en Agregar.

  5. Haz clic en Continuar.

REST

Para agregar un activo de datos a tu producto de datos, usa el método dataAssets.create.

Por ejemplo, envía la siguiente solicitud POST:

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d '{"resource": "RESOURCE_NAME"}' \
https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/dataProducts/DATA_PRODUCT_ID/dataAssets?data_asset_id=DATA_ASSET_ID

Reemplaza lo siguiente:

  • RESOURCE_NAME: El nombre completo del recurso del recurso de datos (por ejemplo, //bigquery.googleapis.com/projects/PROJECT_ID/datasets/DATASET_ID/tables/TABLE_ID)
  • PROJECT_ID: Es el ID de tu proyecto de Google Cloud .
  • LOCATION: Es la región en la que existe el producto de datos.
  • DATA_PRODUCT_ID: ID del producto de datos
  • DATA_ASSET_ID: Es un ID único para este recurso de datos dentro del producto de datos.

Terraform

Para agregar un activo de datos a tu producto de datos, usa el recurso google_dataplex_data_product_data_asset.

resource "google_dataplex_data_product_data_asset" "example_asset" {
project         = "PROJECT_ID"
location        = "LOCATION"
data_product_id = "DATA_PRODUCT_ID"
data_asset_id   = "DATA_ASSET_ID"
resource        = "RESOURCE_NAME"

provider = google-beta
}

Reemplaza lo siguiente:

  • PROJECT_ID: Es el ID de tu proyecto de Google Cloud .
  • LOCATION: Es la región en la que existe el producto de datos.
  • DATA_PRODUCT_ID: ID del producto de datos
  • DATA_ASSET_ID: Es un ID único para este recurso de datos dentro del producto de datos.
  • RESOURCE_NAME: El nombre completo del recurso del recurso de datos (por ejemplo, //bigquery.googleapis.com/projects/PROJECT_ID/datasets/DATASET_ID/tables/TABLE_ID)

Opcional: Configura los grupos de acceso y los permisos de los recursos

En el panel Configura los grupos de acceso y los permisos de los recursos, puedes crear grupos de acceso y asignar permisos a los recursos.

Configura grupos de acceso

Console

  1. Haz clic en Agregar grupo de acceso.

  2. En el campo Nombre del grupo de acceso, ingresa un nombre para el grupo de acceso. Por ejemplo, Analyst

  3. En el campo Descripción del grupo de acceso, ingresa una descripción para el grupo de acceso.

  4. En el campo Identificador del grupo de acceso, ingresa la dirección de correo electrónico de un Grupo de Google que quieras asignar a este grupo de acceso.

    Los consumidores del producto de datos que solicitan acceso para sí mismos se agregan como miembros al grupo de Google asignado.

    Para obtener más información sobre cómo crear Grupos de Google, consulta Crea y administra Grupos de Google en la consola de Google Cloud .

  5. En el campo Cuenta de servicio del grupo de acceso, ingresa la dirección de correo electrónico de una cuenta de servicio que desees asignar a este grupo de acceso.

    A los consumidores de productos de datos que solicitan acceso para sus cuentas de servicio se les otorga el rol de IAM Creador de tokens de cuenta de servicio (roles/iam.serviceAccountTokenCreator) para suplantar la identidad de la cuenta de servicio del productor de datos asignada al grupo de acceso.

    Para obtener más información sobre cómo crear cuentas de servicio, consulta Crea cuentas de servicio.

  6. Haz clic en Listo.

  7. Para agregar otro grupo de acceso, haz clic en Agregar grupo de acceso y repite los pasos.

    Puedes agregar un máximo de tres grupos de acceso por producto de datos.

  8. Haz clic en Guardar.

REST

Para configurar un grupo de acceso para el producto de datos, usa el método dataProducts.patch.

Por ejemplo, envía la siguiente solicitud PATCH:

curl -X PATCH \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d '{"access_groups": ACCESS_GROUPS_MAP}' \
https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/dataProducts/DATA_PRODUCT_ID?update_mask="access_groups"

Reemplaza lo siguiente:

  • ACCESS_GROUPS_MAP: Es un objeto JSON que representa un mapa en el que cada clave es un ID de grupo de acceso y el valor es un objeto AccessGroup. Por ejemplo:

    {
    "analyst": {
      "id": "analyst",
      "display_name": "Analyst access group",
      "description": "Access group for analysts",
      "principal":
        {
          "google_group": "analyst-team@example.com",
          "service_account": "analyst-svc@gserviceaccount.com"
        }
    }
    
  • PROJECT_ID: Es el ID de tu proyecto de Google Cloud.

  • LOCATION: Es la región en la que existe el producto de datos.

  • DATA_PRODUCT_ID: el ID de tu producto de datos

Terraform

Para definir grupos de acceso para tu producto de datos, usa el bloque anidado access_groups dentro del recurso google_dataplex_data_product.

Por ejemplo, usa la siguiente configuración:

resource "google_dataplex_data_product" "example_data_product" {
project         = "PROJECT_ID"
location        = "LOCATION"
data_product_id = "DATA_PRODUCT_ID"
display_name    = "DISPLAY_NAME"
owner_emails    = ["EMAIL_IDs"]

access_groups {
  id           = "analyst" # Internal identifier for configuration
  group_id     = "analyst" # Unique identifier of the access group, should be same as the 'id'
  display_name = "Business Analyst"
  description  = "Access group for regional analysts"
  principal {
    google_group = "analyst-team@example.com"
  }

provider = google-beta
}

Reemplaza lo siguiente:

  • PROJECT_ID: Es el ID de tu proyecto de Google Cloud .
  • LOCATION: Es la región en la que existe el producto de datos.
  • DATA_PRODUCT_ID: ID único del producto de datos
  • DISPLAY_NAME: Un nombre fácil de usar para tu producto de datos
  • EMAIL_IDs: Direcciones de correo electrónico separadas por comas de los propietarios del producto de datos, por ejemplo, ["user1@example.com", "user2@example.com"]

Configura los permisos de los recursos

Después de configurar los grupos de acceso, puedes configurar los permisos para los recursos del producto de datos.

Console

  1. En la sección Permisos de recursos, selecciona el recurso para el que deseas configurar permisos. Puedes seleccionar y configurar permisos para hasta 10 activos a la vez.

  2. Haz clic en Configurar permisos.

  3. En el campo Seleccionar grupo de acceso, elige un grupo de acceso.

  4. En el campo Asignar rol de IAM, selecciona un rol de IAM que quieras asignar al grupo de acceso.

    Por ejemplo, si tu activo es una tabla de BigQuery llamada Sales, seleccionaste el grupo de acceso Analyst y le asignaste el rol BigQuery Metadata Viewer a este grupo de acceso, los consumidores del producto de datos que forman parte del grupo de acceso Analyst tienen permiso BigQuery Metadata Viewer en la tabla Sales.

    Puedes agregar varios roles a un activo.

  5. Haz clic en Configurar. Ahora el activo muestra los permisos asignados.

  6. Para configurar los permisos de otros recursos, repite los pasos.

  7. Haz clic en Continuar.

REST

Para configurar los permisos de los recursos del producto de datos, usa el método dataAssets.patch.

Por ejemplo, envía la siguiente solicitud PATCH:

curl -X PATCH \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d '{"access_group_configs": ACCESS_GROUP_CONFIGS_MAP}' \
https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/dataProducts/DATA_PRODUCT_ID/dataAssets/DATA_ASSET_ID?update_mask="access_group_configs"

Reemplaza lo siguiente:

  • ACCESS_GROUP_CONFIGS_MAP: Es un objeto JSON que representa un mapa en el que cada clave es un ID de grupo de acceso y el valor es un objeto AccessGroupConfig. Por ejemplo:

    {
    "analyst": {
      iam_roles: ["roles/bigquery.dataViewer"]
      }
    }
    
  • PROJECT_ID: Es el ID de tu proyecto de Google Cloud.

  • LOCATION: Es la región en la que existe el producto de datos.

  • DATA_PRODUCT_ID: el ID de tu producto de datos

  • DATA_ASSET_ID: Es el ID del activo para el que deseas configurar permisos.

Terraform

Asigna roles de IAM a tus grupos de acceso para activos específicos con el bloque access_group_configs en el recurso google_dataplex_data_product_data_asset.

Por ejemplo, usa la siguiente configuración:

resource "google_dataplex_data_product_data_asset" "example_data_asset" {
project         = "PROJECT_ID"
location        = "LOCATION"
data_product_id = "DATA_PRODUCT_ID"
data_asset_id   = "DATA_ASSET_ID"
resource        = "RESOURCE_NAME"

access_group_configs {
  access_group = "analyst" # Must match the 'id' defined in google_dataplex_data_product
  iam_roles    = ["roles/bigquery.dataViewer"]
}

provider = google-beta
}

Reemplaza lo siguiente:

  • PROJECT_ID: Es el ID de tu proyecto de Google Cloud .
  • LOCATION: Es la región en la que existe el producto de datos.
  • DATA_PRODUCT_ID: ID del producto de datos
  • DATA_ASSET_ID: Es un ID único para este recurso de datos dentro del producto de datos.
  • RESOURCE_NAME: El nombre completo del recurso del recurso de datos (por ejemplo, //bigquery.googleapis.com/projects/PROJECT_ID/datasets/DATASET_ID/tables/TABLE_ID)

Opcional: Agrega detalles del contrato y del aspecto

Puedes agregar contratos y aspectos para un producto de datos.

Cómo agregar un contrato

Para establecer una base de confianza entre los productores y los consumidores de datos, puedes adjuntar un contrato a tu producto de datos. Si especificas parámetros como el tiempo de actualización y los umbrales, les proporcionas a los consumidores el contexto necesario para comprender cuándo se actualizan los datos y si cumplen con sus requisitos comerciales específicos.

Console

  1. En el panel Add contract and aspect details, haz clic en Add contract.

  2. En el campo Seleccionar contrato, selecciona Refresh cadence.

  3. En el campo Frecuencia, selecciona un programa acordado para determinar la frecuencia con la que se actualizan o entregan los datos, lo que garantiza un flujo predecible del productor al consumidor de datos. Por ejemplo, Weekly

  4. En el campo Tiempo de actualización, ingresa el tiempo máximo aceptable entre el momento en que se actualizan los datos en su fuente y el momento en que están disponibles para el consumidor. Por ejemplo, 23:00 PST

  5. En el campo Umbral (en minutos), ingresa un límite medible en minutos para la demora aceptable en la entrega de datos. Por ejemplo, ingresa 30 para establecer un límite de 30 minutos.

  6. Opcional: En el campo Programación de cron, ingresa una expresión cron que defina la programación para la generación y la entrega de datos en el siguiente formato: MINUTE HOUR DAY_OF_MONTH MONTH DAY_OF_WEEK

    Se aceptan los siguientes valores:

    • MINUTE: 0-59
    • HOUR: 0-23
    • DAY_OF_MONTH: 1-31
    • MONTH: 1-31 o JAN-DEC
    • DAY_OF_WEEK: 0-6 o SUN-SAT

    Por ejemplo, 0 8 * * 1-5 se ejecuta a las 8:00 a.m. los días hábiles (de lunes a viernes).

  7. Haz clic en Guardar.

REST

Los contratos se modelan como aspectos en el producto de datos. Para agregar un contrato de Refresh Cadence a un producto de datos, usa el método entries.patch.

Por ejemplo, envía la siguiente solicitud PATCH:

curl -X PATCH \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d \
'{
  "aspects": {
    "dataplex-types.global.refresh-cadence": {
      "aspectType": "projects/dataplex-types/locations/global/aspectTypes/refresh-cadence",
      "data": {
        "frequency": "REFRESH_FREQUENCY"
      }
    }
  }
}' \
"https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/entryGroups/@dataplex/entries/projects/DATA_PRODUCT_PROJECT_NUMBER/locations/DATA_PRODUCT_LOCATION/dataProducts/DATA_PRODUCT_ID?updateMask=aspects"

Reemplaza lo siguiente:

  • REFRESH_FREQUENCY: Es el programa acordado sobre la frecuencia con la que se actualizan o entregan los datos, lo que garantiza un flujo predecible del productor al consumidor de datos. Por ejemplo: Weekly.
  • PROJECT_ID: Es el ID de tu Google Cloud proyecto en el que se realiza la llamada a la API.
  • LOCATION: Es la región del extremo del servicio de Knowledge Catalog al que llamas (por ejemplo, us-central1).
  • DATA_PRODUCT_PROJECT_NUMBER: Es el número del proyecto en el que se encuentra el recurso del producto de datos.
  • DATA_PRODUCT_LOCATION: Es la ubicación del recurso del producto de datos.
  • DATA_PRODUCT_ID: el ID de tu producto de datos

Terraform

Los contratos se modelan como aspectos en el producto de datos. Para administrar un contrato, debes administrar la entrada subyacente del Knowledge Catalog. Como Terraform no descubre automáticamente los aspectos existentes, primero debes importar el google_dataplex_entry.

Para importar la entrada, usa el siguiente comando:

terraform import google_dataplex_entry.data_product_metadata "projects/DATA_PRODUCT_PROJECT_NUMBER/locations/LOCATION/entryGroups/@dataplex/entries/projects/DATA_PRODUCT_PROJECT_NUMBER/locations/LOCATION/dataProducts/DATA_PRODUCT_ID"

Configuración de Terraform:

resource "google_dataplex_entry" "data_product_metadata" {
project        = "DATA_PRODUCT_PROJECT_NUMBER"
location       = "LOCATION"
entry_group_id = "@dataplex"
entry_id       = "projects/DATA_PRODUCT_PROJECT_NUMBER/locations/LOCATION/dataProducts/DATA_PRODUCT_ID"
entry_type     = "projects/655216118709/locations/global/entryTypes/data-product"

aspects {
  aspect_key = "655216118709.global.refresh-cadence"
  aspect {
    data = jsonencode({
      frequency = "REFRESH_FREQUENCY"
    })
  }
}

provider = google-beta
}

Reemplaza lo siguiente:

  • DATA_PRODUCT_PROJECT_NUMBER: Es el número del proyecto en el que se encuentra el recurso del producto de datos.
  • LOCATION: Es la región del extremo del servicio de Knowledge Catalog al que llamas (por ejemplo, us-central1).
  • DATA_PRODUCT_ID: el ID de tu producto de datos
  • REFRESH_FREQUENCY: Es el programa acordado sobre la frecuencia con la que se actualizan o entregan los datos, lo que garantiza un flujo predecible desde el productor hasta el consumidor de datos. Por ejemplo: Weekly.

Para obtener información general sobre el proceso de importación, consulta la documentación de importación de Terraform.

Agregar aspectos

Usa aspectos para enriquecer tu producto de datos con metadatos estructurados y reutilizables. Estas plantillas proporcionan una forma estandarizada para que los productores de datos comuniquen la calidad y la idoneidad de un producto de datos, lo que mejora la administración y ayuda a los consumidores a determinar si el producto satisface sus necesidades comerciales.

Para agregar aspectos al producto de datos, sigue estos pasos:

Console

  1. En el panel Add contract and aspect details, haz clic en + Add aspect.

  2. En el campo Selecciona el tipo de aspecto, busca y selecciona un tipo de aspecto de la lista. Por ejemplo, Geo context

  3. Haz clic en Guardar.

REST

Para agregar aspectos a un producto de datos, usa el método entries.patch.

Por ejemplo, envía la siguiente solicitud PATCH:

curl -X PATCH \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d \
'{
  "aspects": {
    "ASPECT_PROJECT_ID.ASPECT_LOCATION.ASPECT_NAME": {
      "aspectType": "projects/ASPECT_PROJECT_ID/locations/ASPECT_LOCATION/aspectTypes/ASPECT_NAME",
      "data": {}
    }
  }
}' \
"https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/entryGroups/@dataplex/entries/projects/DATA_PRODUCT_PROJECT_NUMBER/locations/DATA_PRODUCT_LOCATION/dataProducts/DATA_PRODUCT_ID?updateMask=aspects"

Reemplaza lo siguiente:

  • ASPECT_PROJECT_ID: Es el ID de tu proyecto de Google Clouden el que se crea el aspecto.
  • ASPECT_LOCATION: Es la región del extremo del servicio de Knowledge Catalog en la que se crea el aspecto (por ejemplo, us-central1).
  • ASPECT_NAME: Es el nombre del aspecto que deseas adjuntar al producto de datos.
  • PROJECT_ID: Es el ID de tu Google Cloud proyecto en el que se realiza la llamada a la API.
  • LOCATION: Es la región del extremo del servicio de Knowledge Catalog al que llamas (por ejemplo, us-central1).
  • DATA_PRODUCT_PROJECT_NUMBER: Es el número del proyecto en el que se encuentra el recurso del producto de datos.
  • DATA_PRODUCT_LOCATION: Es la ubicación del recurso del producto de datos.
  • DATA_PRODUCT_ID: el ID de tu producto de datos

Terraform

Para administrar aspectos, debes administrar la entrada subyacente de Knowledge Catalog. Como Terraform no descubre automáticamente los aspectos existentes, primero debes importar el google_dataplex_entry.

Para importar la entrada, usa el siguiente comando:

terraform import google_dataplex_entry.data_product_metadata "projects/DATA_PRODUCT_PROJECT_NUMBER/locations/LOCATION/entryGroups/@dataplex/entries/projects/DATA_PRODUCT_PROJECT_NUMBER/locations/LOCATION/dataProducts/DATA_PRODUCT_ID"

Configuración de Terraform:

resource "google_dataplex_entry" "data_product_metadata" {
project        = "DATA_PRODUCT_PROJECT_NUMBER"
location       = "LOCATION"
entry_group_id = "@dataplex"
entry_id       = "projects/DATA_PRODUCT_PROJECT_NUMBER/locations/LOCATION/dataProducts/DATA_PRODUCT_ID"
entry_type     = "projects/655216118709/locations/global/entryTypes/data-product"

aspects {
  aspect_key = "ASPECT_PROJECT_NUMBER.ASPECT_LOCATION.ASPECT_NAME"
  aspect {
    data = {}
  }
}

provider = google-beta
}

Reemplaza lo siguiente:

  • DATA_PRODUCT_PROJECT_NUMBER: Es el número del proyecto en el que se encuentra el recurso del producto de datos.
  • LOCATION: Es la región del extremo del servicio de Knowledge Catalog al que llamas (por ejemplo, us-central1).
  • DATA_PRODUCT_ID: el ID de tu producto de datos
  • ASPECT_PROJECT_NUMBER: Es el número del proyecto Google Cloud en el que se crea el aspecto.
  • ASPECT_LOCATION: Es la región del extremo del servicio de Knowledge Catalog en la que se crea el aspecto (por ejemplo, us-central1).
  • ASPECT_NAME: Es el nombre del aspecto que deseas adjuntar al producto de datos.

Para obtener información general sobre el proceso de importación, consulta la documentación de importación de Terraform.

Opcional: Agrega detalles adicionales

Puedes agregar documentación y consultas de muestra para tu producto de datos y proporcionar contexto esencial, descripciones de la lógica empresarial y guías del usuario. En Knowledge Catalog, la documentación se administra a través del aspecto del sistema overview.

Puedes crear esta documentación de forma manual o usar las estadísticas de datos de Knowledge Catalog para generarla automáticamente.

Agrega manualmente documentación y consultas de ejemplo

Console

Para agregar documentación a tu producto de datos, sigue estos pasos:

  1. En el panel Agregar detalles adicionales, haz clic en Editar junto a Documentación.

  2. Escribe el contenido en el editor de texto enriquecido.

  3. Haz clic en Guardar.

Para agregar consultas de muestra a tu producto de datos, sigue estos pasos:

  1. En el panel Agregar detalles adicionales, haz clic en Agregar preguntas en la sección Recomendación de preguntas.

  2. Escribe las consultas de muestra.

  3. Haz clic en Guardar.

El producto de datos recién creado aparecerá en la página Productos de datos de Knowledge Catalog.

REST

La documentación se modela como aspectos en el producto de datos. Para agregar documentación, usa el método entries.patch.

Por ejemplo, envía la siguiente solicitud PATCH:

curl -X PATCH \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d \
'{
  "aspects": {
    "dataplex-types.global.overview": {
      "aspectType": "projects/dataplex-types/locations/global/aspectTypes/overview",
      "data": {
        "content": "DOCUMENTATION"
      }
    }
  }
}' \
"https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/entryGroups/@dataplex/entries/projects/DATA_PRODUCT_PROJECT_NUMBER/locations/DATA_PRODUCT_LOCATION/dataProducts/DATA_PRODUCT_ID?updateMask=aspects"

Reemplaza lo siguiente:

  • PROJECT_ID: Es el ID de tu Google Cloud proyecto en el que se realiza la llamada a la API.
  • LOCATION: Es la región del extremo del servicio de Knowledge Catalog al que llamas (por ejemplo, us-central1).
  • DATA_PRODUCT_PROJECT_NUMBER: Es el número del proyecto en el que se encuentra el recurso del producto de datos.
  • DATA_PRODUCT_LOCATION: Es la ubicación del recurso del producto de datos.
  • DATA_PRODUCT_ID: el ID de tu producto de datos
  • DOCUMENTATION: Es el contenido que deseas adjuntar al producto de datos.

Terraform

La documentación se modela como aspectos en el producto de datos. Para administrar la documentación, debes administrar la entrada subyacente del Knowledge Catalog. Como Terraform no descubre automáticamente los aspectos existentes, primero debes importar el google_dataplex_entry.

Para importar la entrada, usa el siguiente comando:

terraform import google_dataplex_entry.data_product_metadata "projects/DATA_PRODUCT_PROJECT_NUMBER/locations/LOCATION/entryGroups/@dataplex/entries/projects/DATA_PRODUCT_PROJECT_NUMBER/locations/LOCATION/dataProducts/DATA_PRODUCT_ID"

Configuración de Terraform:

resource "google_dataplex_entry" "data_product_metadata" {
project        = "DATA_PRODUCT_PROJECT_NUMBER"
location       = "LOCATION"
entry_group_id = "@dataplex"
entry_id       = "projects/DATA_PRODUCT_PROJECT_NUMBER/locations/LOCATION/dataProducts/DATA_PRODUCT_ID"
entry_type     = "projects/655216118709/locations/global/entryTypes/data-product"

aspects {
  aspect_key = "655216118709.global.overview"
  aspect {
    data = jsonencode({
      content = "DOCUMENTATION"
    })
  }
}

provider = google-beta
}

Reemplaza lo siguiente:

  • DATA_PRODUCT_PROJECT_NUMBER: Es el número del proyecto en el que se encuentra el recurso del producto de datos.
  • LOCATION: Es la región del extremo del servicio de Knowledge Catalog al que llamas (por ejemplo, us-central1).
  • DATA_PRODUCT_ID: el ID de tu producto de datos
  • DOCUMENTATION: Es el contenido que deseas adjuntar al producto de datos.

Para obtener información general sobre el proceso de importación, consulta la documentación de importación de Terraform.

Generar documentación automatizada y consultas de muestra con estadísticas de datos

Antes de generar documentación y consultas de muestra con Gemini, completa los siguientes requisitos previos:

  1. Habilita la API de Gemini para Google Cloud en el proyecto en el que crearás el producto de datos.

  2. Otorga roles de usuario específicos para las estadísticas: Pídele a tu administrador que le otorgue a tu identidad los siguientes roles y permisos en el proyecto del producto de datos:

    • Generar y administrar estadísticas de datos: Editor de DataScan de Dataplex (roles/dataplex.dataScanEditor) o Administrador de DataScan de Dataplex (roles/dataplex.dataScanAdmin) en el proyecto en el que reside el producto de datos
    • Ver las estadísticas generadas: Visualizador de datos de DataScan de Dataplex (roles/dataplex.dataScanDataViewer) en el proyecto en el que reside el producto de datos
  3. Configura los permisos del agente de servicio entre proyectos. Si tus activos de datos subyacentes residen en un proyecto Google Cloud diferente del proyecto de tu producto de datos, debes otorgar acceso a esos activos al agente de servicio (P4SA) de Knowledge Catalog:

    1. Para generar o recuperar el identificador del agente de servicio de tu proyecto de producto de datos, ejecuta el siguiente comando de Google Cloud CLI:

      gcloud beta services identity create --service=dataplex.googleapis.com --project=DATA_PRODUCT_PROJECT_ID
      

      Reemplaza DATA_PRODUCT_PROJECT_ID por el ID del proyectoGoogle Cloud en el que reside tu producto de datos.

    2. En cada proyecto externo en el que residan tus recursos, otorga al agente de servicio del proyecto de producto de datos los siguientes roles:

      • Editor de datos de BigQuery (roles/bigquery.dataEditor) en las tablas y los conjuntos de datos subyacentes

      • Administrador de BigQuery Studio (roles/bigquery.studioAdmin) en el proyecto del activo

Para generar documentación y consultas de muestra para tu producto de datos con estadísticas de datos, completa los siguientes pasos:

Console

  1. En el panel Agregar detalles adicionales, en la barra Generar estadísticas con Gemini, haz clic en Generar.

    Espera unos minutos para que se complete el proceso de generación de estadísticas.

  2. Para revisar el contenido generado, haz clic en Ver.

  3. Evalúa el contenido generado:

    • Si el contenido es preciso, haz clic en Guardar. Esto propagará el editor de texto enriquecido con una plantilla de documentación predefinida y agregará consultas de muestra a la sección Estadísticas.

    • Si el contenido no cumple con las expectativas, haz clic en Descartar.

  4. Haz clic en Guardar para finalizar.

REST

Para generar, recuperar y aplicar automáticamente documentación y estadísticas con la API, ejecuta la siguiente serie de llamadas a la API de DataScans de Knowledge Catalog.

  1. Generar documentación automatizada

    Para activar la generación automática de documentación, crea un análisis de datos de tipo DATA_DOCUMENTATION enviando una solicitud POST al extremo dataScans:

    curl -X POST \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    -d '{
      "data": {
        "resource": "DATA_PRODUCT_RESOURCE_NAME"
      },
      "executionSpec": {
        "trigger": {
          "oneTime": {
            "ttl_after_scan_completion": "TTL"
          }
        }
      },
      "type": "DATA_DOCUMENTATION",
      "dataDocumentationSpec": {}
    }' \
    "https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/dataScans?data_scan_id=DATA_SCAN_ID"
    

    Reemplaza lo siguiente:

    • DATA_PRODUCT_RESOURCE_NAME: Es el nombre completo del recurso del producto de datos objetivo que se analizará.
    • TTL: Es la duración en segundos después de la cual se debe borrar automáticamente el recurso de análisis (por ejemplo, 3600 para una hora). Si no se especifica, el valor predeterminado es 24 horas. El valor máximo permitido es de 365 días (31536000 segundos).
    • PROJECT_ID: Es el ID de tu proyecto de Google Cloud.
    • LOCATION: Es la región en la que se ejecuta el análisis de datos.
    • DATA_SCAN_ID: Es un ID único que proporcionas para este análisis.
  2. Recupera la documentación generada.

    Después de que se complete el trabajo de análisis de datos, recupera la documentación generada y las estadísticas de las consultas enviando una solicitud GET con el parámetro view=full:

    curl -X GET \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    "https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/dataScans/DATA_SCAN_ID?view=full"
    
  3. Guarda las consultas generadas en el producto de datos.

    Extrae los fragmentos de SQL generados del resultado del análisis de datos del paso anterior y adjúntalos a la entrada de tu producto de datos actualizando su aspecto queries a través de una solicitud PATCH:

    curl -X PATCH \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    -d '{
      "aspects": {
        "dataplex-types.global.queries": {
          "aspectType": "projects/dataplex-types/locations/global/aspectTypes/queries",
          "data": {
            "queries": [
              {
                "description": "QUERY_DESCRIPTION",
                "sql": "SQL_STATEMENT",
                "source": "USER"
              }
            ]
          }
        }
      }
    }' \
    "https://dataplex.googleapis.com/v1/projects/CATALOG_PROJECT_ID/locations/CATALOG_LOCATION/entryGroups/@dataplex/entries/projects/DATA_PRODUCT_PROJECT_NUMBER/locations/DATA_PRODUCT_LOCATION/dataProducts/DATA_PRODUCT_ID?updateMask=aspects"
    

    Reemplaza lo siguiente:

    • QUERY_DESCRIPTION: Una descripción que explica qué logra la consulta de muestra recomendada

    • SQL_STATEMENT: Es el texto literal de la consulta de muestra en SQL generada.

    • CATALOG_PROJECT_ID: ID del proyecto deGoogle Cloud en el que realizas la llamada a la API

    • CATALOG_LOCATION: Es el extremo regional del servicio de Knowledge Catalog (por ejemplo, us-central1).

    • DATA_PRODUCT_PROJECT_NUMBER: Es el número del proyecto en el que se aloja el recurso del producto de datos.

    • DATA_PRODUCT_LOCATION: Es la ubicación de tu recurso de producto de datos.

    • DATA_PRODUCT_ID: el ID de tu producto de datos

¿Qué sigue?