Pour créer un package que vous pouvez réutiliser dans plusieurs dépôts Dataform, vous devez créer un dépôt Dataform dédié au package et le connecter à un dépôt Git tiers pour le rendre disponible dans d'autres dépôts Dataform.
Vous devez ensuite créer un fichier index.js
de premier niveau et y ajouter le contenu de votre package exportable, tel que des fonctions et des constantes. Pour obtenir un exemple de package créé dans Dataform, consultez la section concernant dataform-package-base
sur GitHub.
Une fois le package créé, vous pouvez l'installer dans un autre dépôt Dataform et utiliser le contenu exportable du package, comme les constantes et les fonctions, pour développer des workflows SQL.
Au lieu de créer un package, vous pouvez réutiliser des fonctions et des constantes JavaScript dans un seul dépôt Dataform avec des inclusions. Pour en savoir plus, consultez Réutiliser des variables et des fonctions avec des inclusions dans Dataform.
Avant de commencer
Dans la console Google Cloud, accédez à la page Dataform.
Créez un dépôt Dataform dédié à votre package. Faites correspondre le nom du dépôt avec le nom de votre package.
Connectez le dépôt à un dépôt Git tiers qui hébergera votre package.
Créez et initialisez un espace de travail dans le dépôt Dataform.
Rôles requis
Pour obtenir les autorisations nécessaires pour créer un package, demandez à votre administrateur de vous attribuer le rôle IAM Administrateur Dataform (roles/dataform.admin
) pour les dépôts.
Pour en savoir plus sur l'attribution de rôles, consultez la section Gérer les accès.
Vous pouvez également obtenir les autorisations requises via des rôles personnalisés ou d'autres rôles prédéfinis.
Créer un package dans Dataform
Pour créer votre propre package avec du code JavaScript que vous pouvez réutiliser dans Dataform, procédez comme suit dans votre espace de travail:
Dans le volet Fichiers, cliquez sur le menu Plus
.Cliquez sur Créer un fichier.
Dans le volet Create new file (Créer un fichier), procédez comme suit:
Dans le champ Ajouter un chemin d'accès au fichier, saisissez
index.js
.Cliquez sur Créer un fichier.
Dans le fichier
index.js
, saisissez le code JavaScript que vous souhaitez que votre package exporte.Créez des constantes au format suivant:
const CONSTANT_NAME = CONSTANT_VALUE; module.exports = { CONSTANT_NAME };
Remplacez les éléments suivants :
CONSTANT_NAME
: nom de votre constanteCONSTANT_VALUE
: valeur de votre constante
Créez des fonctions au format suivant:
function FUNCTION_NAME(PARAMETERS) { FUNCTION_BODY } module.exports = { FUNCTION_NAME }
Remplacez les éléments suivants :
FUNCTION_NAME
: nom de votre fonctionPARAMETERS
: paramètres de votre fonction.FUNCTION_BODY
: code que la fonction doit exécuter.
(Facultatif) Cliquez sur Format.
Facultatif: Dans le répertoire
definitions
, ajoutez le code de votre package qui ne sera pas exporté.
L'exemple de code de package suivant montre le fichier index.js
du package postoffice
qui exporte la fonction 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 }
Étapes suivantes
- Pour savoir comment installer votre package dans un dépôt et importer son contenu dans des fichiers JavaScript ou SQLX, consultez Installer un package dans Dataform.
- Pour en savoir plus sur les packages dans Dataform, consultez la page Réutiliser du code dans plusieurs dépôts avec des packages.
- Pour apprendre à écrire des variables et des fonctions JavaScript que vous pouvez réutiliser dans Dataform, consultez la page Réutiliser des variables et des fonctions avec des inclusions dans Dataform.