Para usar un paquete en Dataform, debes instalarlo en tu repositorio.
Puedes instalar los siguientes tipos de paquetes en Dataform:
- Se publicaron paquetes de NPM públicos.
- Paquetes de NPM públicos no publicados.
- Paquetes de NPM privados autenticados:
Luego, para usar el paquete en un archivo JavaScript o SQLX, debes importar contenido seleccionado del paquete en el archivo. También puedes importar un conjunto en un archivo JavaScript o SQLX, en lugar del contenido seleccionado.
Para evitar problemas con la instalación de paquetes en tu entorno de producción, te recomendamos que hagas lo siguiente:
Especifica de forma explícita la versión del paquete en
package.json
, por ejemplo,3.0.0
. No utilices Opciones dedependencies
depackage.json
, por ejemplo,>version
.Prueba nuevas versiones de paquetes en un entorno que no sea de producción. Más información sobre la configuración de diferentes entornos de ciclo de vida de código, consulta Administra el ciclo de vida del código.
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.
Si tu repositorio no contiene un archivo
package.json
, Creapackage.json
y mueve el paquete principal de Dataform.Opcional: Para instalar un paquete privado, autenticar el paquete privado
Roles obligatorios
Para obtener los permisos que necesitas para instalar un paquete,
solicita a tu administrador que te otorgue el
Es el rol de IAM de Editor de Dataform (roles/dataform.editor
) en los lugares de trabajo.
Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso.
También puedes obtener los permisos necesarios mediante roles personalizados o cualquier otro rol predefinido.
Instalar un paquete
Para instalar un paquete en un repositorio de Dataform, debes hacer lo siguiente:
agrégala como una dependencia en el archivo package.json
.
Para agregar un paquete como dependencia en el archivo package.json
, haz lo siguiente:
- En tu lugar de trabajo, en el panel Files, selecciona
package.json
. Agrega el paquete al bloque
dependencies
:Agrega un paquete de NPM público publicado en el siguiente formato:
"PACKAGE-NAME": "PACKAGE-VERSION"
Reemplaza lo siguiente:
- PACKAGE-NAME por el nombre del paquete
- PACKAGE-VERSION con la versión más reciente del
el paquete público de NPM publicado. Para evitar problemas con la instalación de paquetes,
especificar de manera explícita la versión, por ejemplo,
3.0.0
Agrega un paquete de NPM público no publicado en el siguiente formato:
"PACKAGE-NAME": "PACKAGE-URL"
Reemplaza lo siguiente:
- PACKAGE-NAME por el nombre del paquete
- PACKAGE-URL por la URL
tar.gz
del tercero de paquetes, por ejemplo,https://github.com/user/sample-package-repository/archive/master.tar.gz
.
Agrega un paquete de NPM privado autenticado en el siguiente formato:
"REGISTRY-SCOPE/PACKAGE-NAME": "PACKAGE-URL"
Reemplaza lo siguiente:
- REGISTRY-SCOPE por el nombre del paquete
REGISTRY-SCOPE debe coincidir con el alcance del registro
definida en el archivo
.nmprc
de tu repositorio. - PACKAGE-NAME por el nombre del paquete
- PACKAGE-URL por la URL
tar.gz
del paquete repositorio, por ejemplo,https://github.com/user/sample-package-repository/archive/master.tar.gz
- REGISTRY-SCOPE por el nombre del paquete
REGISTRY-SCOPE debe coincidir con el alcance del registro
definida en el archivo
Haz clic en Install packages.
Confirmación y envía los cambios.
En la siguiente muestra de código, se muestra el código abierto
Se agregó un paquete de dimensiones que cambia lentamente al archivo .package.json
:
```json
{
"name": "repository-name",
"dependencies": {
"@dataform/core": "2.0.3",
"dataform-scd": "https://github.com/dataform-co/dataform-scd/archive/0.3.tar.gz"
}
}
```
Importa una función de paquete o una constante a un archivo JavaScript en Dataform
Para usar una función o una constante desde un paquete dentro de un archivo JavaScript en Dataform, primero debes importarlo al archivo.
Para importar una función o una constante desde un paquete a un archivo JavaScript, sigue estos pasos:
- En tu espacio de trabajo, en el panel Files, selecciona un archivo
.js
en el cual en las que quieres usar el paquete. En el archivo, importa una función o una constante en el siguiente formato:
const { EXPORT-NAME } = require("PACKAGE-NAME");
- Reemplaza EXPORT-NAME por el nombre de la función o
constante que quieres usar, declarada en
module.exports
en el paqueteindex.js
. - Reemplaza PACKAGE-NAME por el nombre de del paquete que quieres usar.
- Reemplaza EXPORT-NAME por el nombre de la función o
constante que quieres usar, declarada en
Confirmación y envía los cambios.
En la siguiente muestra de código, se observa la función getDomain
de la
Se importó el paquete postoffice
y se usó en un archivo JavaScript:
/*
* Contents of postoffice index.js:
* module.exports = { getDomain };
*/
const { getDomain } = require("postoffice");
getDomain();
Importa un paquete completo a un archivo JavaScript en Dataform
Importar todo el paquete a un archivo JavaScript en lugar de importarlo funciones o constantes seleccionadas a un archivo JavaScript, sigue estos pasos:
- En tu lugar de trabajo, en el panel Files, selecciona un archivo
.js
. en la que quieres usar el paquete. En el archivo, importa el paquete en el siguiente formato:
const CONSTANT-NAME = require("PACKAGE-NAME");
- Reemplaza CONSTANT-NAME por un nombre para la constante.
- Reemplaza PACKAGE-NAME por el nombre del paquete. que quieres usar.
Confirmación y envía los cambios.
En la siguiente muestra de código, se observa la función getDomain
de la
Se importó el paquete postoffice
que se usó en un archivo JavaScript:
/*
* Contents of postoffice index.js:
* module.exports = { getDomain };
*/
const postoffice = require("postoffice");
postoffice.getDomain();
Importa una función de paquete o una constante a un archivo SQLX en Dataform
Para usar una función o una constante desde un paquete dentro de un archivo SQLX, primero debes importarlo al archivo.
Para importar una función o una constante desde un paquete a un archivo SQLX, sigue estos pasos:
- En tu lugar de trabajo, en el panel Files, selecciona un archivo
.sqlx
. en la que quieres usar el paquete. En el archivo, ingresa el siguiente bloque
js
:js { const { EXPORT-NAME } = require("PACKAGE-NAME"); }
- Reemplaza EXPORT-NAME por el nombre de la función.
constante que quieras usar, declarada en
module.exports
en el archivoindex.js
del paquete. - Reemplaza PACKAGE-NAME por el nombre del paquete. que quieres usar.
- Reemplaza EXPORT-NAME por el nombre de la función.
constante que quieras usar, declarada en
Confirmación y envía los cambios.
En la siguiente muestra de código, se observa la función getDomain
de la
Se importó el paquete postoffice
en un bloque js
y se usó en un
Instrucción SELECT
en un archivo SQLX:
/*
* Contents of postoffice index.js:
* module.exports = { getDomain };
*/
config {
type: "table",
}
js {
const { getDomain } = require("postoffice");
}
SELECT ${getDomain("email")} as test
Importa un paquete completo a un archivo SQLX en Dataform
Importar todo el paquete a un archivo SQLX en lugar de importarlo funciones o constantes seleccionadas a un archivo JavaScript, sigue estos pasos:
- En tu lugar de trabajo, en el panel Files, selecciona un archivo
.sqlx
. en la que quieres usar el paquete. En el archivo, importa el paquete en el siguiente formato:
js { const CONSTANT-NAME = require("PACKAGE-NAME"); }
- Reemplaza CONSTANT-NAME por un nombre para la constante.
- Reemplaza PACKAGE-NAME por el nombre del paquete. que quieres usar.
Confirmación y envía los cambios.
En la siguiente muestra de código, se observa el paquete postoffice
importado en
un bloque js
y su función getDomain
usada en un
Instrucción SELECT
en un archivo SQLX:
/*
* Contents of postoffice index.js:
* module.exports = { getDomain };
*/
config {
type: "table",
}
js {
const postoffice = require("postoffice");
}
SELECT ${postoffice.getDomain("email")} as test
¿Qué sigue?
- Para aprender a autenticar un paquete de NPM privado en Dataform, consulta Autentica un paquete privado en Dataform.
- Si quieres obtener información para administrar el paquete principal requerido de Dataform, consulta Administra el paquete principal de Dataform.
- Para aprender a crear tu propio paquete en Dataform, consulta Crea un paquete en Dataform.
- Si quieres aprender a usar un paquete de código abierto en Dataform, consulta Usa dimensiones que cambian lentamente en Dataform.