Configurar compilaciones

En este documento se explica cómo hacer lo siguiente en Dataform:

Antes de empezar

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

    Ir a Dataform

  2. Seleccione o cree un repositorio.

  3. Seleccione o cree un espacio de trabajo de desarrollo.

  4. Opcional: Para anular el Google Cloud proyecto predeterminado en la configuración de la versión Google Cloud , concede acceso a tu cuenta de servicio de Dataform al proyecto que quieras usar.

Roles obligatorios

Para obtener los permisos que necesitas para completar las tareas de este documento, 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 poder actualizar la versión de lanzamiento de una configuración de lanzamiento de un repositorio de Dataform cuando el modo estricto de actuar como esté habilitado, debes tener el permiso iam.serviceAccounts.actAs en cada cuenta de servicio de las configuraciones de flujo de trabajo que utilicen esta configuración de lanzamiento. Este permiso está disponible en el rol Usuario de cuenta de servicio (roles/iam.serviceAccountUser).

Introducción al ciclo de vida de los flujos de trabajo en Dataform

En esta sección se describe el ciclo de vida de los flujos de trabajo en Dataform y las formas de configurar la compilación y la ejecución en Dataform.

El ciclo de vida del flujo de trabajo de Dataform consta de las siguientes fases:

Desarrollo
Desarrollas un flujo de trabajo en un espacio de trabajo de Dataform.
Recopilación

Dataform compila el código del flujo de trabajo de tu espacio de trabajo en SQL en tiempo real, lo que crea un resultado de compilación del espacio de trabajo que puedes ejecutar en BigQuery. Dataform usa los ajustes que definas en el archivo de configuración del flujo de trabajo para crear el resultado de la compilación.

La compilación de Dataform es hermética para asegurar la coherencia de la compilación, lo que significa que el mismo código se compila en el mismo resultado de compilación de SQL cada vez. Dataform compila tu código en un entorno de pruebas sin acceso a Internet. No se pueden realizar acciones adicionales, como llamar a APIs externas, durante la compilación.

Ejecución

En una invocación de flujo de trabajo, Dataform ejecuta el resultado de la compilación del espacio de trabajo en BigQuery.

Para adaptar el ciclo de vida del flujo de trabajo de Dataform a tus necesidades, puedes configurar el resultado de la compilación para influir en dónde y cómo ejecuta Dataform tu flujo de trabajo. Después, puedes activar o programar ejecuciones manualmente para influir en el momento en que Dataform ejecuta todo el flujo de trabajo o los elementos seleccionados.

Formas de configurar la compilación de Dataform

De forma predeterminada, Dataform usa los ajustes del archivo de ajustes de flujo de trabajo para crear resultados de compilación. Puedes anular los ajustes predeterminados con anulaciones de compilación para crear resultados de compilación personalizados. Después, puedes activar manualmente la ejecución de un resultado de compilación personalizado o programar ejecuciones.

Dataform ofrece las siguientes opciones para configurar los resultados de la compilación:

Sustituciones de compilación de Workspace
Puedes configurar anulaciones de compilación que se apliquen a todos los espacios de trabajo de un repositorio. Puedes usar las anulaciones de compilación de espacios de trabajo para crear entornos de desarrollo aislados.
Configuraciones de lanzamiento
Puedes crear configuraciones de lanzamiento para configurar plantillas que permitan crear resultados de compilación de un repositorio de Dataform. Después, puedes crear una configuración de flujo de trabajo para programar ejecuciones de los resultados de compilación creados en una configuración de lanzamiento seleccionada.
Sustituciones de compilación de la API Dataform
Puedes enviar solicitudes a la API de Dataform en el terminal para crear y ejecutar un único resultado de compilación con anulaciones de compilación.

Configurar anulaciones de compilación de espacios de trabajo

Con las sustituciones de compilación de espacios de trabajo, puedes crear sustituciones de compilación para todos los espacios de trabajo de un repositorio de Dataform. Puedes crear una configuración de anulaciones de compilación de espacio de trabajo para cada repositorio.

Cuando activas manualmente una ejecución en un espacio de trabajo de un repositorio con anulaciones de compilación de espacios de trabajo, Dataform aplica estas anulaciones al resultado de la compilación del espacio de trabajo.

Puedes configurar las siguientes anulaciones de compilación del espacio de trabajo:

  • Google Cloud Proyecto en el que Dataform ejecuta el contenido del espacio de trabajo
  • Prefijo de tabla
  • Sufijo del esquema

