Crie um repositório

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.

    Aceder ao Dataform

Cada repositório do Dataform está associado a um agente de serviço ou a uma conta de serviço. Pode selecionar um agente de serviço ou 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 um agente do serviço ou 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 ligado 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 afirmaçõ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.

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. Pode selecionar o agente do serviço Dataform predefinido, uma conta de serviço associada ao seu Google Cloud projeto ou introduzir manualmente uma conta de serviço diferente. Por predefinição, o Dataform usa um agente do serviço ou 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 agente do serviço predefinido 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 o agente de serviço predefinido continua a ser usado 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 no agente de serviço ou 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

  1. 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.
  2. 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 the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. 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 the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

  5. 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 the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  6. Verify that billing is enabled for your Google Cloud project.

  7. 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 the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

  8. Para usar a encriptação CMEK para o repositório, ative a encriptação CMEK de repositórios do Dataform.
  9. Funções necessárias

    Para receber as autorizações de que precisa para criar e eliminar um repositório, peça ao seu administrador que lhe conceda a função de 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 que não seja o agente de serviço do Dataform predefinido, 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 agentes de serviço do Dataform, contas de serviço personalizadas e Contas Google.

    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:

    1. Na Google Cloud consola, aceda à página Dataform.

      Aceder ao Dataform

    2. Clique em Criar repositório.

    3. 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.

    4. 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.

    5. No menu Conta de serviço, selecione um agente de serviço ou uma conta de serviço para o repositório.

      No menu, pode selecionar o agente do serviço Dataform predefinido 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 pelo agente do serviço Dataform predefinido.

      1. 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.
    6. 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.

    7. 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 KMS predefinida selecionada.

      Chave CMEK exclusiva

      Para encriptar o repositório com uma chave CMEK exclusiva, faça o seguinte:

      1. Se a caixa de verificação Usar a chave KMS predefinida estiver selecionada por predefinição, desmarque a caixa de verificação.
      2. Na secção Encriptação, selecione a opção Chaves de encriptação geridas pelo cliente (CMEK).
      3. No menu pendente Selecionar uma chave gerida pelo cliente, selecione uma chave CMEK exclusiva.

      Encriptação em repouso

    8. Clique em Criar e, de seguida, em Concluído.

    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 pelo agente do serviço Dataform predefinido.

    Para editar o agente de serviço ou a conta de serviço de um repositório do Dataform, siga estes passos:

    1. Na Google Cloud consola, aceda à página Dataform.

      Aceder ao Dataform

    2. Selecione um repositório e, de seguida, clique em Definições.

    3. No campo Conta de serviço, clique em Editar conta de serviço.

    4. No menu Conta de serviço, selecione um agente de serviço ou uma conta de serviço para o repositório.

      No menu, pode selecionar o agente do serviço Dataform predefinido ou qualquer conta de serviço associada ao seu projeto ao qual tem acesso. Google Cloud

      1. 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.
    5. Clique em Guardar.

    Elimine um repositório

    Para eliminar um repositório e todo o respetivo conteúdo, siga estes passos:

    1. Na Google Cloud consola, aceda à página Dataform.

      Aceder ao Dataform

    2. Junto ao repositório que quer eliminar, clique no menu Mais e, de seguida, selecione Eliminar.

    3. Na janela Eliminar repositório, introduza o nome do repositório para confirmar a eliminação.

    4. Clique em Eliminar.

    O que se segue?