Esta página mostra como fazer o seguinte:
- Instale um pacote JavaScript em um repositório do Dataform.
- Autentique um pacote NPM particular para permitir a instalação dele em um repositório.
- Crie um pacote JavaScript personalizado que pode ser usado para desenvolver fluxos de trabalho.
Antes de começar
No Google Cloud console, acesse a página Dataform.
Faça uma ou as duas ações a seguir:
- Para instalar um pacote em um repositório ou autenticar um pacote NPM
privado para ativar a instalação, siga estas etapas:
- Selecione ou crie um repositório.
- Selecione ou crie um espaço de trabalho de desenvolvimento.
- Opcional: para instalar um pacote particular, autentique o pacote.
- Se o repositório não tiver um arquivo
package.json, criepackage.jsone mova o pacote principal do Dataform.
- Para criar um pacote, siga estas etapas:
- Crie um repositório do Dataform dedicado ao seu pacote. Faça o nome do repositório corresponder ao nome do pacote.
- Conecte o repositório a um repositório Git de terceiros que vai hospedar seu pacote.
- Crie e inicialize um espaço de trabalho no repositório do Dataform.
- Para instalar um pacote em um repositório ou autenticar um pacote NPM
privado para ativar a instalação, siga estas etapas:
Verifique se você tem as permissões necessárias para concluir as tarefas neste documento.
Funções exigidas
Para conseguir as permissões necessárias a fim de concluir as tarefas neste documento, peça ao administrador para conceder a você os seguintes papéis do IAM:
- Editor do Dataform (
roles/dataform.editor) em espaços de trabalho e repositórios - Administrador do Dataform (
roles/dataform.admin) em repositórios
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 usando papéis personalizados ou outros papéis predefinidos.
Instalar um pacote
Esta seção mostra como instalar e importar um pacote JavaScript para um arquivo JavaScript e um arquivo SQLX. Assim, você pode usar o pacote para desenvolver fluxos de trabalho no Dataform.
Para usar um pacote no Dataform, instale-o no seu repositório.
É possível instalar os seguintes tipos de pacotes no Dataform:
- Pacotes NPM públicos publicados
- Pacotes públicos do NPM não publicados
- Pacotes NPM particulares autenticados
Em seguida, para usar o pacote em um arquivo JavaScript ou SQLX, importe 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 que você faça o seguinte:
Especifique explicitamente a versão do pacote em
package.json, por exemplo,3.0.0. Não use outras opções dedependenciesdopackage.json, como>version.Teste novas versões de pacotes em um ambiente de não produção. Para mais informações sobre como configurar diferentes ambientes de ciclo de vida do fluxo de trabalho, consulte Práticas recomendadas para o ciclo de vida do fluxo de trabalho.
Adicionar um pacote como dependência
Para instalar um pacote em um repositório do Dataform, adicione-o como uma dependência no arquivo package.json:
- No espaço de trabalho, no painel Arquivos, 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 com o nome do pacote.
- PACKAGE-VERSION com a versão mais recente do
pacote NPM público 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 do NPM não publicado no seguinte formato:
"PACKAGE-NAME": "PACKAGE-URL"Substitua:
- PACKAGE-NAME com o nome do pacote.
- PACKAGE-URL com o 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 com o nome do pacote.
REGISTRY-SCOPE precisa corresponder ao escopo do registro
definido no arquivo
.npmrcdo seu repositório. - PACKAGE-NAME com o nome do pacote.
- PACKAGE-URL com o URL
tar.gzdo repositório de pacotes, por exemplo,https://github.com/user/sample-package-repository/archive/master.tar.gz.
- REGISTRY-SCOPE com o nome do pacote.
REGISTRY-SCOPE precisa corresponder ao escopo do registro
definido no arquivo
Clique em Instalar pacotes.
O exemplo de código a seguir mostra o pacote público de código aberto
Slowly changing dimensions 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 constante de um pacote em um arquivo JavaScript no Dataform, primeiro importe 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 Arquivos, 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, declarada em
module.exportsno arquivo do pacoteindex.js. - 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, declarada 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 espaço de trabalho, no painel Arquivos, 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 constante de um pacote em um arquivo SQLX, primeiro importe 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 Arquivos, 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, declarada em
module.exportsno arquivo do pacoteindex.js. - 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, declarada em
O exemplo de código a seguir 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 {