Puedes usar las anulaciones de compilación de espacios de trabajo para crear entornos de desarrollo aislados. Para ello, aísla los resultados de compilación de espacios de trabajo en BigQuery con anulaciones de compilación dinámicas. Las compilaciones de prefijo de tabla dinámica y sufijo de esquema contienen la variable ${workspaceName}. Cuando activas una ejecución en un espacio de trabajo, Dataform sustituye la variable ${workspaceName} por el nombre del espacio de trabajo actual, lo que crea anulaciones de compilación únicas para el espacio de trabajo.

Ten en cuenta que no puedes programar ejecuciones de resultados de compilación creados con anulaciones de compilación del espacio de trabajo.

Crear configuraciones de lanzamiento

Con las configuraciones de lanzamiento, puedes configurar plantillas de ajustes para crear resultados de compilación de repositorios.

En una configuración de lanzamiento, puedes configurar anulaciones de compilación de ajustes de flujo de trabajo, variables de compilación y la frecuencia con la que se crean resultados de compilación de todo tu repositorio.

En una configuración de lanzamiento, puedes configurar las siguientes anulaciones de compilación:

Puedes crear varias configuraciones de lanzamiento en un repositorio de Dataform, una para cada fase del ciclo de vida de desarrollo, lo que te permite crear resultados de compilación de repositorios aislados.

Después, puedes crear configuraciones de flujo de trabajo para programar ejecuciones de los resultados de compilación creados en una configuración de lanzamiento seleccionada.

También puede activar manualmente la ejecución de un resultado de compilación en una configuración de lanzamiento seleccionada.

Configurar un único resultado de compilación con las anulaciones de compilación de la API de Dataform

Si envías solicitudes a la API de Dataform en el terminal, puedes configurar anulaciones de compilación para un solo resultado de compilación.

En la solicitud compilationResults.create, puedes crear un único resultado de compilación de un espacio de trabajo de Dataform o de un comittish de Git especificado.

En el objeto CodeCompilationConfig de la solicitud compilationResults.create, puedes configurar las anulaciones de compilación para la solicitud de compilación.

Puede configurar las siguientes anulaciones de compilación de la API de Dataform:

Ten en cuenta que las anulaciones de compilación de la API Dataform se aplican a un solo resultado de compilación y a una sola ejecución. No puedes usarlos para programar ejecuciones de Dataform.

Puedes ejecutar un resultado de compilación en la solicitud workflowInvocations.create.

Formas de configurar la ejecución de Dataform

Dataform ofrece las siguientes opciones para configurar la ejecución:

Ejecución manual en un espacio de trabajo
Puedes activar manualmente la ejecución instantánea de un flujo de trabajo en un espacio de trabajo de Dataform, fuera de cualquier programación. Puedes ejecutar acciones seleccionadas en el flujo de trabajo.
Configuraciones de flujo de trabajo
Puedes programar ejecuciones de resultados de compilación creados en una configuración de lanzamiento seleccionada. Puede seleccionar las acciones del flujo de trabajo que quiere ejecutar y definir la frecuencia y la zona horaria de las ejecuciones.

Activar la ejecución instantánea en un espacio de trabajo

En un espacio de trabajo de Dataform, puede activar manualmente la ejecución instantánea de un flujo de trabajo en su espacio de trabajo, fuera de cualquier programación.

Puedes ejecutar manualmente los siguientes elementos del flujo de trabajo en tu espacio de trabajo:

Si tu repositorio contiene anulaciones de compilación de áreas de trabajo, puedes ver qué anulaciones de compilación aplicará Dataform al resultado de la compilación del área de trabajo.

Crear configuraciones de flujo de trabajo

Con las configuraciones de flujo de trabajo, puedes programar ejecuciones de resultados de compilación a partir de una configuración de lanzamiento seleccionada. Puedes crear varias configuraciones de flujo de trabajo en un repositorio de Dataform.

En una configuración de flujo de trabajo, puedes configurar los siguientes ajustes de ejecución:

  • Se ha aplicado la configuración de la versión de compilación.
  • Selección de las acciones del flujo de trabajo que se van a ejecutar.
  • Programación y zona horaria de las ejecuciones.

Puedes seleccionar las siguientes acciones de flujo de trabajo para que se ejecuten:

  • Todas las acciones
  • Acciones seleccionadas
  • Acciones con etiquetas seleccionadas

