En este documento, se muestra cómo crear y ejecutar un resultado de compilación con anulaciones de compilación con la API de Dataform.
Información sobre las anulaciones de compilación de la API de Dataform
Para ejecutar tu flujo de trabajo de SQL, Dataform compila tu código en SQL para crear una compilación resultado. Luego, durante un flujo de trabajo invocación, Dataform ejecuta el resultado de la compilación en BigQuery.
De forma predeterminada, Dataform usa la configuración en la archivo de configuración del flujo de trabajo para crear el resultado de la compilación. Aislar los datos ejecutados en distintas etapas del ciclo de vida de desarrollo, puedes anular la configuración predeterminada con anulaciones de compilación.
Cuando pasas las 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 espacio de trabajo o de un compromiso de Git seleccionado.
Para crear un resultado de compilación con anulaciones de compilación, debes generar el error
API de Dataform
compilationResults.create
para cada solicitud. En la solicitud, debes especificar una fuente, un
o workspace de Git, para que Dataform se compile
resultado de la compilación. En la
CodeCompilationConfig
objeto de la solicitud compilationResults.create
, puedes configurar la compilación
anulaciones.
Luego, puedes ejecutar el resultado de la compilación creado en un
API de Dataform
workflowInvocations.create
para cada solicitud.
Puedes configurar las siguientes anulaciones de compilación con la API de Dataform:
Google Cloud
proyecto
,
Es el proyecto de Google Cloud en el que Dataform ejecuta la
resultado de la compilación, establecido en workflow_settings.yaml
como defaultProject
o en dataform.json
como defaultDatabase
.
- Prefijo de la tabla
- Se agregó un prefijo personalizado a todos los nombres de las tablas en resultado de la compilación.
- Sufijo de esquema
- Sufijo personalizado agregado al esquema de las tablas
definidos en
defaultDataset
enworkflow_settings.yaml
,defaultSchema
endataform.json
o enschema
en el bloqueconfig
de una tabla.
Valor de una compilación variable , Valor de una variable de compilación que se usará en el resultado de la compilación. Tú de los 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 lugares de trabajo en la consola de Google Cloud.
Para conocer formas alternativas de configurar anulaciones de compilación en Dataform, consulta Introducción al código. ciclo de vida.
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.
Configura una fuente de resultados de compilación
Para generar la API de Dataform
compilationResults.create
por solicitud, debes especificar una fuente para el resultado de la compilación.
Puedes configurar un lugar de trabajo de Dataform, una rama de Git, una etiqueta de Git o Git.
confirmar SHA como la fuente en el
compilationResults.create
para cada solicitud.
Configura un lugar de trabajo como fuente de resultados de compilación
- En la
compilationResults.create
completa la propiedadworkspace
con la ruta de acceso de un elemento seleccionado El lugar de trabajo de Dataform en el siguiente formato:
{
"workspace": "projects/PROJECT_NAME/locations/LOCATION/repositories/REPOSITORY_NAME/workspaces/WORKSPACE_NAME"
}
Reemplaza lo siguiente:
- PROJECT_NAME por el nombre de tu proyecto de Google Cloud
- LOCATION por la ubicación de tu repositorio de Dataform. en la configuración del flujo de trabajo.
- REPOSITORY_NAME por el nombre de tu Dataform en un repositorio de confianza.
- WORKSPACE_NAME por el nombre del lugar de trabajo de Dataform
En la siguiente muestra de código, se observa la propiedad workspace
en el
La solicitud compilationResults.create
se configuró en un lugar de trabajo llamado "sales-test"
:
{
"workspace": "projects/analytics/locations/europe-west4/repositories/sales/workspaces/sales-test"
}
Establece un confirmish de Git como una fuente de resultados de compilación
En la
compilationResults.create
solicitud, propaga la propiedadgitCommitish
con la rama de Git seleccionada etiqueta o confirma el SHA en el siguiente formato:{ "gitCommitish": "GIT_COMMITISH" }
Reemplaza GIT_COMMITISH por la rama de Git, la etiqueta de Git o un Git seleccionados. confirmar el SHA para el resultado de la compilación.
En la siguiente muestra de código, se observa la propiedad gitCommitish
en el
Se configuró la solicitud compilationResults.create
como "staging"
:
{
"gitCommitish": "staging"
}
Anula el proyecto predeterminado de Google Cloud
Para crear tablas de etapa de pruebas o producción en un proyecto de Google Cloud independientes de
proyecto usado para el desarrollo, puedes pasar un proyecto de Google Cloud diferente,
en la
CodeCompilationConfig
de la API de Dataform
compilationResults.create
para cada solicitud.
Pasa un ID del proyecto predeterminado por separado en la solicitud compilationResults.create
anula el ID del proyecto de Google Cloud predeterminado que se configuró en
archivo de configuración del flujo de trabajo
pero no anula los IDs de los proyectos de Google Cloud
configurados en tablas individuales.
Para anular el ID del proyecto de Google Cloud predeterminado, establece el
defaultDatabase
al ID del proyecto de Google Cloud en la Un objetoCodeCompilationConfig
en el siguiente formato:{ "codeCompilationConfig": { "defaultDatabase": "PROJECT_NAME" } }
Reemplaza PROJECT_NAME por el ID del proyecto de Google Cloud que deseas. para el resultado de la compilación.
Agregar un prefijo de tabla
Para identificar rápidamente tablas del resultado de la compilación, puedes agregar un prefijo al
todos los nombres de las tablas en el resultado de la compilación pasando el prefijo de la tabla en el
CodeCompilationConfig
de la API de Dataform
compilationResults.create
para cada solicitud.
- Para agregar un prefijo de tabla, establece la propiedad
tablePrefix
en Un objetoCodeCompilationConfig
en el siguiente formato:
{
"codeCompilationConfig": {
"tablePrefix": "PREFIX",
}
}
Reemplaza PREFIX por el sufijo que deseas agregar, por ejemplo,
_staging
Por ejemplo, si tu defaultDataset
en workflow_settings.yaml
es
establecido en dataform
, Dataform creará tablas en el
Esquema dataform_staging
.
Agrega un sufijo de esquema
Para separar los datos de desarrollo, etapa de pruebas y producción, puedes agregar un sufijo
a esquemas en un resultado de compilación pasando el sufijo de esquema en
CodeCompilationConfig
de la API de Dataform
compilationResults.create
para cada solicitud.
- Para agregar un sufijo de esquema, configura la propiedad
schemaSuffix
en Un objetoCodeCompilationConfig
en el siguiente formato:
{
"codeCompilationConfig": {
"schemaSuffix": "SUFFIX",
}
}
Reemplaza SUFFIX por el sufijo que deseas agregar, por ejemplo,
_staging
Por ejemplo, si tu defaultDataset
en workflow_settings.yaml
es
establecido en dataform
, Dataform creará tablas en el
Esquema dataform_staging
.
Nota: La CodeCompilationConfig
schemaSuffix
anula los esquemas configurados en el bloque config
de
archivos individuales.
Ejecuta archivos seleccionados de forma condicional con variables de compilación
Para ejecutar una tabla seleccionada solo con un parámetro de configuración de ejecución específico, puedes
crea una variable de compilación
para la configuración de ejecución y, luego, pasa su valor en la
CodeCompilationConfig
de la API de Dataform
compilationResults.create
para cada solicitud.
Para ejecutar una tabla de forma condicional en un parámetro de configuración de ejecución específico mediante API de Dataform, sigue estos pasos:
- Crea una variable de compilación y agrégala al segmento seleccionado tablas.
Configura el par clave-valor YOUR_VARIABLE y VALUE en el Bloque
codeCompilationConfig
de a solicitud de compilación de la API de Dataform en la con el siguiente formato:{ "codeCompilationConfig": { "vars": { "YOUR_VARIABLE": "VALUE" } } }
Reemplaza YOUR_VARIABLE por el nombre de la variable, por ejemplo
executionSetting
Reemplaza VALUE por el valor de la variable para esta compilación resultado que cumpla con la condición
when
establecida en y tablas tradicionales.
En la siguiente muestra de código, se observa la variable executionSetting
que se pasa a un elemento
Solicitud de compilación de la API de Dataform:
{
"gitCommitish": "staging",
"codeCompilationConfig": {
"vars": {
"executionSetting": "staging"
}
}
}
Cómo ejecutar un resultado de compilación con anulaciones de compilación
- Para ejecutar el resultado de la compilación creado por un elemento
compilationResults.create
pasa el ID del resultado de compilación que devuelve el SolicitudcompilationResults.create
en unaworkflowInvocations.create
para cada solicitud.
En la siguiente muestra de código, se observa un ID de resultado de compilación pasado en un
workflowInvocations.create
solicitud:
{
"compilationResult": "projects/my-project-name/locations/europe-west4/repositories/my-repository-name/compilationResults/7646b4ed-ac8e-447f-93cf-63c43249ff11"
}
¿Qué sigue?
- Si quieres obtener más información sobre las formas de configurar anulaciones de compilación en Dataform, consulta Introducción al código. ciclo de vida.
- Para obtener más información sobre la API de Dataform, consulta API de Dataform.
- Aprende a usar la consola de Google Cloud para configurar anulaciones de compilación. Para todos los lugares de trabajo en un repositorio, consulta Configura la compilación de lugares de trabajo anuladas.