Para usar um pacote no Dataform, você precisa instalá-lo no seu repositório.
É possível instalar os seguintes tipos de pacotes no Dataform:
- Pacotes públicos do NPM publicados.
- Pacotes públicos não publicados do NPM.
- Pacotes NPM particulares autenticados.
Em seguida, para usar o pacote em um arquivo JavaScript ou SQLX, é necessário importar conteúdos selecionados do pacote para o arquivo. Também é possível importar um em um arquivo JavaScript ou SQLX em vez do conteúdo selecionado.
Para evitar problemas com a instalação de pacotes no ambiente de produção, recomendamos que você faça o seguinte:
Especifique explicitamente a versão do pacote em
package.json
, por exemplo,3.0.0
. Não use outros Opções dodependencies
depackage.json
, por exemplo,>version
.Testar novas versões de pacote em um ambiente de não produção. Para mais informações sobre como configurar diferentes ambientes de ciclo de vida de código, consulte Como gerenciar o ciclo de vida do código.
Antes de começar
No Console do Google Cloud, acesse a página Dataform.
Selecione ou crie um repositório.
Selecione ou crie um espaço de trabalho de desenvolvimento.
Se o repositório não tiver um arquivo
package.json
, Criepackage.json
e mova o pacote principal do Dataform.Opcional: para instalar um pacote particular, autenticar o pacote privado.
Funções exigidas
Para ter as permissões necessárias para instalar um pacote,
peça ao administrador para conceder a você
Papel do IAM Editor do Dataform (roles/dataform.editor
) em espaços de trabalho.
Para mais informações sobre como conceder papéis, consulte Gerenciar acesso.
Também é possível conseguir as permissões necessárias com papéis personalizados ou outros papéis predefinidos.
Instalar um pacote
Para instalar um pacote dentro de um repositório do Dataform, você precisa
adicione-o como uma dependência no arquivo package.json
.
Para adicionar um pacote como dependência no arquivo package.json
, faça o seguinte:
- No painel Arquivos do espaço de trabalho, selecione
package.json
. Adicione o pacote ao bloco
dependencies
:Adicione um pacote NPM público publicado no seguinte formato:
"PACKAGE-NAME": "PACKAGE-VERSION"
Substitua:
- PACKAGE-NAME pelo nome do pacote.
- PACKAGE-VERSION pela versão mais recente do
um pacote público do NPM publicado. Para evitar problemas com a instalação do pacote,
especifique explicitamente a versão, por exemplo,
3.0.0
.
Adicione um pacote público não publicado do NPM no seguinte formato:
"PACKAGE-NAME": "PACKAGE-URL"
Substitua:
- PACKAGE-NAME pelo nome do pacote.
- PACKAGE-URL pelo URL
tar.gz
do terceiro. repositório de pacotes, por exemplo,https://github.com/user/sample-package-repository/archive/master.tar.gz
.
Adicione um pacote NPM privado autenticado no seguinte formato:
"REGISTRY-SCOPE/PACKAGE-NAME": "PACKAGE-URL"
Substitua:
- REGISTRY-SCOPE pelo nome do pacote.
REGISTRY-SCOPE precisa corresponder ao escopo do registro
definido no arquivo
.nmprc
do seu repositório. - PACKAGE-NAME pelo nome do pacote.
- PACKAGE-URL pelo URL
tar.gz
do pacote repositório, por exemplohttps://github.com/user/sample-package-repository/archive/master.tar.gz
- REGISTRY-SCOPE pelo nome do pacote.
REGISTRY-SCOPE precisa corresponder ao escopo do registro
definido no arquivo
Clique em Install packages.
O exemplo de código a seguir mostra o código aberto
O pacote de dimensões que mudava lentamente foi adicionado ao arquivo .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"
}
}
```
Importar uma função de pacote ou constante para um arquivo JavaScript no Dataform
Para usar uma função ou uma constante de um pacote dentro de um arquivo JavaScript em o Dataform, primeiro você precisa importá-lo para o arquivo.
Para importar uma função ou uma constante de um pacote para um arquivo JavaScript, faça o seguinte: siga estas etapas:
- No painel Arquivos do espaço de trabalho, selecione um arquivo
.js
em que em que você quer usar o pacote. No arquivo, importe uma função ou uma constante no seguinte formato:
const { EXPORT-NAME } = require("PACKAGE-NAME");
- Substitua EXPORT-NAME pelo nome da função ou
constante que você quer usar, declarada em
module.exports
no arquivoindex.js
do pacote. - Substitua PACKAGE-NAME pelo nome do do pacote que você quer usar.
- Substitua EXPORT-NAME pelo nome da função ou
constante que você quer usar, declarada em
O exemplo de código a seguir mostra a função getDomain
do
Pacote postoffice
importado e usado em um arquivo JavaScript:
/*
* Contents of postoffice index.js:
* module.exports = { getDomain };
*/
const { getDomain } = require("postoffice");
getDomain();
Importar um pacote inteiro para um arquivo JavaScript no Dataform
Para importar o pacote inteiro para um arquivo JavaScript em vez de importar funções ou constantes selecionadas para um arquivo JavaScript, siga estas etapas:
- No painel Arquivos do espaço de trabalho, selecione um arquivo
.js
em em que você quer usar o pacote. No arquivo, importe o pacote no seguinte formato:
const CONSTANT-NAME = require("PACKAGE-NAME");
- Substitua CONSTANT-NAME por um nome para a constante.
- Substitua PACKAGE-NAME pelo nome do pacote. que você quer usar.
O exemplo de código a seguir mostra a função getDomain
do
Pacote postoffice
importado usado em um arquivo JavaScript:
/*
* Contents of postoffice index.js:
* module.exports = { getDomain };
*/
const postoffice = require("postoffice");
postoffice.getDomain();
Importar uma função de pacote ou constante para um arquivo SQLX no Dataform
Para usar uma função ou uma constante de um pacote dentro de um arquivo SQLX, primeiro é necessário importá-lo para o arquivo.
Para importar uma função ou uma constante de um pacote para um arquivo SQLX, siga estas etapas:
- No painel Arquivos do espaço de trabalho, selecione um arquivo
.sqlx
. em que você quer usar o pacote. No arquivo, insira o seguinte bloco
js
:js { const { EXPORT-NAME } = require("PACKAGE-NAME"); }
- Substitua EXPORT-NAME pelo nome da função.
ou constante que quer usar, declarada em
module.exports
no arquivoindex.js
do pacote. - Substitua PACKAGE-NAME pelo nome do pacote. que você quer usar.
- Substitua EXPORT-NAME pelo nome da função.
ou constante que quer usar, declarada em
O exemplo de código a seguir mostra a função getDomain
do
O pacote postoffice
foi importado em um bloco js
e usado em um
SELECT
em um arquivo SQLX:
/*
* Contents of postoffice index.js:
* module.exports = { getDomain };
*/
config {
type: "table",
}
js {
const { getDomain } = require("postoffice");
}
SELECT ${getDomain("email")} as test
Importar um pacote inteiro para um arquivo SQLX no Dataform
Para importar o pacote inteiro para um arquivo SQLX em vez de importar funções ou constantes selecionadas para um arquivo JavaScript, siga estas etapas:
- No painel Arquivos do espaço de trabalho, selecione um arquivo
.sqlx
. em que você quer usar o pacote. No arquivo, importe o pacote no seguinte formato:
js { const CONSTANT-NAME = require("PACKAGE-NAME"); }
- Substitua CONSTANT-NAME por um nome para a constante.
- Substitua PACKAGE-NAME pelo nome do pacote. que você quer usar.
O exemplo de código a seguir mostra o pacote postoffice
importado em
um bloco js
e a função getDomain
dele usada em um
SELECT
em um arquivo SQLX:
/*
* Contents of postoffice index.js:
* module.exports = { getDomain };
*/
config {
type: "table",
}
js {
const postoffice = require("postoffice");
}
SELECT ${postoffice.getDomain("email")} as test
A seguir
- Para saber como autenticar um pacote NPM privado no Dataform, consulte Autentique um pacote particular no Dataform.
- Para saber como gerenciar o pacote principal do Dataform, consulte Gerenciar o pacote principal do Dataform
- Para aprender a criar seu próprio pacote no Dataform, consulte Criar um pacote no Dataform
- Para aprender a usar um pacote de código aberto no Dataform, consulte Usar as dimensões que mudam lentamente no Dataform (em inglês).