Criar e gerenciar repositórios
Os repositórios do BigQuery permitem controlar as versões dos arquivos de código e colaborar com sua equipe. É possível criar, compartilhar e excluir repositórios do BigQuery ou conectá-los a um repositório Git de terceiros.
Para uma experiência de controle de versões mais simplificada e baseada em pastas, recomendamos o uso de repositórios Git do BigQuery Studio (pré-lançamento). Com essa integração, é possível trabalhar com ramificações do Git diretamente no navegador de arquivos do BigQuery Studio e clonar vários repositórios de uma só vez, sem gerenciar espaços de trabalho separados.
Antes de começar
- Faça login na sua conta do Google Cloud . Se você começou a usar o Google Cloudagora, crie uma conta para avaliar o desempenho dos nossos produtos em situações reais. Clientes novos também recebem US $300 em créditos para executar, testar e implantar cargas de trabalho sem custos financeiros.
-
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 role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the BigQuery and Dataform APIs, if any are not already enabled.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). 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 role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the BigQuery and Dataform APIs, if any are not already enabled.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.
Funções exigidas
Para receber as permissões necessárias para trabalhar com repositórios e espaços de trabalho, peça ao administrador para conceder a você os seguintes papéis do IAM em repositórios e espaços de trabalho:
-
Criar e gerenciar repositórios compartilhados:
Proprietário do código (
roles/dataform.codeOwner) -
Criar e excluir espaços de trabalho em repositórios compartilhados:
Editor de código (
roles/dataform.codeEditor) -
Criar, modificar e controlar versões de arquivos em espaços de trabalho em repositórios compartilhados:
Editor de código (
roles/dataform.codeEditor) -
Visualizar espaços de trabalho e os arquivos deles em repositórios compartilhados:
Visualização de código (
roles/dataform.codeViewer) -
Criar e gerenciar repositórios particulares, incluindo todas as ações com espaços de trabalho e arquivos no repositório particular:
Criador de código (
roles/dataform.codeCreator)
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.
Os principais que têm o papel de Editor de código em um repositório podem editar todos os espaços de trabalho no repositório.
Os repositórios particulares que você cria ainda ficam visíveis para os principais que recebem os papéis de administrador do BigQuery ou de administrador do BigQuery Studio no nível do projeto. Esses principais podem compartilhar seu repositório particular com outros usuários.
Considerações de segurança para repositórios
Como os recursos de código no BigQuery são alimentados pelo Dataform, considere as seguintes implicações de segurança para usuários com acesso a esses recursos:
- A visibilidade dos recursos de código é controlada pelas permissões do Dataform no nível do projeto. Os usuários com a permissão
dataform.repositories.list, que está incluída nos papéis padrão do BigQuery, como Usuário de jobs do BigQuery, Usuário do BigQuery Studio e Usuário do BigQuery, podem ver todos os recursos de código no painel Explorador do projeto do Google Cloud , independentemente de terem criado esses recursos ou de eles terem sido compartilhados com eles. Para restringir a visibilidade, crie papéis personalizados que excluam a permissãodataform.repositories.list. - Todas as secrets compartilhadas com o agente de serviço do Dataform podem ser acessadas por usuários que podem editar esses recursos. Para proteger suas credenciais, restrinja o acesso de criação e edição a usuários confiáveis e limite os secrets acessíveis ao agente de serviço do Dataform. Para mais informações, consulte Acesso a secrets durante a instalação do pacote.
Para mais informações, consulte Considerações de segurança para permissões do Dataform.
Criar um repositório
Para criar um repositório do BigQuery, siga estas etapas:
No console do Google Cloud , acesse a página BigQuery.
No painel à esquerda, clique em Explorer:

Se o painel esquerdo não aparecer, clique em Expandir painel esquerdo para abrir.
No painel Explorer, expanda o projeto e clique em Repositórios para abrir a guia Repositórios no painel de detalhes.
Clique em Adicionar repositório.
No painel Criar repositório, no campo ID do repositório, digite um ID exclusivo.
Os IDs podem incluir apenas números, letras, hifens e sublinhados.
Na lista suspensa Região, selecione uma região do BigQuery para armazenar o repositório e o conteúdo dele. Selecione a região do BigQuery mais próxima do seu local.
Para uma lista de regiões disponíveis do BigQuery, consulte Locais do BigQuery Studio. A região do repositório não precisa corresponder ao local dos conjuntos de dados do BigQuery.
Clique em Criar.
Conectar-se a um repositório de terceiros
Nesta seção, mostramos como conectar um repositório do BigQuery a um repositório remoto. Depois de conectar os repositórios, é possível realizar ações do Git nos arquivos dos espaços de trabalho contidos no repositório. Por exemplo, extrair atualizações do repositório remoto e enviar mudanças para o repositório remoto.
Recomendamos criar um repositório dedicado do BigQuery para cada repositório remoto ao qual você se conectar. Dê ao repositório do BigQuery um nome semelhante ao do repositório remoto para facilitar o mapeamento.
É possível conectar um repositório remoto por HTTPS ou SSH. A conexão de um repositório do BigQuery a um repositório remoto pode falhar se o repositório remoto não estiver aberto para a Internet pública, por exemplo, se estiver protegido por um firewall. A tabela a seguir lista os provedores de Git compatíveis e os métodos de conexão disponíveis para os repositórios deles:
| Provedor do git | Método de conexão |
|---|---|
| Serviços de DevOps do Azure | SSH |
| Bitbucket | SSH |
| GitHub | SSH ou HTTPS |
| GitLab | SSH ou HTTPS |
Conectar um repositório remoto por SSH
Para conectar um repositório remoto por SSH, é preciso gerar uma chave SSH e um secret do Secret Manager. A chave SSH consiste em uma chave SSH pública e uma chave SSH privada. É preciso compartilhar a chave SSH pública com o provedor do Git e criar um secret do Secret Manager com a chave SSH privada. Em seguida, compartilhe o secret com o agente de serviço do Dataform.
O BigQuery usa o secret com a chave SSH privada para fazer login no provedor Git e confirmar as mudanças em nome dos usuários. O BigQuery faz essas confirmações usando o endereço de e-mail do usuário do Google Cloud para que você possa saber quem fez cada confirmação.
Para conectar um repositório remoto a um repositório do BigQuery por SSH, siga estas etapas:
No seu provedor Git, faça o seguinte:
Serviços de DevOps do Azure
- No Azure DevOps Services, crie uma chave SSH privada.
- Faça upload da chave SSH pública para o repositório do Azure DevOps Services.
Bitbucket
- No Bitbucket, crie uma chave SSH privada.
- Faça upload da chave SSH pública para o repositório do Bitbucket.
GitHub
- No GitHub, verifique se há chaves SSH.
- Se você não tiver chaves SSH ou quiser usar uma nova, crie uma chave SSH privada.
- Faça upload da chave SSH pública do GitHub para seu repositório do GitHub.
GitLab
- No GitLab, crie uma chave SSH privada.
- Faça upload da chave SSH pública do GitLab para o repositório do GitLab.
No Secret Manager, crie um secret e cole sua chave SSH privada como o valor do secret. Sua chave SSH privada precisa ser armazenada em um arquivo semelhante a
~/.ssh/id_ed25519. Dê um nome ao secret para que você possa encontrá-lo no futuro.Conceda acesso ao secret ao agente de serviço do Dataform.
O ID do agente de serviço do Dataform está no seguinte formato:
service-PROJECT_NUMBER@gcp-sa-dataform.iam.gserviceaccount.comConceda o papel
roles/secretmanager.secretAccessorà conta de serviço.No console do Google Cloud , acesse a página BigQuery.
No painel à esquerda, clique em Explorer:

No painel Explorer, expanda o projeto e clique em Repositórios para abrir a guia Repositórios no painel de detalhes.
Selecione o repositório do BigQuery que você quer conectar ao repositório remoto.
No editor, selecione a guia Configuração.
Clique em Conectar com o Git.
No painel Conectar ao repositório remoto, selecione o botão de opção SSH.
No campo URL do repositório Git remoto, digite o URL do repositório Git remoto, terminando com
.git.O URL do repositório Git remoto precisa estar em um dos seguintes formatos:
- URL absoluto:
ssh://git@{host_name}[:{port}]/{repository_path},porté opcional. - URL semelhante ao SCP:
git@{host_name}:{repository_path}.
- URL absoluto:
No campo Nome da ramificação remota padrão, digite o nome da ramificação principal do repositório remoto do Git.
No menu suspenso Secret, selecione o secret que você criou que contém a chave privada SSH.
No campo Valor da chave pública do host SSH, digite a chave pública do host do seu provedor Git.
Serviços de DevOps do Azure
Para recuperar a chave de host pública do Azure DevOps Services, execute o seguinte comando no terminal:
ssh-keyscan -t rsa ssh.dev.azure.comCopie uma das chaves mostradas, omitindo
ssh.dev.azure.comdo início da linha. O valor copiado precisa estar no seguinte formato:ALGORITHM BASE64_KEY_VALUEExemplo:
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC7Hr1oTWqNqOlzGJOfGJ4NakVyIzf1rXYd4d7wo6jBlkLvCA4odBlL0mDUyZ0/QUfTTqeu+tm22gOsv+VrVTMk6vwRU75gY/y9ut5Mb3bR5BV58dKXyq9A9UeB5Cakehn5Zgm6x1mKoVyf+FFn26iYqXJRgzIZZcZ5V6hrE0Qg39kZm4az48o0AUbf6Sp4SLdvnuMa2sVNwHBboS7EJkm57XQPVU3/QpyNLHbWDdzwtrlS+ez30S3AdYhLKEOxAG8weOnyrtLJAUen9mTkol8oII1edf7mWWbWVf0nBmly21+nZcmCTISQBtdcyPaEno7fFQMDD26/s0lfKob4Kw8HVerifique se essa chave ainda está atualizada com o Azure DevOps Services.
Bitbucket
Para recuperar a chave de host pública do Bitbucket, execute o seguinte comando no terminal:
curl https://bitbucket.org/site/sshO comando retorna uma lista de chaves de host públicas. Escolha uma das chaves da lista e copie-a, omitindo
bitbucket.orgdo início da linha. O valor copiado precisa estar no seguinte formato:ALGORITHM BASE64_KEY_VALUEExemplo:
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIazEu89wgQZ4bqs3d63QSMzYVa0MuJ2e2gKTKqu+UUOVerifique se essa chave ainda está atualizada com o Bitbucket.
GitHub
- Para recuperar a chave de host pública do GitHub, consulte as impressões digitais da chave SSH do GitHub.
A página contém uma lista de chaves de host públicas. Escolha uma delas e copie-a, omitindo
github.comdo início da linha. O valor copiado precisa estar no seguinte formato:ALGORITHM BASE64_KEY_VALUEExemplo:
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOMqqnkVzrm0SdG6UOoqKLsabgH5C9okWi0dh2l9GKJlVerifique se essa chave ainda está atualizada no GitHub.
GitLab
- Para recuperar a chave de host pública do GitLab, consulte
Entradas SSH
known_hosts. A página contém uma lista de chaves de host públicas. Escolha uma delas e copie-a, omitindo
gitlab.comdo início da linha. O valor copiado precisa estar no seguinte formato:ALGORITHM BASE64_KEY_VALUEExemplo:
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAfuCHKVTjquxvt6CM6tdG4SLp1Btn/nOeHHE5UOzRdfVerifique se essa chave ainda está atualizada com o GitLab.
Clique em Conectar.
Conectar um repositório remoto por HTTPS
Para conectar um repositório remoto por HTTPS, crie um secret do Secret Manager com um token de acesso pessoal e compartilhe o secret com o agente de serviço do Dataform.
Em seguida, o BigQuery usa o token de acesso para fazer login no provedor do Git e confirmar as mudanças em nome dos usuários. O BigQuery faz essas confirmações usando o endereço de e-mail do usuário do Google Cloud para que você possa saber quem fez cada confirmação.
Para conectar um repositório remoto a um repositório do BigQuery por HTTPS, siga estas etapas:
No seu provedor Git, faça o seguinte:
GitHub
No GitHub, crie um token de acesso pessoal refinado ou um token de acesso pessoal clássico.
- Para um token de acesso pessoal detalhado do GitHub, faça o seguinte:
Selecione o acesso ao repositório apenas para repositórios selecionados e, em seguida, selecione o repositório ao qual você quer se conectar.
Conceder acesso de leitura e gravação ao conteúdo do repositório.
Defina um prazo de validade do token adequado às suas necessidades.
- Para um token de acesso pessoal clássico do GitHub, faça o seguinte:
Conceda ao BigQuery a permissão
repo.Defina um prazo de validade do token adequado às suas necessidades.
Se a organização usar o Logon único (SSO) via SAML, autorize o token.
GitLab
No GitLab, crie um token de acesso pessoal do GitLab.
Dê ao token o nome
dataform. Isso é obrigatório.Conceda ao BigQuery as permissões
api,read_repositoryewrite_repository.Defina um prazo de validade do token adequado às suas necessidades.
No Secret Manager, crie um secret com o token de acesso pessoal do repositório remoto.
Conceda acesso ao secret ao agente de serviço do Dataform.
O ID do agente de serviço do Dataform está no seguinte formato:
service-PROJECT_NUMBER@gcp-sa-dataform.iam.gserviceaccount.comConceda o papel
roles/secretmanager.secretAccessorà conta de serviço.No console do Google Cloud , acesse a página BigQuery.
No painel à esquerda, clique em Explorer:

