Este documento ajuda a compreender o conceito de repositórios no Dataform e como criar um novo repositório.
Acerca dos repositórios do Dataform
Cada repositório do Dataform contém uma coleção de ficheiros SQLX e JavaScript que compõem o seu fluxo de trabalho, bem como ficheiros de configuração e pacotes do Dataform. Interage com o conteúdo do seu repositório num espaço de trabalho de desenvolvimento.
O Dataform apresenta os seus repositórios na página do Dataform por ordem alfabética dos IDs dos repositórios. Pode ordená-los e filtrá-los.
Para ver os seus repositórios, na Google Cloud consola, aceda à página Dataform.
Cada repositório do Dataform está ligado a uma conta de serviço. Pode selecionar uma conta de serviço quando criar um repositório ou editar a conta de serviço mais tarde.
Por predefinição, o Dataform usa uma conta de serviço derivada do número do seu projeto no seguinte formato:
service-PROJECT_NUMBER@gcp-sa-dataform.iam.gserviceaccount.com
O Dataform usa o Git para registar alterações e gerir versões de ficheiros. Cada repositório do Dataform corresponde a um repositório Git. Depois de criar um repositório do Dataform, pode associá-lo a um repositório remoto do GitHub, GitLab ou Bitbucket.
Num repositório do Dataform, o Dataform armazena o código do repositório. Num repositório associado, o repositório de terceiros armazena o código do repositório. O Dataform interage com o repositório de terceiros para lhe permitir editar e executar o respetivo conteúdo num espaço de trabalho de desenvolvimento do Dataform.
Uma página do repositório do Dataform é composta pelos seguintes componentes:
- Separador Espaços de trabalho de desenvolvimento
- Apresenta os espaços de trabalho de desenvolvimento criados no repositório.
- Separador Configurações de lançamento
- Permite inspecionar, criar, editar e eliminar lançamentos.
- Separador Registos de execução do fluxo de trabalho
- Apresenta registos de execução do fluxo de trabalho do Dataform.
- Separador Configurações do fluxo de trabalho
- Permite inspecionar, criar, editar e eliminar configurações de fluxo de trabalho.
- Separador Definições
- Apresenta o nome e a localização do repositório. Para um repositório associado a um repositório Git de terceiros, apresenta a origem do repositório de terceiros, o nome da ramificação predefinida e a chave secreta. Apresenta os botões para associar o repositório a um repositório Git de terceiros e para editar a associaçã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, pode editar o ficheiro de definições do fluxo de trabalho para configurar as seguintes definições do Dataform do seu repositório:
- A base de dados predefinida (Google Cloud ID do projeto).
- O esquema predefinido (ID do conjunto de dados do BigQuery).
- A localização predefinida do BigQuery.
- O esquema predefinido (ID do conjunto de dados do BigQuery) para asserções.
- O armazém, que tem de ser definido como
bigquery
. - Variáveis definidas pelo utilizador que são disponibilizadas ao código do projeto durante a compilação.
Para mais informações sobre as definições do repositório do Dataform, consulte o artigo IProjectConfig na referência principal do Dataform.
Definições do repositório
Quando cria um repositório do Dataform, tem de definir as seguintes definições do repositório:
- ID do repositório
- Um ID exclusivo do repositório. Os IDs só podem incluir números, letras, hífenes e sublinhados.
- Região
Região do Dataform para armazenar o repositório e o respetivo conteúdo.
Esta região de armazenamento pode ser diferente da região de processamento onde o Dataform processa o seu código e armazena o resultado das execuções. Por predefinição, a região de processamento é definida como a região do conjunto de dados do BigQuery predefinido. Pode editar a região de processamento no ficheiro de definições do fluxo de trabalho depois de criar o repositório. Para mais informações, consulte o artigo Configure as definições do fluxo de trabalho do Dataform.
- Conta de serviço
Conta de serviço associada ao repositório. Pode selecionar a conta de serviço do Dataform predefinida, uma conta de serviço associada ao seu projeto doGoogle Cloud ou introduzir manualmente uma conta de serviço diferente. Por predefinição, o Dataform usa uma conta de serviço derivada do número do seu projeto no seguinte formato:
service-PROJECT_NUMBER@gcp-sa-dataform.iam.gserviceaccount.com
O Dataform usa a conta de serviço predefinida para todas as operações do repositório. Pode usar uma conta de serviço diferente para executar fluxos de trabalho no seu repositório, mas a conta de serviço predefinida continua a ser usada para todas as outras operações do repositório.
- Modo de atuação rigoroso (pré-visualização)
Ativa uma verificação de segurança adicional que requer a autorização
iam.serviceAccounts.actAs
na conta de serviço. Para mais informações, consulte o artigo Use o modo de atuação rigoroso.- Encriptação
Método de encriptação para o repositório. Pode usar a encriptação predefinida, uma chave de encriptação do Cloud KMS gerida pelo cliente exclusiva ou uma chave CMEK do Dataform predefinida. Para mais informações sobre a utilização de chaves de encriptação geridas pelo cliente (CMEK) no Dataform, consulte o artigo Use chaves de encriptação geridas pelo cliente.
Depois de criar um repositório, pode associá-lo ao GitHub ou ao 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.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the BigQuery and Dataform APIs.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the BigQuery and Dataform APIs.
- Para usar a encriptação CMEK para o repositório, ative a encriptação CMEK de repositórios do Dataform.
Na Google Cloud consola, aceda à página Dataform.
Clique em Criar repositório.
Na página Criar repositório, no campo ID do repositório, introduza um ID exclusivo.
Os IDs só podem incluir números, letras, hífenes e sublinhados.
Na lista pendente Região, selecione uma região do Dataform para armazenar o repositório e o respetivo conteúdo. Selecione a região do Dataform mais próxima da sua localização.
Para ver uma lista das regiões do Dataform disponíveis, consulte o artigo Localizações. A região do repositório não tem de corresponder à localização dos seus conjuntos de dados do BigQuery.
No ficheiro
workflow_settings.yaml
, pode definir a região de tratamento onde o Dataform trata o seu código e armazena o resultado das execuções. A região de processamento tem de corresponder à localização dos seus conjuntos de dados do BigQuery, mas não tem de corresponder à região do repositório. Para mais informações, consulte o artigo Configure as definições do fluxo de trabalho do Dataform.No menu Conta de serviço, selecione uma conta de serviço para o repositório.
No menu, pode selecionar a conta de serviço do Dataform predefinida ou qualquer conta de serviço associada ao seu Google Cloud projeto ao qual tem acesso. Tenha em atenção que as contas de serviço personalizadas são usadas apenas para a execução do fluxo de trabalho. Todas as outras operações do repositório continuam a ser realizadas pela conta de serviço do Dataform predefinida.
- Opcional: para selecionar uma conta de serviço que não é apresentada no menu, clique em Introduzir manualmente e introduza um ID da conta de serviço.
Opcional: selecione Aplicar verificação de autorização "actAs" para ativar verificações de segurança adicionais em determinadas ações do utilizador no repositório. Para ver detalhes sobre estas verificações, consulte o artigo Use o modo de atuação rigoroso.
Configure o mecanismo de encriptação selecionado para o repositório:
Chave CMEK predefinida
O Dataform apresenta a caixa de verificação Usar a chave do KMS predefinida e seleciona-a por predefinição.
- Para encriptar o repositório com a chave CMEK do Dataform predefinida, mantenha a caixa de verificação Usar a chave do KMS predefinida selecionada.
Chave CMEK exclusiva
Para encriptar o repositório com uma chave CMEK exclusiva, faça o seguinte:
- Se a caixa de verificação Usar a chave KMS predefinida estiver selecionada por predefinição, desmarque a caixa de verificação.
- Na secção Encriptação, selecione a opção Chaves de encriptação geridas pelo cliente (CMEK).
- No menu pendente Selecionar uma chave gerida pelo cliente, selecione uma chave CMEK exclusiva.
Encriptação em repouso
- Para usar a encriptação predefinida, na secção Encriptação, selecione a opção Google-managed encryption key.
Clique em Criar e, de seguida, em Concluído.
Na Google Cloud consola, aceda à página Dataform.
Selecione um repositório e, de seguida, clique em Definições.
No campo Conta de serviço, clique em
Editar conta de serviço.No menu pendente Conta de serviço, selecione uma conta de serviço para o repositório.
No menu pendente, pode selecionar a conta de serviço do Dataform predefinida ou qualquer conta de serviço associada ao seu projeto ao qual tem acesso. Google Cloud
- Opcional: para selecionar uma conta de serviço que não é apresentada no menu pendente, clique em Introduzir manualmente e introduza um ID da conta de serviço.
Clique em Guardar.
Na Google Cloud consola, aceda à página Dataform.
Junto ao repositório que quer eliminar, clique no menu
Mais e, de seguida, selecione Eliminar.Na janela Eliminar repositório, introduza o nome do repositório para confirmar a eliminação.
Clique em Eliminar.
- Para saber como associar um repositório do Dataform a um repositório Git de terceiros, consulte o artigo Associe a um repositório Git de terceiros.
- Para saber mais sobre como o tamanho do repositório afeta o desenvolvimento no Dataform, consulte a Vista geral do tamanho do repositório.
- Para saber como dividir um repositório no Dataform, consulte o artigo Introdução à divisão de repositórios.
- Para saber como configurar as definições de processamento do Dataform, consulte o artigo Configure as definições do fluxo de trabalho do Dataform.
- Para saber como criar e inicializar um espaço de trabalho, consulte o artigo Crie um espaço de trabalho.
Funções necessárias
Para receber as autorizações de que
precisa para criar e eliminar um repositório,
peça ao seu administrador para lhe conceder a
função do IAM Administrador do Dataform (roles/dataform.admin
) nos repositórios.
Para mais informações sobre a atribuição de funções, consulte o artigo Faça a gestão do acesso a projetos, pastas e organizações.
Também pode conseguir as autorizações necessárias através de funções personalizadas ou outras funções predefinidas.
Para usar uma conta de serviço diferente da conta de serviço do Dataform predefinida, conceda acesso à conta de serviço personalizada.
Para ver detalhes sobre as funções necessárias para executar fluxos de trabalho no BigQuery, consulte Funções necessárias para contas de serviço do Dataform.
Depois de criar um repositório do Dataform, o Dataform concede-lhe automaticamente a função de administrador do Dataform nesse repositório.
Crie um repositório
Para criar um repositório do Dataform, siga estes passos:
Edite a conta de serviço
Pode associar uma conta de serviço personalizada a um repositório do Dataform para a execução do fluxo de trabalho. Todas as outras operações do repositório continuam a ser realizadas pela conta de serviço do Dataform predefinida.
Para editar a conta de serviço de um repositório do Dataform, siga estes passos:
Elimine um repositório
Para eliminar um repositório e todo o respetivo conteúdo, siga estes passos: