Configura compilaciones

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

Antes de comenzar

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

    Ir a Dataform

  2. Selecciona o crea un repositorio.

  3. Selecciona o crea un espacio de trabajo de desarrollo.

  4. Opcional: Para anular el proyecto de Google Cloud predeterminado en la configuración de la versión, otorga acceso a tu cuenta de servicio personalizada en el proyecto que planeas usar.

Roles obligatorios

Para obtener los permisos que necesitas para completar las tareas de este documento, pídele a tu administrador que te otorgue los siguientes roles de IAM:

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

También puedes obtener los permisos necesarios a través de roles personalizados o cualquier otro rol predefinido.

Para mejorar la seguridad de la programación, consulta Implementa permisos de programación mejorados.

Para poder actualizar la versión de actualización de una configuración de versión de un repositorio de Dataform, debes otorgar el permiso iam.serviceAccounts.actAs al agente de servicio de Dataform para cada cuenta de servicio personalizada en las configuraciones de flujo de trabajo que usan esta configuración de versión. Este permiso está disponible en el rol de usuario de cuenta de servicio (roles/iam.serviceAccountUser). Para obtener más información, consulta Otorga los roles de IAM necesarios.

Introducción al ciclo de vida del flujo de trabajo en Dataform

En esta sección, se describe el ciclo de vida del flujo 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.
Compilación

Dataform compila el código del flujo de trabajo en tu espacio de trabajo a SQL en tiempo real, lo que crea un resultado de compilación del espacio de trabajo que puedes ejecutar en BigQuery. Dataform usa la configuración que defines 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 garantizar la coherencia de la compilación, lo que significa que el mismo código se compila con el mismo resultado de compilación de SQL en todo momento. Dataform compila tu código en un entorno de zona de pruebas sin acceso a Internet. No hay acciones adicionales disponibles durante la compilación, como llamar a APIs externas.

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 Dataform ejecuta tu flujo de trabajo. Luego, puedes activar o programar ejecuciones de forma manual para influir en el momento en que Dataform ejecuta todo tu flujo de trabajo o los elementos seleccionados.

Formas de configurar la compilación de Dataform

De forma predeterminada, Dataform usa la configuración del archivo de configuración del flujo de trabajo para crear resultados de compilación. Puedes anular la configuración predeterminada con anulaciones de compilación para crear resultados de compilación personalizados. Luego, puedes activar de forma manual una ejecución de un resultado de compilación personalizado o programar ejecuciones.

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

Anulaciones de compilación de espacios de trabajo
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.
Configuración de versiones
Puedes crear parámetros de configuración de versiones para configurar plantillas que creen resultados de compilación de un repositorio de Dataform. Luego, puedes crear un parámetro de configuración de flujo de trabajo para programar ejecuciones de resultados de compilación creados en un parámetro de configuración de lanzamiento seleccionado.
Anulaciones de compilación de la API de Dataform
Puedes pasar solicitudes a la API de Dataform en la terminal para crear y ejecutar un solo resultado de compilación con anulaciones de compilación.

Configura anulaciones de compilación de espacios de trabajo

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

Cuando activas una ejecución de forma manual en un lugar de trabajo en un repositorio con anulaciones de compilación de lugares de trabajo, Dataform aplica estas anulaciones al resultado de la compilación del lugar de trabajo.

Puedes configurar las siguientes anulaciones de compilación de espacios de trabajo:

  • Google Cloud Es el proyecto en el que Dataform ejecuta el contenido del espacio de trabajo.
  • Prefijo de la tabla
  • Sufijo de esquema

Puedes usar anulaciones de compilación de lugares de trabajo para crear entornos de desarrollo aislados, ya que aíslan los resultados de la compilación de los lugares de trabajo en BigQuery con anulaciones de compilación dinámicas. Las anulaciones de compilación del prefijo de tabla dinámico y del sufijo de esquema contienen la variable ${workspaceName}. Cuando activas una ejecución en un espacio de trabajo, Dataform reemplaza la variable ${workspaceName} por el nombre del espacio de trabajo actual, lo que crea anulaciones de compilación exclusivas del espacio de trabajo.

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

Crea parámetros de configuración del lanzamiento

Con los parámetros de configuración de versiones, puedes configurar plantillas de parámetros para crear resultados de compilación de repositorios.

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

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

Puedes crear varios parámetros de configuración de versiones en un repositorio de Dataform, uno para cada etapa del ciclo de vida de desarrollo, lo que genera resultados de compilación de repositorios aislados.