Después, durante una ejecución programada de la configuración del flujo de trabajo, Dataform implementa en BigQuery la selección de acciones del resultado de compilación aplicado.

Las configuraciones de lanzamiento y de flujo de trabajo de Dataform le permiten configurar la compilación y programar ejecuciones en Dataform sin tener que depender de servicios adicionales.

Vencimiento de los recursos del ciclo de vida

Dataform almacena los resultados de la compilación y las invocaciones de flujo de trabajo durante un periodo específico.

Vencimiento de las invocaciones de flujo de trabajo

Las invocaciones de flujos de trabajo caducan al cabo de 90 días o cuando las eliminas manualmente.

En una configuración de flujo de trabajo, puedes ver una lista de las invocaciones de flujo de trabajo más recientes creadas por la configuración. Cuando vence una invocación de flujo de trabajo creada por una configuración de flujo de trabajo, Dataform elimina esa invocación de la lista de invocaciones recientes.

Vencimiento de los resultados de la compilación

La caducidad de los resultados de compilación depende de si se han creado en un espacio de trabajo de desarrollo, en una configuración de lanzamiento o mediante una invocación de flujo de trabajo.

Cuando desarrollas un flujo de trabajo en un espacio de trabajo de Dataform, Dataform compila tu código en un resultado de compilación en tiempo real para validar las consultas. Los resultados de las compilaciones creadas de esta forma caducan al cabo de 24 horas.

En una configuración de lanzamiento, el resultado de la última compilación se convierte en el resultado de la compilación activa. El resultado de la nueva compilación sustituye al resultado de la compilación en directo actual. Dataform conserva el resultado de la compilación activa hasta que se sustituye por un nuevo resultado. Una compilación sustituida caduca en un plazo de 24 horas.

Dataform elimina los resultados de compilación caducados de la lista de resultados de compilación anteriores de la página Detalles de una configuración de lanzamiento.

Dataform conserva los resultados de la compilación creados por las invocaciones de flujo de trabajo durante toda la vida de la invocación de flujo de trabajo, hasta 24 horas después de que caduque o se elimine.

Crear anulaciones de compilación de espacios de trabajo

En las siguientes secciones se muestra cómo crear anulaciones de compilación de espacios de trabajo para aislar las tablas y las vistas creadas a partir de tus espacios de trabajo de Dataform en BigQuery. Puedes usar las anulaciones de compilación de espacios de trabajo para crear entornos de desarrollo de Dataform aislados.

Cuando desarrollas código de flujo de trabajo en un espacio de trabajo de Dataform, Dataform compila el código de tu espacio de trabajo en tiempo real para crear un resultado de compilación del espacio de trabajo. Dataform usa los ajustes definidos en el archivo de ajustes del flujo de trabajo para crear el resultado de la compilación del espacio de trabajo. Después, cuando activas la ejecución en un espacio de trabajo, Dataform ejecuta el resultado de la compilación del espacio de trabajo en BigQuery.

Para anular los ajustes predeterminados definidos en la sección Ajustes del flujo de trabajo de todos los espacios de trabajo de tu repositorio, puedes crear anulaciones de compilación de espacios de trabajo.

Con las anulaciones de compilación de espacios de trabajo, puedes anular los siguientes ajustes de todos los espacios de trabajo de tu repositorio:

Proyecto
El proyecto Google Cloud en el que Dataform ejecuta el resultado de la compilación del espacio de trabajo, definido en workflow_settings.yaml como defaultProject o en dataform.json como defaultDatabase.
Prefijo de tabla
El prefijo personalizado que se añade a todos los nombres de tabla de todos los espacios de trabajo del repositorio.
Sufijo del esquema
El sufijo personalizado que se añade al esquema de las tablas. Definir como defaultDataset en workflow_settings.yaml, defaultSchema en dataform.json o en el parámetro schema del bloque config de una tabla.

Para crear entornos de desarrollo aislados, puedes aislar espacios de trabajo con anulaciones de compilación únicas. Puede modificar dinámicamente las anulaciones de compilación del prefijo de tabla y del sufijo de esquema con la variable ${workspaceName}.

Cuando activas manualmente la ejecución en un espacio de trabajo, la variable ${workspaceName} inserta el nombre del espacio de trabajo en las anulaciones de compilación del espacio de trabajo.

Si defines ${workspaceName} como prefijo de tabla, Dataform añade el nombre del espacio de trabajo a los nombres de todas las tablas del espacio de trabajo. Después de la ejecución, en BigQuery, puedes identificar de qué espacio de trabajo procede una tabla.

Si defines ${workspaceName} como sufijo del esquema, Dataform añade el nombre del espacio de trabajo a defaultSchema, lo que crea un esquema personalizado dedicado al espacio de trabajo. Una vez ejecutado, en BigQuery, puede localizar todas las tablas que se ejecutan desde un espacio de trabajo específico en el esquema correspondiente.

Ejemplo de anulaciones de compilación de espacios de trabajo dinámicos

En el siguiente ejemplo se muestran las anulaciones de compilación de espacios de trabajo dinámicos aplicadas a un repositorio que contiene espacios de trabajo con el nombre de los desarrolladores que trabajan en el repositorio: Sasha y Kai.

El objetivo de las anulaciones de compilación del espacio de trabajo en este ejemplo es crear entornos de desarrollo aislados para Sasha y Kai.

Los siguientes ajustes predeterminados están definidos en workflow_settings.yaml:

  • defaultProject: analytics
  • defaultDataset: dataform

Las siguientes anulaciones de compilación de espacios de trabajo crean un prefijo de tabla dinámico y un sufijo de esquema para cada espacio de trabajo del repositorio:

  • ID de proyecto de Google Cloud: analytics_dev
  • Prefijo de tabla: ${workspaceName}
  • Sufijo del esquema: ${workspaceName}

Cuando Sasha activa manualmente la ejecución en el espacio de trabajo Sasha, Dataform ejecuta su contenido con los siguientes ajustes:

  • Google Cloud proyecto: analytics_dev
  • Esquema: dataform_sasha
  • Nombres de tabla: sasha_name, por ejemplo, sasha_orders

Cuando Kai activa manualmente la ejecución en el espacio de trabajo Kai, Dataform ejecuta su contenido con los siguientes ajustes:

  • Google Cloud proyecto: analytics_dev
  • Esquema: dataform_kai
  • Nombres de las tablas: kai_name, por ejemplo, kai_orders

Crear anulaciones de compilación de espacios de trabajo

Para crear anulaciones de compilación de espacios de trabajo de Dataform, sigue estos pasos:

  1. En tu repositorio, ve a Configuración.
  2. Haz clic en Editar.
  3. En el panel Sustituciones de compilación de Workspace, en el campo ID de proyecto de Google Cloud, introduce el ID del proyecto.
  4. En el campo Prefijo de tabla, introduce un prefijo para todos los nombres de tabla.
    1. Opcional: Para crear un prefijo de tabla dinámico que sea único para cada espacio de trabajo, introduzca ${workspaceName} como prefijo de tabla.
  5. En el campo Sufijo del esquema, introduzca un sufijo que se añadirá al esquema de la tabla o vista creada.
    1. Opcional: Para crear un sufijo de esquema dinámico que sea único para cada espacio de trabajo, introduzca ${workspaceName} como sufijo de tabla.
  6. Haz clic en Guardar.

Dataform aplica las anulaciones de compilación del espacio de trabajo a todos los espacios de trabajo de tu repositorio.

Editar las anulaciones de compilación del espacio de trabajo

Para editar las anulaciones de compilación de un espacio de trabajo de Dataform, sigue estos pasos:

  1. En tu repositorio, ve a Configuración.
  2. Haz clic en Editar.
  3. Edita las anulaciones de compilación del espacio de trabajo y haz clic en Guardar.

Eliminar las anulaciones de compilación del espacio de trabajo

Para eliminar las anulaciones de compilación de un espacio de trabajo de Dataform, sigue estos pasos:

  1. En tu repositorio, ve a Configuración.
  2. Haz clic en Editar.
  3. En el panel Sustituciones de compilación del espacio de trabajo, haga clic en Borrar todo y, a continuación, en Guardar.

Configurar anulaciones de compilación con la API de Dataform

En esta sección se muestra cómo crear y ejecutar un resultado de compilación con anulaciones de compilación mediante la API Dataform.

Acerca de las anulaciones de compilación de la API Dataform

Para ejecutar el flujo de trabajo, Dataform compila el código en SQL para crear un resultado de compilación. Después, durante una invocación de flujo de trabajo, Dataform ejecuta el resultado de la compilación en BigQuery.

