Crear productos de datos

Este documento está dirigido a los propietarios de productos de datos que desean crear y configurar productos de datos en 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

  1. Enable the Dataplex, BigQuery APIs.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

  2. 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:

  3. Identifica o crea los Grupos de Google que deseas configurar en tu producto de datos. Cada producto de datos debe tener un grupo de Google único.

Roles obligatorios

En esta sección, se describen los roles de IAM mínimos requeridos para dos grupos de usuarios principales: los propietarios de productos de datos (aquellos que crean y administran productos de datos) y los consumidores de productos de datos (aquellos que buscan y usan productos de datos).

Roles de un propietario 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:

  • Edita el tipo de aspecto del sistema overview: dataplex.entryGroups.useOverviewAspect
  • Edita el tipo de aspecto del sistema refresh cadence: dataplex.entryGroups.useRefreshCadenceAspect

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

Roles para un consumidor 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:

  • Busca productos de datos y accede a ellos en la búsqueda de Dataplex Universal Catalog: Consumidor de productos de datos de Dataplex (dataplex.dataProductsConsumer)
  • 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)
  • Solicita acceso a los productos de datos: Consumidor de productos de datos de Dataplex (dataplex.dataProductsConsumer).

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, una descripción, la región en la que se crea el producto de datos y los detalles del propietario.

  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 un máximo de 10 recursos a un 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 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 adicionales, como contratos, aspectos y documentación

    Esta fase opcional mejora la administración y los metadatos. Puedes agregar un contrato, que es un tipo de aspecto propio, para comunicar formalmente la cadencia de actualización de datos acordada y especificar parámetros como la frecuencia, la hora y el umbral de actualización. También puedes incluir aspectos para proporcionar metadatos adicionales para tu producto de datos. Además, agregas documentación de texto enriquecido, como guías del usuario y consultas de ejemplo.

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 Dataplex Universal Catalog.

    Ir a Productos de datos

  2. Haz clic en Crear.

  3. En el panel Create data products, 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 multirregión en la que se crea el producto de datos.
    • Ícono: Explora 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: Ingresa el ID de correo electrónico del propietario del producto de datos.
    • Etiquetas: Agrega etiquetas de 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"]}' \
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: IDs de correo electrónico separados por comas de los propietarios del producto de datos
  • 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.

Opcional: Agrega recursos

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 recursos haciendo clic en ellos.

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

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

  5. Haz clic en Continuar.

REST

Para agregar un recurso 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.

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 soliciten acceso a este grupo de acceso se pueden agregar como miembros al grupo de Google asignado.

    Si no tienes un grupo de Google, puedes crear uno. Para obtener más información, consulta Crea y administra grupos de Google en la consola de Google Cloud .

  5. Haz clic en Agregar.

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"}
      }
    }
    
  • 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: Es el ID de tu producto de datos.

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.

  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, y si 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: Es el ID de tu producto de datos.

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

Opcional: Agrega detalles adicionales

También puedes agregar contratos, aspectos y documentación adicional para el producto de datos.

Cómo agregar un contrato

Console

  1. En el panel Agregar detalles adicionales, haz clic en Agregar contrato.

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

  3. En el campo Frecuencia, selecciona un programa acordado para determinar con qué frecuencia 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 un 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 el límite en 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 para 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_ID/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 de servicio de Dataplex Universal Catalog al que llamas (por ejemplo, us-central1).
  • DATA_PRODUCT_PROJECT_ID: Es el ID 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: Es el ID de tu producto de datos.

Agrega metadatos adicionales

Para agregar metadatos adicionales para el producto de datos como aspectos, sigue estos pasos:

Console

  1. En el panel Agregar detalles adicionales, haz clic en + Agregar aspecto.

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

  3. En el campo País, selecciona el país al que pertenece el activo.

  4. En el campo Región, selecciona la región comercial a la que pertenece el activo.

  5. Haz clic en Guardar.

  6. Para agregar documentación adicional, como una guía del usuario o consultas de ejemplo, haz clic en Editar junto a Documentación. Se abrirá un editor de texto enriquecido. Agrega contenido y haz clic en Guardar.

  7. Haz clic en Guardar.

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

REST

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

La documentación de un producto de datos se administra a través del tipo de aspecto del sistema overview.

¿Qué sigue?