Luego, puedes crear parámetros de configuración de flujo de trabajo para programar ejecuciones de los resultados de compilación creados en un parámetro de configuración de lanzamiento seleccionado.

También puedes activar de forma manual la ejecución de un resultado de compilación en una configuración de versión seleccionada.

Configura un solo resultado de compilación con las anulaciones de compilación de la API de Dataform

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

En la solicitud compilationResults.create, puedes crear un solo resultado de compilación de un espacio de trabajo de Dataform o una confirmación de Git especificada, que puede ser una rama, una etiqueta o un SHA de confirmación.

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

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

Ten en cuenta que las anulaciones de compilación de la API de 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 proporciona las siguientes opciones para configurar la ejecución:

Ejecución manual en un espacio de trabajo
Puedes activar de forma manual la ejecución instantánea de un flujo de trabajo en un lugar de trabajo de Dataform, fuera de cualquier programa. Puedes ejecutar las acciones seleccionadas en el flujo de trabajo.
Configuración del flujo de trabajo
Puedes programar ejecuciones de los resultados de la compilación creados en una configuración de versión seleccionada. Puedes seleccionar las acciones de flujo de trabajo que se ejecutarán y establecer la frecuencia y la zona horaria de las ejecuciones.

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

En un espacio de trabajo de Dataform, puedes activar de forma manual la ejecución instantánea de un flujo de trabajo en tu espacio de trabajo, fuera de cualquier programa.

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

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

Crea parámetros de configuración del flujo de trabajo

Con los parámetros de configuración del flujo de trabajo, puedes programar ejecuciones de resultados de compilación desde un parámetro de configuración de lanzamiento seleccionado. Puedes crear varios parámetros de configuración de flujo de trabajo en un repositorio de Dataform.

En una configuración de flujo de trabajo, puedes establecer los siguientes parámetros de ejecución:

  • Se aplicó la configuración de lanzamiento de la compilación.
  • Selección de acciones del flujo de trabajo que se ejecutarán.
  • Programa 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 las etiquetas seleccionadas

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

Los parámetros de configuración de versiones y de flujos de trabajo de Dataform te permiten configurar la compilación y programar las ejecuciones dentro de Dataform, sin necesidad de 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 período específico.

Vencimiento de las invocaciones de flujos de trabajo

Las invocaciones de flujo de trabajo vencen después de 90 días o cuando las borras de forma manual.

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 quita esa invocación de flujo de trabajo de la lista de invocaciones recientes.

Vencimiento de los resultados de la compilación

El vencimiento de los resultados de la compilación depende de si se crearon 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 proporcionar validación de consultas. Los resultados de la compilación creados de esta manera vencen después de 24 horas.

En una configuración de lanzamiento, el resultado de la compilación más reciente se convierte en el resultado de la compilación en vivo. Un resultado de compilación nuevo reemplaza el resultado de compilación en vivo actual. Dataform conserva el resultado de la compilación en vivo hasta que se reemplaza por un resultado de compilación nuevo. Un resultado de compilación reemplazado vence en un plazo de hasta 24 horas.

Dataform quita los resultados de compilación vencidos de la lista de resultados de compilación anteriores en la página Detalles de una configuración de versión.

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

Crea anulaciones de compilación de espacios de trabajo

En esta sección, se muestra cómo crear anulaciones de compilación de espacios de trabajo para aislar las tablas y vistas creadas a partir de tus espacios de trabajo de Dataform en BigQuery. Puedes usar anulaciones de compilación del lugar 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 en tu espacio de trabajo en tiempo real para crear un resultado de compilación del espacio de trabajo. Dataform usa la configuración definida en el archivo de configuración del flujo de trabajo para crear el resultado de la compilación del espacio de trabajo. Luego, 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 la configuración predeterminada establecida en la configuración del flujo de trabajo para 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 parámetros de configuración para todos los espacios de trabajo de tu repositorio:

Proyecto

El proyecto de Google Cloud en el que Dataform ejecuta el resultado de la compilación del espacio de trabajo, establecido en workflow_settings.yaml como defaultProject o en dataform.json como defaultDatabase.

Prefijo de la tabla

Es el prefijo personalizado que se agrega a todos los nombres de tablas en todos los espacios de trabajo del repositorio.

Sufijo de esquema

Es el sufijo personalizado que se agrega al esquema de las tablas. Se establece como defaultDataset en workflow_settings.yaml, defaultSchema en dataform.json o en el parámetro schema en el bloque config de una tabla.

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

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

Cuando configuras ${workspaceName} como el prefijo de la tabla, Dataform agrega 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 proviene una tabla.