De forma predeterminada, Dataform usa los ajustes del archivo de ajustes de flujo de trabajo para crear el resultado de la compilación. Para aislar los datos que se ejecutan en diferentes fases del ciclo de vida del desarrollo, puede anular los ajustes predeterminados con anulaciones de compilación.

Si envías solicitudes a la API de Dataform en el terminal, puedes crear y ejecutar un único resultado de compilación con anulaciones de compilación. Puedes crear un resultado de compilación de un espacio de trabajo o de un committish de Git seleccionado.

Para crear un resultado de compilación con anulaciones de compilación, debes enviar una solicitud a la API Dataform compilationResults.create. En la solicitud, debes especificar una fuente, que debe ser un espacio de trabajo o un commitish de Git, para que Dataform la compile en el resultado de la compilación. En el objeto CodeCompilationConfig de la solicitud compilationResults.create, puedes configurar las anulaciones de compilación.

Después, puedes ejecutar el resultado de la compilación creada en una solicitud a la API Dataform workflowInvocations.create.

Puede configurar las siguientes anulaciones de compilación mediante la API de Dataform:

Google Cloud proyecto
El proyecto en el que Dataform ejecuta el resultado de la compilación, definido en el archivo workflow_settings.yaml como propiedad defaultProject o en el archivo dataform.json como propiedad defaultDatabase.
Prefijo de tabla
El prefijo personalizado que se añade a todos los nombres de tabla del resultado de la compilación.
Sufijo del esquema
El sufijo personalizado que se añade al esquema de las tablas definidas en la propiedad defaultDataset del archivo workflow_settings.yaml, en la propiedad defaultSchema del archivo dataform.json o en el parámetro schema del bloque config de una tabla.
Valor de una variable de compilación
El valor de una variable de compilación que se va a usar en el resultado de la compilación. Puedes usar variables de compilación para ejecutar tablas de forma condicional.

Como alternativa a las anulaciones de compilación de la API Dataform, que solo puedes usar para un resultado de compilación, puedes configurar anulaciones de compilación del espacio de trabajo en la consola Google Cloud .

Para obtener información sobre otras formas de configurar las anulaciones de compilación en Dataform, consulta el artículo Introducción al ciclo de vida del flujo de trabajo en Dataform.

Definir una fuente de resultados de compilación

Para aumentar la solicitud de la API Dataform compilationResults.create, debe especificar una fuente para el resultado de la compilación.

Puedes definir un espacio de trabajo de Dataform o una rama, una etiqueta o un SHA de commit de Git como fuente en la solicitud compilationResults.create.

Definir un espacio de trabajo como fuente de resultados de compilación

  • En la solicitud compilationResults.create, rellena la propiedad workspace con la ruta de un espacio de trabajo de Dataform seleccionado con el siguiente formato:

    {
    "workspace": "projects/PROJECT_NAME/locations/LOCATION/repositories/REPOSITORY_NAME/workspaces/WORKSPACE_NAME"
    }
    

    Haz los cambios siguientes:

    • PROJECT_NAME: el nombre de tu proyecto Google Cloud .
    • LOCATION: la ubicación de tu repositorio de Dataform, que se define en la configuración del flujo de trabajo.
    • REPOSITORY_NAME: el nombre de tu repositorio de Dataform.
    • WORKSPACE_NAME: el nombre de tu espacio de trabajo de Dataform.

En el siguiente código de muestra se muestra la propiedad workspace de la solicitud compilationResults.create definida en un espacio de trabajo llamado "sales-test":

{
"workspace": "projects/analytics/locations/europe-west4/repositories/sales/workspaces/sales-test"
}

Definir un commitish de Git como origen de un resultado de compilación

  • En la solicitud compilationResults.create , rellena la propiedad gitCommitish con la rama de Git, la etiqueta o el SHA de confirmación seleccionados con el siguiente formato:

    {
      "gitCommitish": "GIT_COMMITISH"
    }
    

    Sustituye GIT_COMMITISH por la rama, la etiqueta o el SHA de confirmación de Git seleccionados para el resultado de la compilación.

En el siguiente código de ejemplo se muestra la propiedad gitCommitish de la solicitud compilationResults.create definida como "staging":

{
  "gitCommitish": "staging"
}

Anular el proyecto predeterminado

Para crear tablas de staging o de producción en un proyecto de Dataform independiente del proyecto que se usa para el desarrollo, puedes pasar un ID de proyecto diferente en el objeto CodeCompilationConfig de la solicitud compilationResults.create de la API de Dataform. Google Cloud

Si se envía un ID de proyecto predeterminado independiente en la solicitud compilationResults.create, se anula el ID de proyecto predeterminado configurado en el archivo de configuración del flujo de trabajo, pero no se anulan los IDs de proyecto configurados en tablas individuales.

  • Para anular el ID de proyecto predeterminado, asigna a la propiedad defaultDatabase el ID de proyecto seleccionado en el objeto CodeCompilationConfig con el siguiente formato:

    {
      "codeCompilationConfig": {
        "defaultDatabase": "PROJECT_NAME"
      }
    }
    

    Sustituye PROJECT_NAME por el ID del proyecto que quieras definir para el resultado de la compilación.

Añadir un prefijo de tabla

Para identificar rápidamente las tablas del resultado de la compilación, puede añadir un prefijo a todos los nombres de las tablas del resultado de la compilación. Para ello, debe enviar el prefijo de la tabla en el objeto CodeCompilationConfig de la API DataformcompilationResults.create en la solicitud.

  • Para añadir un prefijo de tabla, defina la propiedad tablePrefix en el objeto CodeCompilationConfig con el siguiente formato:

    {
      "codeCompilationConfig": {
        "tablePrefix": "PREFIX",
      }
    }
    

    Sustituye PREFIX por el prefijo que quieras añadir; por ejemplo, staging.

    Por ejemplo, si el nombre de la tabla es table_name, Dataform crea tablas con el nombre staging_table_name.

Añadir un sufijo de esquema

Para separar los datos de desarrollo, de preproducción y de producción, puede añadir un sufijo a los esquemas de un resultado de compilación. Para ello, debe pasar el sufijo del esquema en el objeto CodeCompilationConfig de la API DataformcompilationResults.create en la solicitud.

  • Para añadir un sufijo de esquema, define la propiedad schemaSuffix en el objeto CodeCompilationConfig con el siguiente formato:

    {
      "codeCompilationConfig": {
        "schemaSuffix": "SUFFIX",
      }
    }
    

    Sustituye SUFFIX por el sufijo que quieras añadir (por ejemplo, _staging).

    Por ejemplo, si la propiedad defaultDataset del archivo workflow_settings.yaml tiene el valor dataform, Dataform crea tablas en el esquema dataform_staging.

Ejecutar archivos seleccionados de forma condicional con variables de compilación

Para ejecutar una tabla seleccionada solo en un ajuste de ejecución específico, puedes crear una variable de compilación para el ajuste de ejecución y, a continuación, pasar su valor en el objeto CodeCompilationConfig de la API Dataform compilationResults.create.

Para ejecutar una tabla de forma condicional en un ajuste de ejecución específico mediante la API Dataform, sigue estos pasos:

  1. Crea una variable de compilación y añádela a las tablas seleccionadas.
  2. Define el par clave-valor YOUR_VARIABLE y VALUE en el bloque codeCompilationConfig de una solicitud de compilación de la API Dataform con el siguiente formato:

    {
      "codeCompilationConfig": {
        "vars": {
          "YOUR_VARIABLE": "VALUE"
        }
      }
    }
    
  3. Sustituye YOUR_VARIABLE por el nombre de tu variable (por ejemplo, executionSetting).

  4. Sustituye VALUE por el valor de la variable de esta compilación que cumpla la condición when definida en las tablas seleccionadas.

En el siguiente código de ejemplo se muestra la variable executionSetting que se ha pasado a una solicitud de compilación de la API Dataform:

{
  "gitCommitish": "staging",
  "codeCompilationConfig": {
    "vars": {
      "executionSetting": "staging"
    }
  }
}

Ejecutar un resultado de compilación con anulaciones de compilación

En el siguiente código de ejemplo se muestra un ID de resultado de compilación que se ha enviado en una solicitud workflowInvocations.create:

{
  "compilationResult": "projects/my-project-name/locations/europe-west4/repositories/my-repository-name/compilationResults/7646b4ed-ac8e-447f-93cf-63c43249ff11"
}

Crear una configuración de lanzamiento

En las siguientes secciones se explica cómo crear una configuración de lanzamiento en Dataform para configurar plantillas de ajustes de compilación, que puedes ejecutar de forma programada. Puedes usar configuraciones de lanzamiento para configurar entornos de ejecución, como los de preproducción y producción.

