Crear un repositorio

En este documento se explica el concepto de repositorios en Dataform y cómo crear uno.

Acerca de los repositorios de Dataform

Cada repositorio de Dataform contiene una colección de archivos SQLX y JavaScript que componen tu flujo de trabajo, así como archivos de configuración y paquetes de Dataform. Interactúas con el contenido de tu repositorio en un espacio de trabajo de desarrollo.

Dataform muestra tus repositorios en la página Dataform por orden alfabético de los IDs de los repositorios. Puedes ordenarlas y filtrarlas.

  • Para ver tus repositorios, en la Google Cloud consola, ve a la página Dataform.

    Ir a Dataform

Cada repositorio de Dataform está conectado a una cuenta de servicio. Puedes seleccionar una cuenta de servicio cuando creas un repositorio o editar la cuenta de servicio más adelante.

De forma predeterminada, Dataform usa una cuenta de servicio derivada del número de tu proyecto con el siguiente formato:

service-PROJECT_NUMBER@gcp-sa-dataform.iam.gserviceaccount.com

Dataform usa Git para registrar los cambios y gestionar las versiones de los archivos. Cada repositorio de Dataform se corresponde con un repositorio de Git. Después de crear un repositorio de Dataform, puedes conectarlo a un repositorio remoto de GitHub, GitLab o Bitbucket.

En un repositorio de Dataform, Dataform almacena el código del repositorio. En un repositorio conectado, el repositorio de terceros almacena el código del repositorio. Dataform interactúa con el repositorio de terceros para permitirte editar y ejecutar su contenido en un espacio de trabajo de desarrollo de Dataform.

Una página de repositorio de Dataform consta de los siguientes componentes:

Pestaña Espacios de trabajo de desarrollo
Muestra los espacios de trabajo de desarrollo creados en el repositorio.
Pestaña Configuraciones de lanzamiento
Te permite inspeccionar, crear, editar y eliminar versiones.
Pestaña Registros de ejecución del flujo de trabajo
Muestra los registros de ejecución del flujo de trabajo de Dataform.
Pestaña Configuraciones de flujo de trabajo
Te permite inspeccionar, crear, editar y eliminar configuraciones de flujo de trabajo.
Pestaña Configuración
Muestra el nombre y la ubicación del repositorio. En el caso de un repositorio conectado a un repositorio de Git de terceros, se muestra la fuente del repositorio de terceros, el nombre de la rama predeterminada y el token secreto. Muestra los botones para conectar el repositorio a un repositorio de Git de terceros y para editar la conexión de Git.
Botón Crear espacio de trabajo de desarrollo
Te permite crear un espacio de trabajo de desarrollo.

Después de crear e inicializar un espacio de trabajo de desarrollo, puedes editar el archivo de configuración de tu flujo de trabajo para configurar los siguientes ajustes de Dataform de tu repositorio:

  • La base de datos predeterminada (Google Cloud ID de proyecto).
  • El esquema predeterminado (ID del conjunto de datos de BigQuery).
  • Ubicación predeterminada de BigQuery.
  • Esquema predeterminado (ID del conjunto de datos de BigQuery) de las aserciones.
  • El almacén, que debe ser bigquery.
  • Variables definidas por el usuario que están disponibles para el código del proyecto durante la compilación.

Para obtener más información sobre la configuración de repositorios de Dataform, consulta IProjectConfig en la referencia principal de Dataform.

Configuración del repositorio

Cuando creas un repositorio de Dataform, debes definir los siguientes ajustes del repositorio:

ID de repositorio
Es el ID único del repositorio. Los IDs solo pueden incluir números, letras, guiones y guiones bajos.
Región

Región de Dataform para almacenar el repositorio y su contenido.

Esta región de almacenamiento puede ser diferente de la región de procesamiento en la que Dataform procesa tu código y almacena el resultado de las ejecuciones. De forma predeterminada, la región de procesamiento es la región predeterminada del conjunto de datos de BigQuery. Puedes editar la región de procesamiento en el archivo de configuración del flujo de trabajo después de crear el repositorio. Para obtener más información, consulta Configurar los ajustes del flujo de trabajo de Dataform.

Cuenta de servicio

Cuenta de servicio asociada al repositorio. Puedes seleccionar la cuenta de servicio de Dataform predeterminada, una cuenta de servicio asociada a tu proyecto deGoogle Cloud o introducir manualmente otra cuenta de servicio. De forma predeterminada, Dataform usa una cuenta de servicio derivada del número de tu proyecto con el siguiente formato:

service-PROJECT_NUMBER@gcp-sa-dataform.iam.gserviceaccount.com

Dataform usa la cuenta de servicio predeterminada para todas las operaciones del repositorio. Puedes usar otra cuenta de servicio para ejecutar flujos de trabajo en tu repositorio, pero la cuenta de servicio predeterminada se sigue usando para todas las demás operaciones del repositorio.

Modo de rol estricto (Vista previa)

Habilita una comprobación de seguridad adicional que requiere el permiso iam.serviceAccounts.actAs en la cuenta de servicio. Para obtener más información, consulta Usar el modo de rol estricto.

Cifrado

Método de cifrado del repositorio. Puedes usar el cifrado predeterminado, una clave de cifrado de Cloud KMS única gestionada por el cliente o una clave CMEK predeterminada de Dataform. Para obtener más información sobre cómo usar claves de encriptado gestionadas por el cliente (CMEK) en Dataform, consulta el artículo Usar claves de encriptado gestionadas por el cliente.

Después de crear un repositorio, puedes conectarlo a GitHub o GitLab.