No painel Explorer, expanda o projeto e clique em Repositórios para abrir a guia Repositórios no painel de detalhes.
Selecione o repositório do BigQuery que você quer conectar ao repositório remoto.
No editor, selecione a guia Configuração.
Clique em Conectar com o Git.
No painel Conectar ao repositório remoto, selecione o botão de opção HTTPS.
No campo URL do repositório Git remoto, digite o URL do repositório Git remoto, terminando com
.git.O URL do repositório remoto do Git não pode conter nomes de usuário ou senhas.
No campo Nome da ramificação remota padrão, digite o nome da ramificação principal do repositório remoto do Git.
No menu suspenso Secret, selecione o secret que você criou que contém o token de acesso pessoal.
Clique em Conectar.
Editar a conexão do repositório remoto
Para editar uma conexão entre um repositório do BigQuery e um repositório Git remoto, siga estas etapas:
No console do Google Cloud , acesse a página BigQuery.
No painel à esquerda, clique em Explorer:

No painel Explorer, expanda o projeto e clique em Repositórios para abrir a guia Repositórios no painel de detalhes.
Selecione o repositório do BigQuery com a conexão que você quer editar.
No editor, selecione a guia Configuração.
Na página do repositório, clique em Editar conexão do Git.
Editar as configurações de conexão.
Clique em Atualizar.
Compartilhar um repositório
Para compartilhar um repositório, siga estas etapas:
No console do Google Cloud , acesse a página BigQuery.
No painel à esquerda, clique em Explorer:

No painel Explorer, expanda o projeto e clique em Repositórios para abrir a guia Repositórios no painel de detalhes.
Encontre o repositório que você quer compartilhar.
Clique em Abrir ações e em Compartilhar.
No painel Permissões de compartilhamento, clique em Adicionar usuário/grupo.
No painel Adicionar usuário/grupo, no campo Novos principais, digite um ou mais nomes de usuário ou grupo, separados por vírgulas.
No campo Papel, escolha o papel a ser atribuído aos novos principais.
Clique em Salvar.
Excluir um repositório.
Para excluir um repositório e todo o conteúdo dele, siga estas etapas:
No console do Google Cloud , acesse a página BigQuery.
No painel à esquerda, clique em Explorer:

No painel Explorer, expanda o projeto e clique em Repositórios para abrir a guia Repositórios no painel de detalhes.
Encontre o repositório que você quer excluir.
Clique em Abrir ações e em Excluir.
Clique em Excluir.
A seguir
- Saiba como gerenciar código com repositórios Git do BigQuery Studio.
- Saiba como criar espaços de trabalho.