Programar ejecuciones de producción
En esta guía de inicio rápido se explican los pasos que debes seguir para programar ejecuciones de producción en Dataform:
- Crea un repositorio de Dataform.
- Concede los roles necesarios.
Crea una configuración de lanzamiento y una configuración de flujo de trabajo.
Crea una configuración de lanzamiento
productiony define la frecuencia con la que se crean los resultados de compilaciónproduction. A continuación, crea unaproductionconfiguración de flujo de trabajo, selecciona laproductionconfiguración de lanzamiento y programa una hora para ejecutar losproductionresultados de la compilación.
Antes de empezar
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the BigQuery and Dataform APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles. -
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the BigQuery and Dataform APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles. -
Administrador de Dataform (
roles/dataform.admin) en repositorios -
Editor de Dataform (
roles/dataform.editor) en espacios de trabajo e invocaciones de flujos de trabajo -
Usuario de cuenta de servicio (
roles/iam.serviceAccountUser) en la cuenta de servicio personalizada -
Administrador de gestión de identidades y accesos de proyectos (
roles/resourcemanager.projectIamAdmin) en el proyecto - Editor de datos de BigQuery
(
roles/bigquery.dataEditor) en los proyectos a los que Dataform necesita acceso de lectura y escritura, que normalmente incluye el proyecto que aloja tu repositorio de Dataform. - Lector de datos de BigQuery
(
roles/bigquery.dataViewer) en los proyectos a los que Dataform necesita acceso de solo lectura. - Usuario de tareas de BigQuery
(
roles/bigquery.jobUser) en el proyecto que aloja tu repositorio de Dataform. - Creador de tokens de cuenta de servicio
(
roles/iam.serviceAccountTokenCreator) - Usuario de cuenta de servicio
(
roles/iam.serviceAccountUser) En la consola de Google Cloud , ve a la página Gestión de identidades y accesos.
Haz clic en Conceder acceso.
En el campo Nuevos principales, introduce el ID de tu cuenta de servicio personalizada.
En el menú Selecciona un rol, selecciona los siguientes roles uno por uno. Para añadir cada rol, haz clic en Añadir otro rol:
- Editor de datos de BigQuery
- Lector de datos de BigQuery
- Usuario de tareas de BigQuery
Haz clic en Guardar.
En la Google Cloud consola, ve a la página Cuentas de servicio.
Selecciona tu cuenta de servicio personalizada.
Ve a Principales con acceso y, a continuación, haz clic en Dar acceso.
En el campo Nuevos principales, introduce el ID de agente de servicio de Dataform predeterminado.
El ID de agente de servicio de Dataform predeterminado tiene el siguiente formato:
service-PROJECT_NUMBER@gcp-sa-dataform.iam.gserviceaccount.comEn la lista Selecciona un rol, añade los siguientes roles:
- Usuario de cuenta de servicio
- Creador de tokens de cuenta de servicio
Haz clic en Guardar.
En la Google Cloud consola, ve a la página Dataform.
Haz clic en Crear repositorio.
En la página Crear repositorio, haz lo siguiente:
En el campo Repository ID (ID de repositorio), introduce
quickstart-production.En la lista Región, selecciona
europe-west4.En el campo Cuenta de servicio, haz clic en Introducir manualmente y, a continuación, introduce el nombre de tu cuenta de servicio personalizada. Asegúrate de introducir tu cuenta de servicio personalizada en este campo.
Haz clic en Crear.
Haz clic en Ir a repositorios.
En la Google Cloud consola, ve a la página Dataform.
Haz clic en
quickstart-production.Haz clic en Versiones y programación y, a continuación, en Crear versión de producción.
En el panel Crear configuración de lanzamiento, configure los siguientes ajustes:
- En el campo Release ID (ID de lanzamiento), introduce
production. - En el campo Git commitish, deja el valor predeterminado
main. - En la sección Frecuencia de la programación, en el menú Se repite, selecciona Personalizada.
- En el campo Programación personalizada, introduce
0 16 * * *. En el menú Zona horaria, selecciona una zona horaria UTC+1, como Hora estándar de Europa central (CET).
Todos los días a las 16:00 (UTC+1), Dataform compila el repositorio
quickstart-productiony aplica los ajustes de compilación configurados en esta configuración de lanzamiento para crearproductionresultados de compilación.
- En el campo Release ID (ID de lanzamiento), introduce
Haz clic en Crear.
La configuración de lanzamiento
productioncrea un resultado de compilación de todo el repositorioquickstart-productiontodos los días a las 16:00 (UTC+1).Asegúrate de que estás en la pestaña Lanzamientos y programación. Ve a la sección Configuraciones de flujo de trabajo y haz clic en Crear.
En el panel Crear configuración de flujo de trabajo, configura los siguientes ajustes:
- En el campo ID de configuración, introduzca
production. - En el menú Configuración de la versión, selecciona
production. - En la sección Frecuencia de la programación, en el menú Se repite, selecciona Personalizada.
- En el campo Programación personalizada, introduce
0 17 * * *. En el menú Zona horaria, selecciona una zona horaria UTC+1, como Hora estándar de Europa central (CET).
Todos los días a las 17:00 (UTC+1), Dataform ejecuta el último
productionresultado de compilación del repositorioquickstart-production.Haz clic en Todas las acciones.
Dataform ejecuta todas las acciones del flujo de trabajo en el
productionresultado de la compilación.
- En el campo ID de configuración, introduzca
Haz clic en Crear.
La configuración del flujo de trabajo
productionejecuta el resultado de la compilación más reciente creada por la configuración de la versión de producción todos los días a las 17:00 (UTC+1).En la Google Cloud consola, ve a la página Dataform.
Selecciona el repositorio
quickstart-production.Haz clic en Lanzamientos y programación.
En la sección Configuraciones de lanzamiento, haz clic en
production.En la Google Cloud consola, ve a la página Dataform.
Selecciona el repositorio
quickstart-production.Haz clic en Registros de ejecución de flujo de trabajo.
Selecciona una ejecución de flujo de trabajo para ver información más detallada, incluido el estado de cada acción y los registros.
En la Google Cloud consola, ve a la página BigQuery.
En el panel Explorador, expande tu proyecto y selecciona
dataform_production.Haz clic en el menú Acciones y, a continuación, selecciona Eliminar.
En el cuadro de diálogo Eliminar conjunto de datos, escribe eliminar y, a continuación, haz clic en Eliminar.
En la Google Cloud consola, ve a la página Dataform.
Haz clic en
quickstart-production.Haz clic en Lanzamientos y programación y ve a la sección Configuraciones de lanzamiento.
En la configuración de lanzamiento
production, haz clic en el menú Más y, a continuación, en Eliminar.En el cuadro de diálogo Eliminar configuración de lanzamiento, haz clic en Eliminar.
En la Google Cloud consola, ve a la página Dataform.
Haz clic en
quickstart-production.Haz clic en Lanzamientos y programación y ve a la sección Configuraciones de flujo de trabajo.
En la configuración del flujo de trabajo
production, haz clic en el menú Más y, a continuación, en Eliminar.En el cuadro de diálogo Eliminar configuración de lanzamiento, haz clic en Eliminar.
En la Google Cloud consola, ve a la página Dataform.
En
quickstart-production, haz clic en el menú Más y, a continuación, selecciona Eliminar.En la ventana Eliminar repositorio, introduce el nombre del repositorio para confirmar la eliminación.
Para confirmar la acción, haz clic en Eliminar.
- Para obtener más información sobre las cuentas de servicio, consulta el artículo Acerca de las cuentas de servicio personalizadas y los agentes de servicio de Dataform.
- Para obtener más información sobre el ciclo de vida del código en Dataform, consulta el artículo Introducción al ciclo de vida del código en Dataform.
- Para obtener más información sobre las prácticas recomendadas para el ciclo de vida de los flujos de trabajo en Dataform, consulte Prácticas recomendadas para el ciclo de vida de los flujos de trabajo.
- Para obtener más información sobre las configuraciones de lanzamiento en Dataform, consulta Crear una configuración de lanzamiento.
- Para obtener más información sobre las configuraciones de flujo de trabajo en Dataform, consulta Programar ejecuciones con configuraciones de flujo de trabajo.
Además, selecciona o crea una cuenta de servicio personalizada para ejecutar flujos de trabajo en BigQuery.
Roles obligatorios
Para obtener los permisos que necesitas para realizar todas las tareas de este tutorial, pide a tu administrador que te asigne los siguientes roles de IAM:
Para obtener más información sobre cómo conceder roles, consulta el artículo Gestionar acceso a proyectos, carpetas y organizaciones.
También puedes conseguir los permisos necesarios a través de roles personalizados u otros roles predefinidos.
Conceder los roles necesarios
Para ejecutar flujos de trabajo en BigQuery, puedes usar una cuenta de servicio personalizada o tu cuenta de Google (vista previa). Sin embargo, las credenciales de la cuenta de servicio personalizada son la opción predeterminada para las ejecuciones programadas. No se recomienda usar las credenciales de la cuenta de usuario de Google para las ejecuciones programadas.
Para ejecutar flujos de trabajo en BigQuery, tu cuenta de servicio personalizada debe tener los siguientes roles obligatorios:
Para permitir que Dataform use tu cuenta de servicio personalizada, el agente de servicio de Dataform predeterminado debe tener los siguientes roles en el recurso de la cuenta de servicio personalizada:
Para conceder estos roles, sigue estos pasos:
Crear un repositorio de Dataform
Crear una configuración de lanzamiento y una configuración de flujo de trabajo
Para crear resultados de compilación de producción del repositorio quickstart-production
y programar una ejecución de tablas production, sigue estos pasos:
Ver resultados de compilación anteriores de production
Para ver los resultados de compilación programada anteriores de production, sigue estos pasos:
Ver las production ejecuciones de flujos de trabajo anteriores
Para ver las ejecuciones anteriores de un flujo de trabajo de production, sigue estos pasos:
Limpieza
Para evitar que se apliquen cargos en tu cuenta de Google Cloud por los recursos utilizados en esta página, sigue estos pasos.
Eliminar el conjunto de datos creado en BigQuery
Para evitar que se te cobren los recursos de BigQuery, sigue estos pasos para eliminar el conjunto de datos llamado dataform_production:
Eliminar la configuración de lanzamiento de Dataform
La creación de configuraciones de lanzamiento de Dataform no conlleva ningún coste. Sin embargo, si quieres eliminar la configuración de la versión production, sigue estos pasos:
Eliminar la configuración del flujo de trabajo de Dataform
Para evitar que se te cobren los recursos de BigQuery, sigue estos pasos para eliminar la configuración del flujo de trabajo de Dataform production:
Eliminar el repositorio de Dataform
La creación de repositorios de Dataform no conlleva ningún coste. Sin embargo, si quieres eliminar un repositorio y todo su contenido, sigue estos pasos: