Este documento ajuda você a entender o conceito de repositórios no Dataform e como criar um novo.
Sobre os repositórios do Dataform
Cada repositório do Dataform contém uma coleção de arquivos SQLX e JavaScript que formam seu fluxo de trabalho, além de pacotes e arquivos de configuração do Dataform. Você interage com o conteúdo do repositório em um espaço de trabalho de desenvolvimento.
O Dataform mostra seus repositórios na página do Dataform em ordem alfabética de IDs. É possível classificar e filtrar os dados.
Para conferir seus repositórios, no Google Cloud console, acesse a página Dataform.
Cada repositório do Dataform está conectado a um agente de serviço ou conta de serviço. É possível selecionar um agente ou uma conta de serviço ao criar um repositório ou editar a conta de serviço mais tarde.
Por padrão, o Dataform usa um agente de serviço ou uma conta de serviço derivada do número do projeto no seguinte formato:
service-PROJECT_NUMBER@gcp-sa-dataform.iam.gserviceaccount.com
O Dataform usa o Git para registrar mudanças e gerenciar versões de arquivos. Cada repositório do Dataform corresponde a um repositório Git. Depois de criar um repositório do Dataform, é possível conectá-lo a um repositório remoto do GitHub, GitLab ou Bitbucket.
Em um repositório do Dataform, o Dataform armazena o código do repositório. Em um repositório conectado, o repositório de terceiros armazena o código do repositório. O Dataform interage com o repositório de terceiros para permitir que você edite e execute o conteúdo dele em um espaço de trabalho de desenvolvimento do Dataform.
Uma página do repositório do Dataform consiste nos seguintes componentes:
- Guia "Espaços de trabalho de desenvolvimento"
- Mostra os espaços de trabalho de desenvolvimento criados no repositório.
- Guia "Configurações de versão"
- Permite inspecionar, criar, editar e excluir versões.
- Guia "Registros de execução do fluxo de trabalho"
- Mostra os registros de execução do fluxo de trabalho do Dataform.
- Guia "Configurações de fluxo de trabalho"
- permite inspecionar, criar, editar e excluir configurações de fluxo de trabalho.
- Guia "Configurações"
- Mostra o nome e a localização do repositório. Para um repositório conectado a um repositório Git de terceiros, mostra a origem do repositório de terceiros, o nome da ramificação padrão e o token secreto. Mostra os botões para conectar o repositório a um repositório Git de terceiros e para editar a conexão Git.
- Botão "Criar espaço de trabalho de desenvolvimento"
- Permite criar um espaço de trabalho de desenvolvimento.
Depois de criar e inicializar um espaço de trabalho de desenvolvimento, é possível editar o arquivo de configurações do fluxo de trabalho para configurar as seguintes configurações do Dataform no repositório:
- O banco de dados padrão (ID do projetoGoogle Cloud ).
- O esquema padrão (ID do conjunto de dados do BigQuery).
- O local padrão do BigQuery.
- O esquema padrão (ID do conjunto de dados do BigQuery) para asserções.
- O depósito, que precisa ser definido como
bigquery
. - Variáveis definidas pelo usuário que são disponibilizadas ao código do projeto durante a compilação.
Para mais informações sobre as configurações do repositório do Dataform, consulte IProjectConfig na referência principal do Dataform.
Configurações do repositório
Ao criar um repositório do Dataform, é necessário definir as seguintes configurações:
- ID do repositório
- Um ID exclusivo do repositório. Os IDs podem incluir apenas números, letras, hifens e sublinhados.
- Região
Região do Dataform para armazenar o repositório e o conteúdo dele.
Essa região de armazenamento pode ser diferente da região de processamento em que o Dataform processa seu código e armazena a saída das execuções. Por padrão, a região de processamento é definida como a região padrão do conjunto de dados do BigQuery. É possível editar a região de processamento no arquivo de configurações do fluxo de trabalho depois de criar o repositório. Para mais informações, consulte Configurar as definições de fluxo de trabalho do Dataform.
- Agente de serviço ou conta de serviço
O agente de serviço do Dataform ou a conta de serviço personalizada associada ao repositório. Você pode selecionar o agente de serviço padrão do Dataform, uma conta de serviço associada ao seu projeto do Google Cloud ou inserir manualmente uma conta de serviço diferente. Por padrão, o Dataform usa um agente de serviço ou uma conta de serviço derivada do número do projeto no seguinte formato:
service-PROJECT_NUMBER@gcp-sa-dataform.iam.gserviceaccount.com
O Dataform usa o agente de serviço padrão para todas as operações do repositório. É possível usar uma conta de serviço diferente para executar fluxos de trabalho no repositório, mas o agente de serviço padrão ainda é usado para todas as outras operações do repositório.
- Modo restrito de simulação (prévia)
Ativa uma verificação de segurança adicional que exige a permissão
iam.serviceAccounts.actAs
no agente de serviço ou na conta de serviço. Para mais informações, consulte Usar o modo estrito de simulação.- Criptografia
Método de criptografia do repositório. É possível usar a criptografia padrão, uma chave de criptografia do Cloud KMS gerenciada pelo cliente ou uma chave CMEK padrão do Dataform. Para mais informações sobre o uso de chaves de criptografia gerenciadas pelo cliente (CMEK) no Dataform, consulte Usar chaves de criptografia gerenciadas pelo cliente.
Depois de criar um repositório, você pode conectá-lo ao GitHub ou GitLab.
Antes de começar
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator
(
roles/resourcemanager.projectCreator
), which contains theresourcemanager.projects.create
permission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the BigQuery and Dataform APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin
), which contains theserviceusage.services.enable
permission. Learn how to grant roles. -
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator
(
roles/resourcemanager.projectCreator
), which contains theresourcemanager.projects.create
permission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the BigQuery and Dataform APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin
), which contains theserviceusage.services.enable
permission. Learn how to grant roles. - Para usar a criptografia CMEK no repositório, ative a criptografia CMEK dos repositórios do Dataform.
No Google Cloud console, acesse a página Dataform.
Clique em Criar repositório.
Na página Criar repositório, no campo ID do repositório, insira um ID exclusivo.
Os IDs podem incluir apenas números, letras, hifens e sublinhados.
Na lista suspensa Região, selecione uma região do Dataform para armazenar o repositório e o conteúdo dele. Selecione a região do Dataform mais próxima de você.
Para uma lista de regiões disponíveis do Dataform, consulte Locais. A região do repositório não precisa corresponder ao local dos seus conjuntos de dados do BigQuery.
No arquivo
workflow_settings.yaml
, é possível definir a região de processamento em que o Dataform processa seu código e armazena a saída das execuções. A região de processamento precisa corresponder ao local dos conjuntos de dados do BigQuery, mas não precisa corresponder à região do repositório. Para mais informações, consulte Configurar as configurações de fluxo de trabalho do Dataform.No menu Conta de serviço, selecione um agente ou uma conta de serviço para o repositório.
No menu, selecione o agente de serviço padrão do Dataform ou qualquer conta de serviço associada ao projeto Google Cloud a que você tem acesso. As contas de serviço personalizadas são usadas apenas para a execução do fluxo de trabalho. Todas as outras operações de repositório ainda são realizadas pelo agente de serviço padrão do Dataform.
- Opcional: para selecionar uma conta de serviço que não aparece no menu, clique em Inserir manualmente e digite um ID de conta de serviço.
Opcional: selecione Aplicar verificação de permissão "actAs" para ativar mais verificações de segurança em determinadas ações do usuário no repositório. Para mais detalhes sobre essas verificações, consulte Usar o modo estrito de simulação.
Configure o mecanismo de criptografia selecionado para o repositório:
Chave CMEK padrão
O Dataform mostra e seleciona por padrão a caixa de seleção Usar a chave padrão do KMS.
- Para criptografar o repositório com a chave CMEK padrão do Dataform, deixe a caixa de seleção Usar a chave padrão do KMS marcada.
Chave CMEK exclusiva
Para criptografar o repositório com uma chave CMEK exclusiva, faça o seguinte:
- Se a caixa de seleção Usar a chave padrão do KMS estiver marcada por padrão, desmarque-a.
- Na seção Criptografia, selecione a opção Chaves de criptografia gerenciadas pelo cliente (CMEK).
- No menu suspenso Selecionar uma chave gerenciada pelo cliente, selecione uma chave CMEK exclusiva.
Criptografia em repouso
- Para usar a criptografia padrão, na seção Criptografia, selecione a opção Google-managed encryption key.
Clique em Criar e em Concluído.
No Google Cloud console, acesse a página Dataform.
Selecione um repositório e clique em Configurações.
Ao lado do campo Conta de serviço, clique em
Editar conta de serviço.No menu Conta de serviço, selecione um agente ou uma conta de serviço para o repositório.
No menu, selecione o agente de serviço padrão do Dataform ou qualquer conta de serviço associada ao projeto Google Cloud a que você tem acesso.
- Opcional: para selecionar uma conta de serviço que não aparece no menu, clique em Inserir manualmente e digite um ID de conta de serviço.
Clique em Salvar.
No Google Cloud console, acesse a página Dataform.
Ao lado do repositório que você quer excluir, clique no menu
Mais e selecione Excluir.Na janela Excluir repositório, insira o nome do repositório para confirmar a exclusão.
Clique em Excluir.
- Para saber como conectar um repositório do Dataform a um repositório Git de terceiros, consulte Conectar a um repositório Git de terceiros.
- Para saber mais sobre como o tamanho do repositório afeta o desenvolvimento no Dataform, consulte Visão geral do tamanho do repositório.
- Para saber mais sobre como dividir um repositório no Dataform, consulte Introdução à divisão de repositórios.
- Para saber como configurar as opções de processamento do Dataform, consulte Configurar as opções de fluxo de trabalho do Dataform.
- Para saber como criar e inicializar um espaço de trabalho, consulte Criar um espaço de trabalho.
Funções exigidas
Para receber as permissões necessárias para criar e excluir um repositório,
peça ao administrador para conceder a você o papel do IAM
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.
Para usar uma conta de serviço diferente do agente de serviço padrão do Dataform, conceda acesso à conta de serviço personalizada.
Para detalhes sobre os papéis necessários para executar fluxos de trabalho no BigQuery, consulte Papéis necessários para agentes de serviço do Dataform, contas de serviço personalizadas e Contas do Google.
Depois de criar um repositório do Dataform, o Dataform concede automaticamente a função de administrador do Dataform nesse repositório.
Criar um repositório
Para criar um repositório do Dataform, siga estas etapas:
Editar a conta de serviço
É possível associar uma conta de serviço personalizada a um repositório do Dataform para execução do fluxo de trabalho. Todas as outras operações do repositório ainda são realizadas pelo agente de serviço padrão do Dataform.
Para editar o agente de serviço ou a conta de serviço de um repositório do Dataform, siga estas etapas:
Excluir um repositório.
Para excluir um repositório e todo o conteúdo dele, siga estas etapas: