Para usar um pacote no Dataform, é necessário instalá-lo no repositório.
É possível instalar os seguintes tipos de pacotes no Dataform:
- Publicou pacotes NPM públicos.
- Pacotes NPM públicos não publicados.
- Pacotes NPM particulares autenticados.
Em seguida, para usar o pacote em um arquivo JavaScript ou SQLX, é necessário importar o conteúdo selecionado do pacote para o arquivo. Também é possível importar um pacote inteiro para 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 o seguinte:
Especifique explicitamente a versão do pacote em
package.json
, por exemplo,3.0.0
. Não use outras opçõesdependencies
depackage.json
, por exemplo,>version
.Teste as novas versões do pacote em um ambiente que não seja de produção. Para mais informações sobre como configurar diferentes ambientes de ciclo de vida do código, consulte 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 privado, autenticar o pacote privado.
Funções exigidas
Para receber as permissões necessárias para instalar um pacote,
peça ao administrador que conceda a você o papel do IAM
Editor de formulários de dados (roles/dataform.editor
) nos espaços de trabalho.
Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.
Também é possível conseguir as permissões necessárias por meio de papéis personalizados ou de outros papéis predefinidos.
Instalar um pacote
Para instalar um pacote em um repositório do Dataform, 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 espaço de trabalho, selecione
package.json
no painel Files. Adicione o pacote ao bloco
dependencies
:Adicione um pacote público do NPM publicado no seguinte formato:
"PACKAGE-NAME": "PACKAGE-VERSION"
Substitua:
- PACKAGE-NAME pelo nome do pacote.
- PACKAGE-VERSION com a versão mais recente do
pacote público do NPM publicado. Para evitar problemas com a instalação de pacotes,
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 repositório de pacotes de terceiros, por exemplo,https://github.com/user/sample-package-repository/archive/master.tar.gz
.
Adicione um pacote NPM particular autenticado no seguinte formato:
"REGISTRY-SCOPE/PACKAGE-NAME": "PACKAGE-URL"
Substitua:
- REGISTRY-SCOPE pelo nome do pacote.
REGISTRY-SCOPE precisa corresponder ao escopo de registro
definido no arquivo
.nmprc
do repositório. - PACKAGE-NAME pelo nome do pacote.
- PACKAGE-URL pelo URL
tar.gz
do repositório do pacote, por exemplo,https://github.com/user/sample-package-repository/archive/master.tar.gz
.
- REGISTRY-SCOPE pelo nome do pacote.
REGISTRY-SCOPE precisa corresponder ao escopo de registro
definido no arquivo
Clique em Instalar pacotes.
O exemplo de código a seguir mostra o pacote de dimensões de mudança lenta
de código aberto público 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 ou constante de pacote para um arquivo JavaScript no Dataform
Para usar uma função ou uma constante de um pacote em um arquivo JavaScript no Dataform, primeiro é necessário importá-la para o arquivo.
Para importar uma função ou uma constante de um pacote para um arquivo JavaScript, siga estas etapas:
- No seu espaço de trabalho, no painel Files, selecione um arquivo
.js
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, declarado 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 você quer usar, declarado em
O exemplo de código a seguir mostra a função getDomain
do
pacote postoffice
importada e usada 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 seu espaço de trabalho, no painel Files, selecione um arquivo
.js
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 ou constante de pacote para um arquivo SQLX no Dataform
Para usar uma função ou uma constante de um pacote em um arquivo SQLX, primeiro é necessário importá-la para o arquivo.
Para importar uma função ou uma constante de um pacote para um arquivo SQLX, siga estas etapas:
- No seu espaço de trabalho, no painel Files, 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 você quer usar, declarado 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 você quer usar, declarado em
O exemplo de código abaixo mostra a função getDomain
do pacote postoffice
importado em um bloco js
e usado em uma instrução 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 seu espaço de trabalho, no painel Files, 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 abaixo mostra o pacote postoffice
importado em
um bloco js
e a função getDomain
usada em uma
instrução 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 particular no Dataform, consulte Autenticar um pacote particular no Dataform.
- Para saber como gerenciar o pacote principal do Dataform, consulte Gerenciar o pacote principal do Dataform.
- Para saber como criar seu próprio pacote no Dataform, consulte Criar um pacote no Dataform.
- Para saber como usar um pacote de código aberto no Dataform, consulte Usar dimensões que mudam lentamente no Dataform.