Cuando configuras ${workspaceName} como el sufijo del esquema, Dataform agrega el nombre del espacio de trabajo a defaultSchema, lo que crea un esquema personalizado dedicado al espacio de trabajo. Después de la ejecución, en BigQuery, puedes ubicar todas las tablas que se ejecutan desde un espacio de trabajo específico en el esquema dedicado.

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

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 los nombres 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.

La siguiente configuración predeterminada se establece en workflow_settings.yaml:

  • defaultProject: analytics
  • defaultDataset: dataform

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

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

Cuando Sasha activa de forma manual la ejecución en el espacio de trabajo Sasha, Dataform ejecuta su contenido con los siguientes parámetros de configuración:

  • Google Cloud project: analytics_dev
  • Esquema: dataform_sasha
  • Nombres de tablas: sasha_name, por ejemplo, sasha_orders

Cuando Kai activa de forma manual la ejecución en el lugar de trabajo Kai, Dataform ejecuta su contenido con los siguientes parámetros de configuración:

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

Crea 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 Anulaciones de compilación del espacio de trabajo, en el campo ID del proyecto de Google Cloud, ingresa el ID del proyecto.
  4. En el campo Prefijo de tabla, ingresa un prefijo para todos los nombres de tabla.
    1. Opcional: Para crear un prefijo de tabla dinámico que sea único para cada lugar de trabajo, ingresa ${workspaceName} como prefijo de la tabla.
  5. En el campo Sufijo del esquema, ingresa un sufijo para agregar al esquema de la tabla o vista creada.
    1. Opcional: Para crear un sufijo de esquema dinámico que sea único para cada lugar de trabajo, ingresa ${workspaceName} como sufijo de la tabla.
  6. Haz clic en Guardar.

Dataform aplica anulaciones de compilación de lugares de trabajo a todos los lugares de trabajo en tu repositorio.

Edita las anulaciones de compilación del espacio de trabajo

Para editar las anulaciones de compilación del 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, luego, haz clic en Guardar.

Borra las anulaciones de compilación del espacio de trabajo

Para borrar las anulaciones de compilación del lugar de trabajo de Dataform, sigue estos pasos:

  1. En tu repositorio, ve a Configuración.
  2. Haz clic en Editar.
  3. En el panel Anulaciones de compilación de espacio de trabajo, haz clic en Borrar todo y, luego, en Guardar.

Configura 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 con la API de Dataform.

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

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

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

Si pasas solicitudes a la API de Dataform en la terminal, puedes crear y ejecutar un solo resultado de compilación con anulaciones de compilación. Puedes crear un resultado de compilación de un espacio de trabajo o de un commitish de Git seleccionado, como una rama, una etiqueta o un SHA de confirmación.

Para crear un resultado de compilación con anulaciones de compilación, debes generar la solicitud compilationResults.create de la API de Dataform. En la solicitud, debes especificar una fuente, que debe ser un espacio de trabajo o una confirmación 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 anulaciones de compilación.

Luego, puedes ejecutar el resultado de la compilación creado en una solicitud workflowInvocations.create de la API de Dataform.

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

Proyecto deGoogle Cloud

Es el proyecto en el que Dataform ejecuta el resultado de la compilación, establecido en el archivo workflow_settings.yaml como la propiedad defaultProject o en el archivo dataform.json como la propiedad defaultDatabase.

Prefijo de la tabla

Es el prefijo personalizado que se agrega a todos los nombres de tablas en el resultado de la compilación.

Sufijo de esquema

Es el sufijo personalizado que se agrega al esquema de las tablas definidas en la propiedad defaultDataset del archivo workflow_settings.yaml, 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

Es el valor de una variable de compilación que se 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 de Dataform que solo puedes usar para un resultado de compilación, puedes configurar anulaciones de compilación de espacios de trabajo en la consola de Google Cloud .

Para obtener información sobre formas alternativas de configurar anulaciones de compilación en Dataform, consulta Introducción al ciclo de vida del flujo de trabajo en Dataform.

Establece una fuente de resultados de compilación

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

Puedes establecer un espacio de trabajo de Dataform o una rama de Git, una etiqueta de Git o un SHA de confirmación de Git como la fuente en la solicitud compilationResults.create.

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

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

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

    Reemplaza lo siguiente:

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

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

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

Establece un commitish de Git como fuente de resultados de compilación

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

    {
      "gitCommitish": "GIT_COMMITISH"
    }
    

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

En la siguiente muestra de código, se observa la propiedad gitCommitish en la solicitud compilationResults.create establecida en "staging":

{
  "gitCommitish": "staging"
}

Anula el proyecto predeterminado

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

Pasar un ID del proyecto predeterminado independiente en la solicitud compilationResults.create anula el ID del proyecto predeterminado configurado en el archivo de configuración del flujo de trabajo, pero no anula los ID del proyecto configurados en tablas individuales.

  • Para anular el ID del proyecto predeterminado, establece la propiedad defaultDatabase en el ID del proyecto seleccionado en el objeto CodeCompilationConfig con el siguiente formato:

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

    Reemplaza PROJECT_NAME por el ID del proyecto que deseas establecer para el resultado de la compilación.

Agrega un prefijo de tabla

Para identificar con rapidez las tablas del resultado de la compilación, puedes agregar un prefijo a todos los nombres de las tablas en el resultado de la compilación pasando el prefijo de la tabla en el objeto CodeCompilationConfig en la solicitud compilationResults.create de la API de Dataform.

  • Para agregar un prefijo de tabla, establece la propiedad tablePrefix en el objeto CodeCompilationConfig con el siguiente formato:

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

    Reemplaza PREFIX por el prefijo que deseas agregar, por ejemplo, staging.

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

Agrega un sufijo de esquema

Para separar los datos de desarrollo, etapa de pruebas y producción, puedes agregar un sufijo a los esquemas en un resultado de compilación pasando el sufijo del esquema en el objeto CodeCompilationConfig en la solicitud compilationResults.create de la API de Dataform.

  • Para agregar un sufijo de esquema, establece la propiedad schemaSuffix en el objeto CodeCompilationConfig con el siguiente formato:

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

    Reemplaza SUFFIX por el sufijo que deseas agregar, por ejemplo, _staging.

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

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

Para ejecutar una tabla seleccionada solo en un parámetro de configuración de ejecución específico, puedes crear una variable de compilación para el parámetro de configuración de ejecución y, luego, pasar su valor en el objeto CodeCompilationConfig en la solicitud compilationResults.create de la API de Dataform.

Para ejecutar una tabla de forma condicional en un parámetro de configuración de ejecución específico con la API de Dataform, sigue estos pasos:

  1. Crea una variable de compilación y agrégala a las tablas seleccionadas.
  2. Establece el par clave-valor YOUR_VARIABLE y VALUE en el bloque codeCompilationConfig de una solicitud de compilación de la API de Dataform en el siguiente formato:

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

  4. Reemplaza VALUE por el valor de la variable para este resultado de compilación que cumple con la condición when establecida en las tablas seleccionadas.

En la siguiente muestra de código, se indica la variable executionSetting que se pasa a una solicitud de compilación de la API de Dataform:

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

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

En la siguiente muestra de código, se indica un ID de resultado de compilación que se pasa en una solicitud workflowInvocations.create:

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

Crea una configuración de lanzamiento

En esta sección, se muestra cómo crear una configuración de versión en Dataform para configurar plantillas de parámetros de compilación, que puedes ejecutar según un programa. Puedes usar las configuraciones de lanzamiento para configurar entornos de ejecución, por ejemplo, de etapa de pruebas y producción.

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

Los parámetros de configuración de lanzamiento te permiten personalizar los resultados de la compilación. Puedes usarlos para crear entornos de ejecución, por ejemplo, de etapa de pruebas.

Configuración de la versión

En una configuración de lanzamiento, puedes establecer anulaciones de compilación de la configuración del flujo de trabajo, establecer variables de compilación y establecer la frecuencia con la que se crean los resultados de la compilación.

Una configuración de lanzamiento de Dataform contiene los siguientes parámetros de configuración de compilación:

Configuración de la versión
El ID de la versión, el commitish de Git para los resultados de la compilación, como una rama, una etiqueta o un SHA de confirmación, y la frecuencia con la que se crean los resultados de la compilación. La frecuencia es un parámetro de configuración opcional. Si se establece, la frecuencia mínima es de 1 hora.
Anulaciones de compilación
Anulaciones del proyecto deGoogle Cloud , el prefijo de la tabla, el sufijo del esquema y las variables de compilación definidas en la configuración del flujo de trabajo.

Cómo funciona una configuración de lanzamiento

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

Durante la compilación, Dataform extrae el código del commitish de Git especificado de tu repositorio. Luego, 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 la compilación más reciente que se creó para la configuración de la versión es el resultado de la compilación en vivo.

Puedes programar ejecuciones de resultados de compilación a partir de parámetros de configuración de versiones en parámetros de configuración de flujos de trabajo. También puedes ejecutar una configuración de lanzamiento seleccionada fuera de cualquier programa. Durante la ejecución de una configuración de flujo de trabajo, Dataform ejecuta el resultado de la compilación en vivo de la configuración de lanzamiento seleccionada.

Crea una configuración de lanzamiento

Para crear un parámetro de configuración de versión de Dataform, sigue estos pasos:

  1. En tu repositorio, ve a Lanzamientos y programación.
  2. En la sección Configuraciones de lanzamiento, haz clic en Crear.
  3. En el panel Crear configuración de la versión, define los parámetros de configuración de la versión.

    1. En el campo ID de versión, ingresa un ID único para la configuración de la versión.

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

    2. En el campo Commitish de Git, ingresa una rama, como main, una etiqueta o un SHA de confirmación para 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 crean los resultados de la compilación.

      Si se establece, 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 Anulaciones de compilación, establece la configuración de compilación.

    1. En el campo ID del proyecto de Google Cloud, ingresa el ID del proyecto deGoogle Cloud en el que deseas almacenar el resultado de la compilación.
    2. En el campo Sufijo de esquema, ingresa un sufijo para agregarlo al esquema configurado en la configuración del flujo de trabajo.
    3. En el campo Prefijo de tabla, ingresa un prefijo para todos los nombres de tabla.
  5. Opcional: En la sección Variables de compilación, establece las variables de compilación.

    1. Haz clic en Agregar variable.
    2. En el campo Clave, ingresa la variable de compilación.
    3. En el campo Valor, ingresa el valor de la variable de compilación.
    4. Para agregar otra variable de compilación, haz clic en Agregar variable.
  6. Haz clic en Crear.

Si anulas el proyecto predeterminado, asegúrate de que tu cuenta de servicio personalizada tenga acceso al proyecto establecido en la configuración de la versión.

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

  • ID de lanzamiento: production
  • Confirmación de Git: main
  • Frecuencia: cada hora
  • No hay anulaciones de compilación

Visualiza los detalles de una configuración de lanzamiento

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

  • Configuración de la versión
    • Commitish de Git
    • Marca de tiempo del resultado de la compilación más reciente
    • Programa de cron
    • Anulaciones de compilación
    • Variables de compilación
  • Resultado de la compilación en vivo
    • Marca de tiempo de creación
    • Commitish de Git
    • SHA de 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 Detalles de la configuración de la versión, inspecciona los detalles de la configuración de la versión.

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

En la tabla Resultados de compilación manual/con API, se muestran los resultados de compilación creados de forma manual o a través de llamadas a la API de Dataform de los últimos 1,000 resultados de compilación del repositorio.

Activa la compilación de forma manual

Para crear de forma manual un resultado de compilación a partir de un parámetro de configuración de versión seleccionado, 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 Detalles de la configuración de la versión, haz clic en Nueva compilación.

Si usas la IU, un resultado compilado recientemente se publicará automáticamente para tu configuración de lanzamiento. Si usas la API, debes crear un resultado de compilación nuevo a partir de la configuración de la versión y, luego, actualizar la configuración de la versión para establecer el campo releaseCompilationResult con este valor nuevo.

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

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

Para activar la ejecución del resultado de la compilación en vivo en una configuración de versión 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 la versión, selecciona una configuración de versión.
  4. Selecciona las acciones del flujo de trabajo que se ejecutarán:
    1. Para ejecutar todo el flujo de trabajo, haz clic en Todas las acciones.
    2. Para ejecutar las acciones seleccionadas en el flujo de trabajo, haz clic en Selección de acciones y, luego, selecciona las acciones.
    3. Para ejecutar acciones con las etiquetas seleccionadas, haz clic en Selección de etiquetas y, luego, selecciona 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 dependientes, selecciona la opción Incluir dependientes.
  7. Opcional: Para volver a compilar todas las tablas desde cero, selecciona la opción Ejecutar con actualización completa.

    Sin esta opción, Dataform actualiza las tablas incrementales sin volver a crearlas desde cero.

  8. Haz clic en Iniciar ejecución.

Edita 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 deseas editar, haz clic en el menú Más y, luego, en Editar.
  3. En el panel Editar configuración de la versión, edita los parámetros de configuración de la versión y, luego, haz clic en Guardar.

Borra una configuración de lanzamiento

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

  1. En tu repositorio, ve a Versiones y programación.
  2. En la configuración de la versión que quieres borrar, haz clic en el menú Más y, luego, en Borrar.
  3. En el cuadro de diálogo Borrar configuración de lanzamiento, haz clic en Borrar.

¿Qué sigue?