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çõesdependenciesdepackage.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.jsone 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.jsonno 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.gzdo 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
.nmprcdo repositório. - PACKAGE-NAME pelo nome do pacote.
- PACKAGE-URL pelo URL
tar.gzdo 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
.jsem 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.exportsno arquivoindex.jsdo 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
.jsem 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
.sqlxem 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.exportsno arquivoindex.jsdo 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
.sqlxem 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.