En este documento, se muestra cómo hacer lo siguiente en Dataform:
- Comprende el ciclo de vida del código en Dataform.
- Crea anulaciones de compilación de lugares de trabajo.
- Configura anulaciones de compilación con la API de Dataform.
- Crea una configuración de lanzamiento.
Antes de comenzar
En la consola de Google Cloud, ve a la página Dataform.
Selecciona o crea un repositorio.
Selecciona o crea un lugar de trabajo de desarrollo.
Opcional: Para anular el proyecto de Google Cloud predeterminado en la configuración de la versión, otorga acceso a tu cuenta de servicio de Dataform al 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 en los repositorios:
-
Administrador de Dataform (
roles/dataform.admin
) -
Editor de Dataform (
roles/dataform.editor
)
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 mediante roles personalizados o cualquier otro rol predefinido.
Introducción al ciclo de vida del código en Dataform
En esta sección, se describe el ciclo de vida del código en Dataform y las formas de configurar la compilación y la ejecución en Dataform.
El ciclo de vida del código 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 lugar de trabajo a SQL en tiempo real, lo que crea un resultado de compilación del lugar 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 en el mismo resultado de compilación de SQL cada vez. Dataform compila tu código en un entorno de zona de pruebas sin acceso a Internet. No hay acciones adicionales, como llamar a APIs externas, disponibles durante la compilación.
- Ejecución
En una invocación de flujo de trabajo, Dataform ejecuta el resultado de la compilación del lugar de trabajo en BigQuery.
Para adaptar el ciclo de vida del código 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 manualmente para influir en cuándo Dataform ejecuta todo tu flujo de trabajo o sus 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 la ejecución de un resultado de compilación personalizado o programar ejecuciones.
Dataform proporciona las siguientes opciones para configurar los resultados de compilación:
- Anulaciones de compilación de lugares de trabajo
- Puedes configurar anulaciones de compilación que se apliquen a todos los lugares de trabajo en un repositorio. Puedes usar anulaciones de compilación de lugares de trabajo para crear entornos de desarrollo aislados.
- Configuraciones de lanzamiento
- Puedes crear parámetros de configuración de lanzamiento para configurar plantillas para crear resultados de compilación de un repositorio de Dataform. Luego, 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.
- 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 resultado de compilación único con anulaciones de compilación.
Configura anulaciones de compilación de espacios de trabajo
Con las anulaciones de compilación de lugares de trabajo, puedes crear anulaciones de compilación para todos los lugares 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 de forma manual una ejecución 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:
- Es el proyecto de Google Cloud en el que Dataform ejecuta el contenido del lugar 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. Para ello, aísla los resultados de la compilación del lugar de trabajo en BigQuery
con anulaciones de compilación dinámicas. Las anulaciones de compilación del prefijo de la tabla y del sufijo del esquema dinámicos contienen la variable ${workspaceName}
.
Cuando activas una ejecución en un lugar de trabajo, Dataform reemplaza la
varibale ${workspaceName}
con el nombre del lugar de trabajo actual y crea
anulaciones de compilación únicas para el lugar de trabajo.
Ten en cuenta que no puedes programar ejecuciones de resultados de compilación creados con anulaciones de compilación de lugares de trabajo.
Crea parámetros de configuración de lanzamiento
Con las configuraciones de lanzamiento, puedes configurar plantillas de parámetros de configuración 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 tu repositorio.
En una configuración de lanzamiento, puedes configurar las siguientes anulaciones de compilación:
- Proyecto de Google Cloud
- Prefijo de la tabla
- Sufijo de esquema
- Valor de una variable de compilación
Puedes crear varias configuraciones de lanzamiento en un repositorio de Dataform, una para cada etapa de tu ciclo de vida de desarrollo, lo que crea resultados de compilación de repositorio aislados.
Luego, puedes crear parámetros de configuración de flujo de trabajo para programar ejecuciones de los resultados de compilación creados en una configuración de lanzamiento seleccionada.
También puedes activar manualmente la ejecución de un resultado de compilación en una configuración de lanzamiento seleccionada.
Configura un solo resultado de compilación con anulaciones de compilación de la API de Dataform
Si pasas solicitudes de 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 lugar de trabajo de Dataform o un commit de Git especificado.
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:
- Proyecto de Google Cloud
- Prefijo de la tabla
- Sufijo de esquema
- Valor de una variable de compilación
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 lugar 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 acciones seleccionadas en el flujo de trabajo.
- Parámetros de configuración del flujo de trabajo
- Puedes programar ejecuciones de resultados de compilación creados en una configuración de lanzamiento seleccionada. Puedes seleccionar las acciones de flujo de trabajo que se ejecutarán y configurar la frecuencia y la zona horaria de las ejecuciones.
Cómo activar la ejecución instantánea en un lugar de trabajo
En un lugar de trabajo de Dataform, puedes activar de forma manual la ejecución instantánea de un flujo de trabajo en tu lugar de trabajo, fuera de cualquier programa.
Puedes ejecutar manualmente los siguientes elementos del flujo de trabajo en tu espacio de trabajo:
Si tu repositorio contiene anulaciones de compilación de lugares de trabajo, puedes ver qué anulaciones de compilación aplicará Dataform al resultado de la compilación del lugar de trabajo.
Crea configuraciones de flujo de trabajo
Con los parámetros de configuración de flujo de trabajo, puedes programar ejecuciones de resultados de compilación desde una configuración de lanzamiento seleccionada. Puedes crear varias configuraciones de flujo de trabajo en un repositorio de Dataform.
En la configuración de un flujo de trabajo, puedes configurar los siguientes parámetros de ejecución:
- Configuración de lanzamiento de compilación aplicada
- Selección de las 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 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 compilación aplicado a BigQuery.
Los parámetros de configuración de lanzamiento y de flujo de trabajo de Dataform te permiten configurar la compilación y programar ejecuciones en 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 que creó 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 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 lugar 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 compilación creados de esta manera vencen después de 24 horas.
En una configuración de lanzamiento, el resultado de compilación más reciente se convierte en el resultado de compilación activo. Un nuevo resultado de compilación reemplaza el resultado de compilación en vivo actual. Dataform retiene 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 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 lanzamiento.
Dataform retiene los resultados de 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 la invocació de flujo de trabajo venza o se borre.
Crea anulaciones de compilación de lugares de trabajo
En las siguientes secciones, se muestra cómo crear anulaciones de compilación de lugares de trabajo para aislar tablas y vistas creadas desde tus lugares de trabajo de Dataform en BigQuery. Puedes usar 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 lugar de trabajo de Dataform, Dataform compila el código en tu lugar de trabajo en tiempo real para crear un resultado de compilación del lugar de trabajo. Dataform usa la configuración definida en el archivo de configuración de flujo de trabajo para crear el resultado de la compilación del espacio de trabajo. Luego, cuando activas la ejecución en un lugar de trabajo, Dataform ejecuta el resultado de la compilación del lugar de trabajo en BigQuery.
Para anular la configuración predeterminada establecida en la configuración de flujo de trabajo para todos los lugares de trabajo de tu repositorio, puedes crear anulaciones de compilación de lugares de trabajo.
Con las anulaciones de compilación de lugares de trabajo, puedes anular la siguiente configuración para todos los lugares 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, configurado en
workflow_settings.yaml
comodefaultProject
o endataform.json
comodefaultDatabase
. - Prefijo de la tabla
- Es el prefijo personalizado que se agregó a todos los nombres de las tablas de todos los espacios de trabajo del repositorio.
- Sufijo de esquema
- El sufijo personalizado que se adjunta al esquema de las tablas. Se establece como
defaultDataset
enworkflow_settings.yaml
,defaultSchema
endataform.json
o en el parámetroschema
en el bloqueconfig
de una tabla.
Para crear entornos de desarrollo aislados, puedes aislar 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 estableces ${workspaceName}
como el prefijo de la tabla, Dataform
añade el nombre del lugar de trabajo a los nombres de todas las tablas del lugar de trabajo. Después
de la ejecución, en BigQuery, puedes identificar de qué lugar de trabajo
proviene una tabla.
Cuando estableces ${workspaceName}
como el sufijo del esquema, Dataform
aggrega el nombre del lugar de trabajo a defaultSchema
y crea un esquema personalizado
dedicado al lugar de trabajo. Después de la ejecución, en BigQuery, puedes
encontrar todas las tablas que se ejecutaron desde un espacio de trabajo específico en el esquema dedicado.
Ejemplo de anulaciones de compilación de lugares 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 nombrados en función de los desarrolladores que trabajan en el
repositorio: Sasha
y Kai
.
El objetivo de las anulaciones de compilación de lugares 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 del lugar de trabajo crean un prefijo de tabla y un sufijo de esquema dinámicos para cada lugar de trabajo en el repositorio:
- ID del proyecto de Google Cloud:
analytics_dev
- Prefijo de la tabla:
${workspaceName}
- Sufijo del esquema:
${workspaceName}
Cuando Sasha activa de forma manual la ejecución en el lugar de trabajo Sasha
,
Dataform ejecuta su contenido con la siguiente configuración:
- Proyecto de Google Cloud:
analytics_dev
- Esquema:
dataform_sasha
- Nombres de tablas:
sasha_name
, por ejemplo,sasha_orders
Cuando Kai activa la ejecución de forma manual en el lugar de trabajo Kai
, Dataform
ejecuta su contenido con la siguiente configuración:
- Proyecto de Google Cloud:
analytics_dev
- Esquema:
dataform_kai
- Nombres de tablas:
kai_name
, por ejemplo,kai_orders
Crea anulaciones de compilación de lugares de trabajo
Para crear anulaciones de compilación de lugares de trabajo de Dataform, sigue estos pasos:
- En tu repositorio, ve a Configuración.
- Haz clic en Editar.
- En el panel Anulaciones de compilación de Workspace, en el campo ID del proyecto de Google Cloud, ingresa el ID del proyecto.
- En el campo Prefijo de tabla, ingresa un prefijo para todos los nombres de las tablas.
- Opcional: Para crear un prefijo de tabla dinámico que sea único para cada
lugar de trabajo, ingresa
${workspaceName}
como prefijo de la tabla.
- Opcional: Para crear un prefijo de tabla dinámico que sea único para cada
lugar de trabajo, ingresa
- En el campo Sufijo de esquema, ingresa un sufijo para agregar al esquema de la tabla o vista creada.
- Opcional: Para crear un sufijo de esquema dinámico que sea único para cada
lugar de trabajo, ingresa
${workspaceName}
como sufijo de la tabla.
- Opcional: Para crear un sufijo de esquema dinámico que sea único para cada
lugar de trabajo, ingresa
- 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 de lugares de trabajo
Para editar las anulaciones de compilación del lugar de trabajo de Dataform, sigue estos pasos:
- En tu repositorio, ve a Configuración.
- Haz clic en Editar.
- Edita las anulaciones de compilación del lugar de trabajo y, luego, haz clic en Guardar.
Borra las anulaciones de compilación de lugares de trabajo
Para borrar las anulaciones de compilación del lugar de trabajo de Dataform, sigue estos pasos:
- En tu repositorio, ve a Configuración.
- Haz clic en Editar.
- En el panel Anulaciones de compilación de lugares 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 mediante 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 de 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 ejecutados en diferentes etapas del 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 resultado de compilación único con anulaciones de compilación. Puedes crear un resultado de compilación de un lugar de trabajo o de un commit de Git seleccionado.
Para crear un resultado de compilación con anulaciones de compilación, debes enviar la solicitud compilationResults.create
de la API de Dataform. En la solicitud, debes especificar una fuente, que debe ser un lugar 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 las anulaciones de compilación.
Luego, puedes
ejecutar el resultado de la compilación creada
en una solicitud a la API de
workflowInvocations.create
Dataform.
Puedes configurar las siguientes anulaciones de compilación con la API de Dataform:
- Proyecto de Google Cloud
- Es el proyecto en el que Dataform ejecuta el resultado de la compilación, establecido en el archivo
workflow_settings.yaml
como la propiedaddefaultProject
o en el archivodataform.json
como la propiedaddefaultDatabase
. - Prefijo de la tabla
- Es el prefijo personalizado que se agrega a todos los nombres de las tablas en el resultado de la compilación.
- Sufijo de esquema
- El sufijo personalizado que se agrega al esquema de tablas definido en la propiedad
defaultDataset
del archivoworkflow_settings.yaml
, la propiedaddefaultSchema
del archivodataform.json
o en el parámetroschema
del bloqueconfig
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 del espacio 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 código.
Cómo establecer una fuente de resultados de compilación
Para generar la solicitud compilationResults.create
de la API de Dataform, debes especificar una fuente para el resultado de la compilación.
Puedes configurar un lugar de trabajo de Dataform o una rama, una etiqueta o un SHA de confirmación de Git como la fuente en la solicitud de compilationResults.create
.
Cómo configurar un espacio de trabajo como fuente de resultados de compilación
En la solicitud
compilationResults.create
, propaga la propiedadworkspace
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: 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 muestra 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"
}
Cómo configurar un commit de Git como fuente de resultados de compilación
En la solicitud
compilationResults.create
, propaga la propiedadgitCommitish
con la rama, la etiqueta o el SHA de confirmación de Git seleccionados en el siguiente formato:{ "gitCommitish": "GIT_COMMITISH" }
Reemplaza GIT_COMMITISH por la rama, la etiqueta o el SHA de confirmación de Git seleccionados para el resultado de la compilación.
En la siguiente muestra de código, se muestra la propiedad gitCommitish
en la solicitud compilationResults.create
establecida en "staging"
:
{
"gitCommitish": "staging"
}
Anula el proyecto predeterminado
Para crear tablas de etapa o producción en un proyecto de Google Cloud independiente del
proyecto que se usa para el desarrollo, puedes pasar un ID de proyecto
distinto en el objeto
CodeCompilationConfig
de la solicitud compilationResults.create
de la API de Dataform.
Pasar un ID de proyecto predeterminado independiente en la solicitud compilationResults.create
anula el ID de proyecto predeterminado configurado en el archivo de configuración del flujo de trabajo, pero no anula los IDs de proyecto configurados en tablas individuales.
Para anular el ID de proyecto predeterminado, establece la propiedad
defaultDatabase
en el ID de proyecto seleccionado en el objetoCodeCompilationConfig
con el siguiente formato:{ "codeCompilationConfig": { "defaultDatabase": "PROJECT_NAME" } }
Reemplaza PROJECT_NAME por el ID del proyecto que deseas configurar para el resultado de la compilación.
Agrega un prefijo de tabla
Para identificar rápidamente 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 objetoCodeCompilationConfig
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 creará tablas con el nombrestaging_table_name
.
Agrega un sufijo de esquema
Para separar los datos de desarrollo, etapa y producción, puedes agregar un sufijo a los esquemas en un resultado de compilación. Para ello, pasa 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 objetoCodeCompilationConfig
en el siguiente formato:{ "codeCompilationConfig": { "schemaSuffix": "SUFFIX", } }
Reemplaza SUFFIX por el sufijo que deseas agregar, por ejemplo,
_staging
.Por ejemplo, si la propiedad
defaultDataset
del archivoworkflow_settings.yaml
está configurada endataform
, Dataform crea tablas en el esquemadataform_staging
.
Ejecuta archivos seleccionados de forma condicional con variables de compilación
Para ejecutar una tabla seleccionada solo en una configuración de ejecución específica, puedes crear una variable de compilación para la 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 una configuración de ejecución específica con la API de Dataform, sigue estos pasos:
- Crea una variable de compilación y agrégala a las tablas seleccionadas.
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" } } }
Reemplaza YOUR_VARIABLE por el nombre de tu variable, por ejemplo,
executionSetting
.Reemplaza VALUE por el valor de la variable para este resultado de compilación que cumpla con la condición
when
establecida en las tablas seleccionadas.
En la siguiente muestra de código, se muestra 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
- Para ejecutar el resultado de la compilación creado por una solicitud
compilationResults.create
, pasa el ID del resultado de la compilación que muestra la solicitudcompilationResults.create
en una solicitudworkflowInvocations.create
.
En la siguiente muestra de código, se muestra 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 las siguientes secciones, se muestra cómo crear una configuración de lanzamiento en Dataform para configurar plantillas de parámetros de configuración de compilación, que puedes ejecutar según un programa. Puedes usar configuraciones de lanzamiento para configurar entornos de ejecución, por ejemplo, la 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 realiza 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, por ejemplo, de etapa de pruebas.
Configuración de la configuración de lanzamiento
En una configuración de lanzamiento, puedes configurar anulaciones de compilación de la configuración del flujo de trabajo, establecer variables de compilación y establecer la frecuencia de creación de resultados de compilación.
Una configuración de lanzamiento de Dataform contiene la siguiente 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 compilación y la frecuencia con la que se crean los resultados de 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 de Google 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 una configuración de lanzamiento con la frecuencia especificada o cuando activas la compilación. La frecuencia es una configuración opcional y no es necesaria para crear una configuración de lanzamiento. Si se configura, 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 lanzamiento o activar la compilación con el método releaseConfigs
de la API de Dataform.
Durante la compilación, Dataform extrae código del commit 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 compilación más reciente que se creó para la configuración de lanzamiento es el resultado de la compilación en vivo.
Puedes programar ejecuciones de resultados de compilación desde parámetros de configuración de lanzamiento en parámetros de configuración de flujo 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 compilación en vivo de la configuración de lanzamiento seleccionada.
Crea una configuración de lanzamiento
Para crear una configuración de lanzamiento de Dataform, sigue estos pasos:
- En el repositorio, ve a Lanzamientos y programación.
- En la sección Configuraciones de lanzamiento, haz clic en Crear.
En el panel Crear configuración de lanzamiento, configura la configuración de la versión.
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.
En el campo Commitish de Git, ingresa la rama de Git o el SHA de confirmación de Git para la versión.
En un repositorio de Dataform que no está conectado a un repositorio remoto, el valor siempre es
main
.Opcional: En la lista Frecuencia, selecciona la frecuencia con la que se crean los resultados de compilación.
Si se establece, la frecuencia mínima es de 1 hora.
Opcional: En la sección Anulaciones de compilación, configura la configuración de compilación.
- En el campo ID del proyecto de Google Cloud, ingresa el ID del proyecto de Google Cloud en el que deseas almacenar el resultado de la compilación.
- En el campo Sufijo de esquema, ingresa un sufijo para agregar al esquema configurado en la configuración del flujo de trabajo.
- En el campo Prefijo de tabla, ingresa un prefijo para todos los nombres de las tablas.
Opcional: En la sección Variables de compilación, configura las variables de compilación.
- Haz clic en Agregar variable.
- En el campo Clave, ingresa la variable de compilación.
- En el campo Valor, ingresa el valor de la variable de compilación.
- Para agregar otra variable de compilación, haz clic en Agregar variable.
Haz clic en Crear.
Si anulas el proyecto predeterminado, asegúrate de que la cuenta de servicio de Dataform tenga acceso al proyecto establecido en la configuración de lanzamiento.
Por ejemplo, la siguiente configuración de lanzamiento crea un resultado de compilación production
de la rama main
cada hora, sin ninguna anulación de compilación:
- ID de versión:
production
- Git commitish:
main
- Frecuencia: por hora
- No hay anulaciones de compilación
Cómo ver los detalles de la configuración de una versión
Puedes ver los siguientes detalles de una configuración de lanzamiento:
- Configuración de la versión
- Commitish de Git
- Marca de tiempo del resultado de 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:
- En el repositorio, ve a Lanzamientos y programación.
- Selecciona una configuración de lanzamiento.
- En la página Release configuration details, inspecciona los detalles de la configuración de lanzamiento.
En la tabla Resultados de la compilación programada, se muestran los resultados de compilación anteriores que creó automáticamente la configuración de lanzamiento.
La tabla Resultados de compilación manual/con API muestra los resultados de compilación que se crearon de forma manual o a través de llamadas a la API de Dataform de los 1,000 resultados de compilación más recientes del repositorio.
Cómo activar la compilación de forma manual
Para crear un resultado de compilación de forma manual a partir de una configuración de lanzamiento seleccionada, sigue estos pasos:
- En el repositorio, ve a Lanzamientos y programación.
- Selecciona una configuración de lanzamiento.
- En la página Detalles de la configuración de lanzamiento, haz clic en Nueva compilación.
El resultado de la compilación recién creado se convierte en el resultado en vivo de esa configuración de lanzamiento.
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 lanzamiento.
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 lanzamiento seleccionada en BigQuery, sigue estos pasos:
- En el repositorio, ve a Lanzamientos y programación.
- En la sección Configuraciones de lanzamiento, haz clic en Iniciar ejecución.
- En el panel Ejecutar flujo de trabajo manual, en la lista Configuración de lanzamiento, selecciona una configuración de lanzamiento.
- Selecciona las acciones del flujo de trabajo que se ejecutarán:
- Para ejecutar todo el flujo de trabajo, haz clic en Todas las acciones.
- Para ejecutar las acciones seleccionadas en el flujo de trabajo, haz clic en Selección de acciones y, luego, selecciona las acciones.
- Para ejecutar acciones con etiquetas seleccionadas, haz clic en Selección de etiquetas y, luego, selecciona las etiquetas.
- Opcional: Para ejecutar las acciones o etiquetas seleccionadas y sus dependencias, selecciona la opción Incluir dependencias.
- Opcional: Para ejecutar las acciones o etiquetas seleccionadas y sus dependencias, selecciona la opción Incluir dependencias.
Opcional: Para volver a compilar todas las tablas desde cero, selecciona la opción Run with full refresh.
Sin esta opción, Dataform actualiza las tablas incrementales sin volver a compilarlas desde cero.
Haz clic en Iniciar ejecución.
Edita una configuración de lanzamiento
Para editar la configuración de una versión, sigue estos pasos:
- En el repositorio, ve a Lanzamientos y programación.
- En la configuración de lanzamiento que deseas editar, haz clic en el menú Más y, luego, en Editar.
- En el panel Editar configuración de lanzamiento, edita la configuración de la configuración de lanzamiento y, luego, haz clic en Guardar.
Borra una configuración de lanzamiento
Para borrar una configuración de lanzamiento, sigue estos pasos:
- En el repositorio, ve a Lanzamientos y programación.
- En la configuración de lanzamiento que deseas borrar, haz clic en el menú Más y, luego, en Borrar.
- En el diálogo Borrar configuración de lanzamiento, haz clic en Borrar.
¿Qué sigue?
- Para obtener información sobre las prácticas recomendadas para el ciclo de vida del código en Dataform, consulta Cómo administrar el ciclo de vida del código.
- Para obtener información sobre cómo activar la ejecución de forma manual en un lugar de trabajo, consulta Cómo activar la ejecución.
- Para aprender a crear configuraciones de flujo de trabajo, consulta Programa ejecuciones con configuraciones de flujo de trabajo.
- Para obtener más información sobre la API de Dataform, consulta la API de Dataform.