Para crear un paquete que puedas volver a usar en varios repositorios de Dataform, debes crear un repositorio de Dataform dedicado al paquete y conectarlo a un repositorio de Git de terceros a fin de que esté disponible para otros repositorios de Dataform.
Luego, debes crear un archivo index.js
de nivel superior y agregar el contenido exportable de tu paquete, como funciones y constantes, al archivo. Para ver un ejemplo de un paquete creado en Dataform, consulta dataform-package-base
en GitHub.
Una vez que crees el paquete, puedes instalarlo en un repositorio de Dataform diferente y usar el contenido exportable en el paquete, como constantes y funciones, para desarrollar flujos de trabajo de SQL.
Como alternativa a crear un paquete, puedes reutilizar las funciones y constantes de JavaScript en un solo repositorio de Dataform con inclusiones. Para obtener más información, consulta Reutiliza variables y funciones con inclusiones en Dataform.
Antes de comenzar
En la consola de Google Cloud, ve a la página Dataform.
Crea un repositorio de Dataform dedicado a tu paquete. Haz coincidir el nombre del repositorio con el nombre de tu paquete.
Conecta el repositorio a un repositorio de Git de terceros que alojará tu paquete.
Crea y, luego, inicializa un lugar de trabajo en el repositorio de Dataform.
Funciones obligatorias
Si quieres obtener los permisos que necesitas para crear un paquete,
pídele a tu administrador que te otorgue el
rol de IAM de Administrador de Dataform (roles/dataform.admin
) en los repositorios.
Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso.
Es posible que también puedas obtener los permisos necesarios mediante funciones personalizadas, o bien otras funciones predefinidas.
Crea un paquete en Dataform
Para crear tu propio paquete con código JavaScript que puedes volver a usar en Dataform, sigue estos pasos en tu lugar de trabajo:
En el panel Files, haz clic en el menú
Más.Haz clic en Crear archivo.
En el panel Create new file, haz lo siguiente:
En el campo Agregar una ruta de acceso al archivo, ingresa
index.js
.Haz clic en Crear archivo.
En el archivo
index.js
, ingresa el código JavaScript que deseas que tu paquete exporte.Crea constantes en el siguiente formato:
const CONSTANT_NAME = CONSTANT_VALUE; module.exports = { CONSTANT_NAME };
Reemplaza lo siguiente:
CONSTANT_NAME
: Es el nombre de tu constante.CONSTANT_VALUE
: Es el valor de tu constante.
Crea funciones en el siguiente formato:
function FUNCTION_NAME(PARAMETERS) { FUNCTION_BODY } module.exports = { FUNCTION_NAME }
Reemplaza lo siguiente:
FUNCTION_NAME
: El nombre de la funciónPARAMETERS
: Son los parámetros de tu función.FUNCTION_BODY
: Es el código que deseas que ejecute la función.
Opcional: Haz clic en Formato.
Opcional: En el directorio
definitions
, agrega el código del paquete que no se exportará.
En la siguiente muestra de código del paquete, se ve el archivo index.js
del paquete postoffice
que exporta la función getDomain
:
// filename index.js
// package name postoffice
const GENERIC_DOMAINS = "('samplemail.com','samplemail.co.uk','examplemailbox.com'";
function getDomain(email) {
let cleanEmail = `trim(${email})`
const domain = `substr(${cleanEmail}, strpos(${cleanEmail}, '@') + 1)`;
return `case
when ${domain} in ${common.GENERIC_DOMAINS} then ${cleanEmail}
when ${domain} = "othermailbox.com" then "other.com"
when ${domain} = "mailbox.com" then "mailbox.global"
when ${domain} = "support.postman.com" then "postman.com"
else ${domain}
end`;
}
module.exports = { getDomain }
¿Qué sigue?
- Para aprender a instalar tu paquete en un repositorio y a importar su contenido en archivos JavaScript o SQLX, consulta Instala un paquete en Dataform.
- Para obtener más información sobre los paquetes de Dataform, consulta Reutiliza el código en varios repositorios con paquetes.
- Para aprender a escribir variables y funciones de JavaScript que puedas reutilizar en Dataform, consulta Reutiliza variables y funciones con inclusiones en Dataform.