Organízate con las colecciones
Guarda y clasifica el contenido según tus preferencias.
En este documento se explica cómo declarar fuentes de datos de BigQuery con Dataform Core.
Puedes declarar cualquier tipo de tabla de BigQuery
como fuente de datos en Dataform. Al declarar fuentes de datos de BigQuery externas a Dataform, puedes tratar esas fuentes de datos como objetos de Dataform.
Declarar fuentes de datos es opcional, pero puede ser útil si quiere hacer lo siguiente:
Hacer referencia a fuentes declaradas o resolverlas de la misma forma que cualquier otra tabla de Dataform.
Ver las fuentes declaradas en el gráfico de Dataform visualizado.
Usa Dataform para gestionar las descripciones a nivel de tabla y de columna de las tablas creadas externamente.
Activa invocaciones de flujo de trabajo que incluyan todas las dependencias de una fuente de datos externa.
Puedes declarar fuentes de datos mediante archivos JavaScript o SQLX. En un archivo JavaScript, puede declarar varias fuentes de datos por archivo. En un archivo SQLX, puedes declarar una fuente de datos por archivo.
Para obtener los permisos que necesitas para declarar una fuente de datos,
pide a tu administrador que te conceda el
rol de gestión de identidades y accesos Editor de Dataform (roles/dataform.editor)
en los espacios de trabajo.
Para obtener más información sobre cómo conceder roles, consulta el artículo Gestionar el acceso a proyectos, carpetas y organizaciones.
Crear un archivo JavaScript para varias declaraciones de fuentes de datos
Almacena los archivos JavaScript de las declaraciones de fuentes de datos en el directorio definitions/.
Para crear un archivo JavaScript en el directorio definitions/, sigue estos pasos:
En la Google Cloud consola, ve a la página Dataform.
En el panel Archivos, junto a definitions/, haz clic en el menú Más.
Haz clic en Crear archivo.
En el panel Crear archivo, haz lo siguiente:
En el campo Añadir una ruta de archivo, después de definitions/, introduce el nombre del archivo seguido de .js. Por ejemplo, definitions/declarations.js.
Los nombres de archivo solo pueden incluir números, letras, guiones y guiones bajos.
Haz clic en Crear archivo.
Añadir una declaración a un archivo JavaScript
Puedes declarar varias fuentes de datos por archivo JavaScript. Para añadir una nueva declaración, sigue estos pasos:
En tu espacio de trabajo de desarrollo, en el panel Archivos, haz clic en el archivo JavaScript
de las declaraciones de la fuente de datos.
En el archivo, añade el siguiente fragmento de código para cada fuente de datos:
DATABASE_PROJECT_ID: ID del proyecto que contiene la fuente de datos.
BIGQUERY_SCHEMA: el conjunto de datos de BigQuery en el que se encuentra la fuente de datos.
RELATION_NAME: el nombre de la tabla o la vista que quieras usar como fuente de datos. Más adelante, puede usar ese nombre para hacer referencia a la fuente de datos en Dataform.
Crear un archivo SQLX para la declaración de la fuente de datos
Almacena los archivos SQLX de las declaraciones de fuentes de datos en el directorio definitions/.
Para crear un archivo SQLX en el directorio definitions/, sigue estos pasos:
En la Google Cloud consola, ve a la página Dataform.
En el panel Archivos, junto a definitions/, haz clic en el menú Más.
Haz clic en Crear archivo.
En el panel Crear archivo, haz lo siguiente:
En el campo Añadir una ruta de archivo, después de definitions/, introduce el nombre del archivo seguido de .sqlx. Por ejemplo, definitions/dataset-declaration.sqlx.
Los nombres de archivo solo pueden incluir números, letras, guiones y guiones bajos.
Haz clic en Crear archivo.
Declarar una fuente de datos
Puedes declarar una fuente de datos por archivo de declaración SQLX. Para declarar una fuente de datos en el bloque de configuración de un archivo SQLX, sigue estos pasos:
En el espacio de trabajo de desarrollo, en el panel Archivos, haz clic en el archivo SQLX para declarar la fuente de datos.
En el archivo, introduce el siguiente fragmento de código:
DATABASE: ID del proyecto que contiene la fuente de datos.
SCHEMA: el conjunto de datos de BigQuery en el que se encuentra la fuente de datos.
NAME: el nombre de la tabla o la vista que quieras usar como fuente de datos. Más adelante, puede usar ese nombre para hacer referencia a la fuente de datos en Dataform.
Opcional: Haz clic en Formato.
En el siguiente ejemplo de código se muestra una declaración de ejemplo de la tabla shakespeare en el conjunto de datos samples del proyecto bigquery-public-data como fuente de datos:
[[["Es fácil de entender","easyToUnderstand","thumb-up"],["Me ofreció una solución al problema","solvedMyProblem","thumb-up"],["Otro","otherUp","thumb-up"]],[["Es difícil de entender","hardToUnderstand","thumb-down"],["La información o el código de muestra no son correctos","incorrectInformationOrSampleCode","thumb-down"],["Me faltan las muestras o la información que necesito","missingTheInformationSamplesINeed","thumb-down"],["Problema de traducción","translationIssue","thumb-down"],["Otro","otherDown","thumb-down"]],["Última actualización: 2025-08-21 (UTC)."],[[["\u003cp\u003eDataform allows the declaration of BigQuery data sources, treating them as Dataform objects even if they are external to Dataform.\u003c/p\u003e\n"],["\u003cp\u003eDeclaring data sources in Dataform is optional but enables referencing them like any other table, viewing them in the Dataform graph, and managing their descriptions.\u003c/p\u003e\n"],["\u003cp\u003eData sources can be declared using either JavaScript files, where multiple sources are allowed per file, or SQLX files, where only one source per file is allowed.\u003c/p\u003e\n"],["\u003cp\u003eTo declare a data source, you need the Dataform Editor role and can utilize JavaScript or SQLX files, each requiring specific code snippets and file creation processes within the \u003ccode\u003edefinitions/\u003c/code\u003e directory.\u003c/p\u003e\n"],["\u003cp\u003eOnce declared, data sources can be used in workflow invocations that include all dependents of that external data source.\u003c/p\u003e\n"]]],[],null,["# Declare a data source\n\nThis document shows you how to declare BigQuery data sources with\n[Dataform core](/dataform/docs/overview#dataform-core).\n\nYou can declare any [BigQuery table type](/bigquery/docs/tables-intro)\nas a data source in Dataform. Declaring BigQuery data sources\nthat are external to Dataform lets you treat those data sources as\nDataform objects.\n\nDeclaring data sources is **optional**, but can be useful when you want to do the following:\n\n- Reference or resolve declared sources in the same way as any other table in Dataform.\n- View declared sources in the visualized Dataform graph.\n- Use Dataform to manage the table-level and column-level descriptions of externally created tables.\n- Trigger workflow invocations that include all the dependents of an external data source.\n\nYou can declare data sources using JavaScript or SQLX files. In a JavaScript file, you can declare multiple data sources per file. In a SQLX file, you can declare one data source per file.\n\nBefore you begin\n----------------\n\nBefore you declare a data source,\n[create and initialize a development workspace in your repository](/dataform/docs/create-workspace).\n\n### Required roles\n\n\nTo get the permissions that\nyou need to declare a data source,\n\nask your administrator to grant you the\n\n\n[Dataform Editor](/iam/docs/roles-permissions/dataform#dataform.editor) (`roles/dataform.editor`)\nIAM role on workspaces.\n\n\nFor more information about granting roles, see [Manage access to projects, folders, and organizations](/iam/docs/granting-changing-revoking-access).\n\n\nYou might also be able to get\nthe required permissions through [custom\nroles](/iam/docs/creating-custom-roles) or other [predefined\nroles](/iam/docs/roles-overview#predefined).\n\nCreate a JavaScript file for multiple data source declarations\n--------------------------------------------------------------\n\nStore JavaScript files for data source declarations in the `definitions/` directory.\nTo create a new JavaScript file in the `definitions/` directory, follow these steps:\n\n1. In the Google Cloud console, go to the **Dataform** page.\n\n [Go to the Dataform page](https://console.cloud.google.com/bigquery/dataform)\n2. Select a repository.\n\n3. Select a development workspace.\n\n4. In the **Files** pane, next to `definitions/`, click the **More** menu.\n\n5. Click **Create file**.\n\n6. In the **Create new file** pane, do the following:\n\n 1. In the **Add a file path** field, after `definitions/`, enter the name\n of the file followed by `.js`. For example,\n `definitions/declarations.js`.\n\n Filenames can only include numbers, letters, hyphens, and underscores.\n 2. Click **Create file**.\n\n### Add a declaration to a JavaScript file\n\nYou can declare multiple data sources per JavaScript file. To add a new declaration, follow these steps:\n\n1. In your development workspace, in the **Files** pane, click your JavaScript file for data source declarations.\n2. In the file, for each data source, add the following code snippet:\n\n declare({\n database: \"\u003cvar translate=\"no\"\u003eDATABASE_PROJECT_ID\u003c/var\u003e\",\n schema: \"\u003cvar translate=\"no\"\u003eBIGQUERY_SCHEMA\u003c/var\u003e\",\n name: \"\u003cvar translate=\"no\"\u003eRELATION_NAME\u003c/var\u003e\",\n });\n\n Replace the following:\n - \u003cvar translate=\"no\"\u003eDATABASE_PROJECT_ID\u003c/var\u003e: the project ID of the project which contains the data source.\n - \u003cvar translate=\"no\"\u003eBIGQUERY_SCHEMA\u003c/var\u003e: the BigQuery dataset in which the data source exists.\n - \u003cvar translate=\"no\"\u003eRELATION_NAME\u003c/var\u003e: the name of the table or view that you want to use as the data source. You can later use that name to reference the data source in Dataform.\n\nCreate a SQLX file for data source declaration\n----------------------------------------------\n\nStore SQLX files for data source declarations in the `definitions/` directory.\nTo create a new SQLX file in the `definitions/` directory, follow these steps:\n\n1. In the Google Cloud console, go to the **Dataform** page.\n\n [Go to the Dataform page](https://console.cloud.google.com/bigquery/dataform)\n2. Select a repository.\n\n3. Select a development workspace.\n\n4. In the **Files** pane, next to `definitions/`, click the **More** menu.\n\n5. Click **Create file**.\n\n6. In the **Create new file** pane, do the following:\n\n 1. In the **Add a file path** field, after `definitions/`, enter the name\n of the file followed by `.sqlx`. For example,\n `definitions/dataset-declaration.sqlx`.\n\n Filenames can only include numbers, letters, hyphens, and underscores.\n 2. Click **Create file**.\n\n### Declare a data source\n\nYou can declare one data source per a SQLX declaration file. To declare a data\nsource in the configuration block of an SQLX file, follow these steps:\n\n1. In your development workspace, in the **Files** pane, click your SQLX file for data source declaration.\n2. In the file, enter the following code snippet:\n\n config {\n type: \"declaration\",\n database: \"\u003cvar translate=\"no\"\u003eDATABASE\u003c/var\u003e\",\n schema: \"\u003cvar translate=\"no\"\u003eSCHEMA\u003c/var\u003e\",\n name: \"\u003cvar translate=\"no\"\u003eNAME\u003c/var\u003e\",\n }\n\n Replace the following:\n - \u003cvar translate=\"no\"\u003eDATABASE\u003c/var\u003e: the project ID of the project which contains the data source.\n - \u003cvar translate=\"no\"\u003eSCHEMA\u003c/var\u003e: the BigQuery dataset in which the data source exists.\n - \u003cvar translate=\"no\"\u003eNAME\u003c/var\u003e: the name of the table or view that you want to use as the data source. You can later use that name to reference the data source in Dataform.\n3. Optional: Click **Format**.\n\nThe following code sample shows a sample declaration of the `shakespeare`\ntable in the `samples` dataset of the `bigquery-public-data` project as\na data source: \n\n config {\n type: \"declaration\",\n database: \"bigquery-public-data\",\n schema: \"samples\",\n name: \"shakespeare\",\n }\n\nWhat's next\n-----------\n\n- To learn how to declare a data source with JavaScript, see [Create workflows exclusively with JavaScript](/dataform/docs/javascript-in-dataform#create-workflows-with-javascript).\n- To learn how to define a table, see [Create tables](/dataform/docs/create-tables#create-table).\n- To learn how to configure table partitions and clusters, see [Create table partitions and clusters](/dataform/docs/create-tables#create-table-partitions-clusters)."]]