Para ejecutar flujos de trabajo en BigQuery, Dataform compila el código de flujo de trabajo de SQL en un resultado de compilación. Este proceso se lleva a cabo automáticamente cuando desarrollas un flujo de trabajo en un espacio de trabajo de Dataform.

Las configuraciones de lanzamiento te permiten personalizar los resultados de la compilación. Puedes usarlos para crear entornos de ejecución, como el de preproducción.

Ajustes de configuración de la versión

En una configuración de lanzamiento, puedes configurar anulaciones de compilación de ajustes de flujo de trabajo, definir variables de compilación y establecer la frecuencia de creación de resultados de compilación.

Una configuración de lanzamiento de Dataform contiene los siguientes ajustes de compilación:

Ajustes de lanzamiento
El ID de la versión, el commitish de Git de los resultados de compilación y la frecuencia con la que se crean los resultados de compilación. La frecuencia es un ajuste opcional. Si se define, la frecuencia mínima es de 1 hora.
Anulaciones de compilación
Sustituciones del Google Cloud proyecto, prefijo de tabla, sufijo de esquema y variables de compilación definidas en los ajustes del flujo de trabajo.

Cómo funciona una configuración de lanzamiento

Dataform crea resultados de compilación a partir de una configuración de lanzamiento con la frecuencia especificada o cuando se activa la compilación. La frecuencia es un ajuste opcional y no es obligatorio para crear una configuración de lanzamiento. Si se define, la frecuencia mínima es de 1 hora. Puedes activar manualmente la compilación en la página Detalles de configuración de la versión o con el método API de Dataform releaseConfigs.

Durante la compilación, Dataform extrae el código del commitish de Git especificado de tu repositorio. A continuación, Dataform compila el código con las anulaciones de compilación aplicadas (si las hay) y crea el resultado de la compilación. El resultado de compilación más reciente creado para la configuración de lanzamiento es el resultado de compilación activo.

Puedes programar ejecuciones de resultados de compilación desde configuraciones de lanzamiento en configuraciones de flujo de trabajo. También puedes ejecutar una configuración de lanzamiento seleccionada fuera de cualquier programación. Durante la ejecución de una configuración de flujo de trabajo, Dataform ejecuta el resultado de la compilación activa de la configuración de lanzamiento seleccionada.

Crear una configuración de lanzamiento

Para crear una configuración de lanzamiento de Dataform, sigue estos pasos:

  1. En tu repositorio, ve a Lanzamientos y programación.
  2. En la sección Release configurations (Configuraciones de lanzamiento), haz clic en Create (Crear).
  3. En el panel Crear configuración de lanzamiento, configura los ajustes de lanzamiento.

    1. En el campo Release ID (ID de lanzamiento), introduce un ID único para la configuración del lanzamiento.

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

    2. En el campo Git commitish, introduce la rama de Git o el SHA de la confirmación de Git de la versión.

      En un repositorio de Dataform que no esté conectado a un repositorio remoto, el valor siempre es main.

    3. Opcional: En el campo Frecuencia, selecciona la frecuencia con la que se crearán los resultados de la compilación.

      Si se define, la frecuencia mínima es de 1 hora.

      Para inhabilitar las versiones automáticas, deja vacío el campo Frecuencia.

  4. Opcional: En la sección Sustituciones de compilación, configure los ajustes de compilación.

    1. En el campo ID de proyecto de Google Cloud, introduce el ID del proyecto en el que quieras almacenar el resultado de la compilación.Google Cloud
    2. En el campo Sufijo del esquema, introduce un sufijo que se añadirá al esquema configurado en los ajustes del flujo de trabajo.
    3. En el campo Prefijo de tabla, introduce un prefijo para todos los nombres de tabla.
  5. Opcional: En la sección Variables de compilación, defina las variables de compilación.

    1. Haga clic en Añadir variable.
    2. En el campo Clave, introduzca la variable de compilación.
    3. En el campo Valor, introduce el valor de la variable de compilación.
    4. Para añadir otra variable de compilación, haga clic en Añadir variable.
  6. Haz clic en Crear.

Si anulas el proyecto predeterminado, asegúrate de que tu cuenta de servicio de Dataform tiene acceso al proyecto definido en la configuración de la versión.

Por ejemplo, la siguiente configuración de lanzamiento crea un resultado de compilación production de la rama main cada hora, sin ninguna invalidación de compilación:

  • ID de la versión: production
  • Git commitish: main
  • Frecuencia: cada hora
  • No hay anulaciones de compilación

Ver los detalles de una configuración de lanzamiento

Puedes ver los siguientes detalles de una configuración de lanzamiento:

  • Ajustes de lanzamiento
    • Git commitish
    • Marca de tiempo del resultado de la última compilación
    • Programación cron
    • Anulaciones de compilación
    • Variables de compilación
  • Resultado de la compilación en directo
    • Marca de tiempo de creación
    • Git commitish
    • SHA de la confirmación
  • Resultados de compilaciones anteriores

Para ver los detalles de una configuración de lanzamiento, sigue estos pasos:

  1. En tu repositorio, ve a Lanzamientos y programación.
  2. Selecciona una configuración de lanzamiento.
  3. En la página Release configuration details (Detalles de la configuración de lanzamiento), consulta los detalles de la configuración de lanzamiento.

En la tabla Resultados de compilación programada se muestran los resultados de compilaciones anteriores creados automáticamente por la configuración de lanzamiento.

En la tabla Resultados de compilación manual o de API se muestran los resultados de compilación creados manualmente o mediante llamadas a la API Dataform de los últimos 1000 resultados de compilación del repositorio.

Activar la compilación manualmente

Para crear manualmente un resultado de compilación a partir de una configuración de lanzamiento seleccionada, sigue estos pasos:

  1. En tu repositorio, ve a Lanzamientos y programación.
  2. Selecciona una configuración de lanzamiento.
  3. En la página Release configuration details (Detalles de la configuración de la versión), haga clic en New compilation (Nueva compilación).

Si usas la interfaz de usuario, el resultado recién compilado se publicará automáticamente en tu configuración de lanzamiento. Si usas la API, debes crear un nuevo resultado de compilación a partir de la configuración de la versión y, a continuación, actualizar la configuración de la versión para definir el campo releaseCompilationResult con este nuevo valor.

Los resultados de la compilación manual se muestran en la tabla Resultados de compilación manual o de API de la página Detalles de la configuración de lanzamiento.

Activa la ejecución de una configuración de lanzamiento

Para activar la ejecución del resultado de la compilación en directo en una configuración de lanzamiento seleccionada en BigQuery, sigue estos pasos:

  1. En tu repositorio, ve a Lanzamientos y programación.
  2. En la sección Configuraciones de lanzamiento, haz clic en Iniciar ejecución.
  3. En el panel Ejecutar flujo de trabajo manual, en la lista Configuración de lanzamiento, selecciona una configuración de lanzamiento.
  4. Selecciona las acciones del flujo de trabajo que quieras ejecutar:
    1. Para ejecutar todo el flujo de trabajo, haz clic en Todas las acciones.
    2. Para ejecutar las acciones seleccionadas del flujo de trabajo, haz clic en Selección de acciones y, a continuación, selecciona las acciones.
    3. Para ejecutar acciones con las etiquetas seleccionadas, haga clic en Selección de etiquetas y, a continuación, seleccione las etiquetas.
  5. Opcional: Para ejecutar las acciones o etiquetas seleccionadas y sus dependencias, selecciona la opción Incluir dependencias.
  6. Opcional: Para ejecutar las acciones o etiquetas seleccionadas y sus elementos dependientes, selecciona la opción Incluir elementos dependientes.
  7. Opcional: Para volver a crear todas las tablas desde cero, selecciona la opción Ejecutar con actualización completa.

    Si no se usa esta opción, Dataform actualiza las tablas incrementales sin tener que volver a crearlas desde cero.

  8. Haz clic en Iniciar ejecución.

Editar una configuración de lanzamiento

Para editar una configuración de lanzamiento, sigue estos pasos:

  1. En tu repositorio, ve a Lanzamientos y programación.
  2. En la configuración de la versión que quieras editar, haz clic en el menú Más y, a continuación, en Editar.
  3. En el panel Editar configuración de lanzamiento, edita los ajustes de configuración de lanzamiento y, a continuación, haz clic en Guardar.

Eliminar una configuración de lanzamiento

Para eliminar una configuración de lanzamiento, sigue estos pasos:

  1. En tu repositorio, ve a Lanzamientos y programación.
  2. Junto a la configuración de lanzamiento que quieras eliminar, haz clic en el menú Más y, a continuación, en Eliminar.
  3. En el cuadro de diálogo Eliminar configuración de lanzamiento, haz clic en Eliminar.

Siguientes pasos