Antes de empezar

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. Enable the BigQuery and Dataform APIs.

    Enable the APIs

  5. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  6. Verify that billing is enabled for your Google Cloud project.

  7. Enable the BigQuery and Dataform APIs.

    Enable the APIs

  8. Para usar el cifrado con CMEK en el repositorio, habilita el cifrado con CMEK de los repositorios de Dataform.
  9. .

    Roles obligatorios

    Para obtener los permisos que necesitas para crear y eliminar un repositorio, pide a tu administrador que te conceda el rol de gestión de identidades y accesos Administrador de Dataform (roles/dataform.admin) en los repositorios. Para obtener más información sobre cómo conceder roles, consulta el artículo Gestionar el acceso a proyectos, carpetas y organizaciones.

    También puedes conseguir los permisos necesarios a través de roles personalizados u otros roles predefinidos.

    Para usar una cuenta de servicio que no sea la predeterminada de Dataform, concede acceso a la cuenta de servicio personalizada.

    Para obtener información sobre los roles necesarios para ejecutar flujos de trabajo en BigQuery, consulta Roles necesarios para las cuentas de servicio de Dataform.

    Después de crear un repositorio de Dataform, Dataform te asigna automáticamente el rol Administrador de Dataform en ese repositorio.

    Crear un repositorio

    Para crear un repositorio de Dataform, sigue estos pasos:

    1. En la Google Cloud consola, ve a la página Dataform.

      Ir a Dataform

    2. Haz clic en Crear repositorio.

    3. En la página Create repository (Crear repositorio), en el campo Repository ID (ID de repositorio), introduce un ID único.

      Los IDs solo pueden incluir números, letras, guiones y guiones bajos.

    4. En la lista desplegable Región, selecciona una región de Dataform para almacenar el repositorio y su contenido. Selecciona la región de Dataform más cercana a tu ubicación.

      Para ver una lista de las regiones de Dataform disponibles, consulta Ubicaciones. La región del repositorio no tiene por qué coincidir con la ubicación de tus conjuntos de datos de BigQuery.

      En el archivo workflow_settings.yaml, puedes definir la región de procesamiento en la que Dataform procesa tu código y almacena el resultado de las ejecuciones. La región de procesamiento debe coincidir con la ubicación de tus conjuntos de datos de BigQuery, pero no tiene por qué coincidir con la región del repositorio. Para obtener más información, consulta Configurar los ajustes del flujo de trabajo de Dataform.

    5. En el menú Cuenta de servicio, selecciona una cuenta de servicio para el repositorio.

      En el menú, puedes seleccionar la cuenta de servicio de Dataform predeterminada o cualquier cuenta de servicio asociada a tu Google Cloud proyecto al que tengas acceso. Ten en cuenta que las cuentas de servicio personalizadas solo se usan para ejecutar flujos de trabajo. El resto de las operaciones del repositorio se siguen realizando con la cuenta de servicio predeterminada de Dataform.

      1. Opcional: Para seleccionar una cuenta de servicio que no se muestre en el menú, haz clic en Introducir manualmente e introduce un ID de cuenta de servicio.
    6. Opcional: Selecciona Implementar comprobación del permiso "actAs" para habilitar comprobaciones de seguridad adicionales en determinadas acciones de los usuarios en el repositorio. Para obtener más información sobre estas comprobaciones, consulta el artículo Usar el modo de actuar como estricto.

    7. Configura el mecanismo de cifrado seleccionado para el repositorio:

      .

      Clave CMEK predeterminada

      Dataform muestra la casilla Usar la clave de KMS predeterminada y la selecciona de forma predeterminada.

      • Para cifrar el repositorio con la clave CMEK predeterminada de Dataform, deja marcada la casilla Usar la clave de KMS predeterminada.

      Clave CMEK única

      Para cifrar el repositorio con una clave CMEK única, haz lo siguiente:

      1. Si la casilla Usar la clave de KMS predeterminada está marcada de forma predeterminada, desmárcala.
      2. En la sección Encriptado, selecciona la opción Claves de encriptado gestionadas por el cliente (CMEK).
      3. En el menú desplegable Selecciona una clave gestionada por el cliente, selecciona una clave CMEK única.

      Encriptado en reposo

      • Para usar el cifrado predeterminado, ve a la sección Cifrado y selecciona la opción Google-managed encryption key.
    8. Haz clic en Crear y, a continuación, en Hecho.

    Editar la cuenta de servicio

    Puedes asociar una cuenta de servicio personalizada a un repositorio de Dataform para ejecutar flujos de trabajo. Todas las demás operaciones del repositorio siguen realizándose con la cuenta de servicio predeterminada de Dataform.

    Para editar la cuenta de servicio de un repositorio de Dataform, sigue estos pasos:

    1. En la Google Cloud consola, ve a la página Dataform.

      Ir a Dataform

    2. Selecciona un repositorio y, a continuación, haz clic en Configuración.

    3. En el campo Cuenta de servicio, haz clic en Editar cuenta de servicio.

    4. En el desplegable Cuenta de servicio, selecciona una cuenta de servicio para el repositorio.

      En el menú desplegable, puedes seleccionar la cuenta de servicio predeterminada de Dataform o cualquier cuenta de servicio asociada a tu proyecto a la que tengas acceso. Google Cloud

      1. Opcional: Para seleccionar una cuenta de servicio que no se muestre en el menú desplegable, haz clic en Introducir manualmente e introduce un ID de cuenta de servicio.
    5. Haz clic en Guardar.

    Eliminar un repositorio

    Para eliminar un repositorio y todo su contenido, sigue estos pasos:

    1. En la Google Cloud consola, ve a la página Dataform.

      Ir a Dataform

    2. Junto al repositorio que quieras eliminar, haz clic en el menú Más y, a continuación, selecciona Eliminar.

    3. En la ventana Eliminar repositorio, introduce el nombre del repositorio para confirmar la eliminación.

    4. Haz clic en Eliminar.

    Siguientes pasos