En este documento, se muestra cómo hacer lo siguiente en Dataform:
- Comprende el ciclo de vida del flujo de trabajo en Dataform.
- Crea anulaciones de compilación de espacios 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 espacio 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 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:
- Administrador de Dataform (
roles/dataform.admin) en repositorios - Usuario de la cuenta de servicio (
roles/iam.serviceAccountUser) en la cuenta de servicio personalizada
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:
- Google Cloud proyecto
- Prefijo de la tabla
- Sufijo de esquema
- Valor de una variable 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:
- Google Cloud proyecto
- 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 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.yamlcomodefaultProjecto endataform.jsoncomodefaultDatabase.- 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
defaultDatasetenworkflow_settings.yaml,defaultSchemaendataform.jsono en el parámetroschemaen el bloqueconfigde 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:analyticsdefaultDataset: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:
- En tu repositorio, ve a Configuración.
- Haz clic en Editar.
- 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.
- En el campo Prefijo de tabla, ingresa un prefijo para todos los nombres de tabla.
- 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 del 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 del espacio de trabajo
Para editar las anulaciones de compilación del espacio 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 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:
- En tu repositorio, ve a Configuración.
- Haz clic en Editar.
- 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.yamlcomo la propiedaddefaultProjecto en el archivodataform.jsoncomo la propiedaddefaultDatabase.- 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
defaultDatasetdel archivoworkflow_settings.yaml, la propiedaddefaultSchemadel archivodataform.jsono en el parámetroschemadel bloqueconfigde 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 propiedadworkspacecon 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 propiedadgitCommitishcon la rama de Git, la etiqueta o el SHA de confirmación seleccionados en el siguiente formato:{ "gitCommitish": "GIT_COMMITISH" }Reemplaza
GIT_COMMITISHpor 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
defaultDatabaseen el ID del proyecto seleccionado en el objetoCodeCompilationConfigcon el siguiente formato:{ "codeCompilationConfig": { "defaultDatabase": "PROJECT_NAME" } }Reemplaza
PROJECT_NAMEpor 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
tablePrefixen el objetoCodeCompilationConfigcon el siguiente formato:{ "codeCompilationConfig": { "tablePrefix": "PREFIX", } }Reemplaza
PREFIXpor el prefijo que deseas agregar, por ejemplo,staging.Por ejemplo, si el nombre de tu tabla es
table_name, Dataform crea tablas con el nombrestaging_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
schemaSuffixen el objetoCodeCompilationConfigcon el siguiente formato:{ "codeCompilationConfig": { "schemaSuffix": "SUFFIX", } }Reemplaza
SUFFIXpor el sufijo que deseas agregar, por ejemplo,_staging.Por ejemplo, si la propiedad
defaultDatasetdel archivoworkflow_settings.yamlse establece 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 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:
- 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
codeCompilationConfigde una solicitud de compilación de la API de Dataform en el siguiente formato:{ "codeCompilationConfig": { "vars": { "YOUR_VARIABLE": "VALUE" } } }Reemplaza
YOUR_VARIABLEpor el nombre de tu variable, por ejemplo,executionSetting.Reemplaza
VALUEpor el valor de la variable para este resultado de compilación que cumple con la condiciónwhenestablecida 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
- 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.createen una solicitudworkflowInvocations.create.
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:
- En tu 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 la versión, define los parámetros de 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 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.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.
Opcional: En la sección Anulaciones de compilación, establece la configuración de compilación.
- 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.
- En el campo Sufijo de esquema, ingresa un sufijo para agregarlo 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 tabla.
Opcional: En la sección Variables de compilación, establece 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 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:
- En tu repositorio, ve a Lanzamientos y programación.
- Selecciona una configuración de lanzamiento.
- 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:
- En tu repositorio, ve a Lanzamientos y programación.
- Selecciona una configuración de lanzamiento.
- 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:
- En tu 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 la versión, selecciona una configuración de versión.
- 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 las 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 dependientes, selecciona la opción Incluir dependientes.
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.
Haz clic en Iniciar ejecución.
Edita una configuración de lanzamiento
Para editar una configuración de lanzamiento, sigue estos pasos:
- En tu repositorio, ve a Lanzamientos y programación.
- En la configuración de la versión que deseas editar, haz clic en el menú Más y, luego, en Editar.
- 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:
- En tu repositorio, ve a Versiones y programación.
- En la configuración de la versión que quieres borrar, haz clic en el menú Más y, luego, en Borrar.
- En el cuadro de diálogo Borrar configuración de lanzamiento, haz clic en Borrar.
¿Qué sigue?
- Para aprender a automatizar compilaciones y ejecuciones, consulta Automatiza ejecuciones con activadores de compilación de Cloud Build.
- Para conocer las prácticas recomendadas para el ciclo de vida del flujo de trabajo en Dataform, consulta Prácticas recomendadas para el ciclo de vida del flujo de trabajo.
- Para obtener información sobre cómo activar la ejecución de forma manual en un espacio de trabajo, consulta Activa la ejecución.
- Para aprender a crear parámetros de configuración de flujos de trabajo, consulta Programa ejecuciones con parámetros de configuración de flujos de trabajo.
- Para obtener más información sobre la API de Dataform, consulta API de Dataform.