Crear entornos de desarrollo
En esta guía de inicio rápido se explican los pasos para crear entornos de desarrollo individuales en Dataform, de modo que cada desarrollador pueda trabajar en su propio entorno:
- Crea un repositorio de Dataform.
- Concede los roles necesarios.
Configurar anulaciones de compilación del espacio de trabajo
Configura las anulaciones de compilación que Dataform aplica a todos los espacios de trabajo de tu repositorio para convertirlos en entornos de desarrollo aislados.
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. 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 o la dirección de correo de tu cuenta de Google (Vista previa).
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 IAM > 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 predeterminado de Dataform.
El ID de agente de servicio de Dataform predeterminado tiene el siguiente formato:
service-PROJECT_NUMBER@gcp-sa-dataform.iam.gserviceaccount.comSustituye
PROJECT_NUMBERpor elGoogle Cloud número de tu proyecto.En la lista Seleccionar un rol, añade el rol 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-dev.En la lista Región, selecciona
europe-west4.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-dev.Haz clic en Configuración y, a continuación, en Editar.
En el panel Workspace compilation overrides (Sustituciones de compilación del espacio de trabajo), en el campo Schema suffix (Sufijo de esquema), introduce
${workspaceName}.Cuando activas una ejecución en un espacio de trabajo, Dataform añade el nombre del espacio de trabajo como sufijo al esquema predeterminado definido en la configuración del flujo de trabajo. En esta guía de inicio rápido se usan los ajustes predeterminados de Dataform con el
dataformesquema predeterminado.Haz clic en Guardar.
En la Google Cloud consola, ve a la página BigQuery.
En el panel Explorador, expande tu proyecto y selecciona un conjunto de datos.
Haz clic en el menú Acciones y, a continuación, selecciona Eliminar.
En el cuadro de diálogo Eliminar conjunto de datos, introduce
deleteen el campo y, a continuación, haz clic en Eliminar.En la Google Cloud consola, ve a la página Dataform.
En
quickstart-dev, 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 anulaciones de compilación de espacios de trabajo en Dataform, consulta el artículo Crear anulaciones de compilación de espacios de trabajo.
- Para saber cómo programar ejecuciones de producción en Dataform, consulta Programar ejecuciones de producción.
Además, si quieres usar una cuenta de servicio personalizada para ejecutar flujos de trabajo en BigQuery, selecciona o crea una cuenta de servicio personalizada.
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). En las siguientes secciones se describen los roles necesarios para tu cuenta de servicio personalizada o tu cuenta de Google, así como para el agente de servicio predeterminado de Dataform.
Asignar roles a tu cuenta de servicio personalizada o a tu cuenta de Google
Para ejecutar flujos de trabajo en BigQuery, tu cuenta de servicio personalizada o tu cuenta de Google (vista previa) deben tener los siguientes roles obligatorios:
Para asignar roles de BigQuery a tu cuenta de servicio personalizada o a tu cuenta de Google (vista previa), sigue estos pasos:
Conceder roles al agente de servicio predeterminado de Dataform
Si usas una cuenta de servicio personalizada para ejecutar flujos de trabajo en BigQuery, debes permitir que Dataform use tu cuenta de servicio personalizada. Para asignar el rol Creador de tokens de cuenta de servicio (roles/iam.serviceAccountTokenCreator) al agente de servicio predeterminado de Dataform en el recurso de cuenta de servicio personalizada, sigue estos pasos:
Crear un repositorio de Dataform
Configurar anulaciones de compilación de espacios de trabajo
Para crear entornos de desarrollo aislados con anulaciones de compilación del espacio de trabajo de Dataform, sigue estos pasos:
Dataform aplica las anulaciones de compilación del área de trabajo a todas las áreas de trabajo de tu repositorio.
Con esta configuración, cuando ejecutas manualmente un flujo de trabajo en un espacio de trabajo, Dataform lo ejecuta con las anulaciones de compilación del espacio de trabajo.
Como resultado, Dataform ejecuta el flujo de trabajo en el esquema dataform_workspaceName de BigQuery, lo que convierte el espacio de trabajo en un entorno de desarrollo aislado.
Por ejemplo, cuando activas manualmente una ejecución en un espacio de trabajo sasha, Dataform ejecuta tu flujo de trabajo en el esquema dataform_sasha de BigQuery.
Para ejecutar flujos de trabajo sin anulaciones de compilación del área de trabajo, pero mantenerlas en los entornos de desarrollo, puedes crear configuraciones de lanzamiento para configurar otros entornos de ejecución, como staging y production.
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 conjuntos de datos creados en BigQuery
Para evitar que se te cobren los recursos de BigQuery, elimina los conjuntos de datos cuyos nombres empiecen por dataform, como dataform-sasha.
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: