Configuração do Snowflake para usar o Git¶
Quando você integra um repositório Git remoto e clona o repositório, o Snowflake cria um clone do repositório Git que especifica o local do repositório remoto, credenciais (se necessário) e detalhes sobre como o Snowflake deve interagir com a API do repositório Git.
Para usar um repositório Git remoto com o Snowflake, siga estas etapas:
Crie um segredo, se necessário, para manter as credenciais de autenticação com o repositório remoto.
Crie uma integração da API para especificar detalhes sobre a interação do Snowflake com a API do repositório Git.
Crie um clone do repositório Git para o qual você pode sincronizar arquivos do repositório remoto.
Criação de um segredo com credenciais para autenticação¶
Se seu repositório Git remoto exigir autenticação, você precisará criar um segredo que contém credenciais que o Snowflake pode usar para autenticar no repositório remoto.
Você usará o segredo de várias maneiras. Se alguém criar uma integração de API que especifique a interação do Snowflake com a API do repositório Git, deve especificar este segredo como um valor do parâmetro ALLOWED_AUTHENTICATION_SECRETS. Além disso, se alguém configurar o Snowflake para usar o Git, deverá especificar o segredo.
Para criar um segredo, você deve usar uma função que tenha recebido os seguintes privilégios:
CREATE SECRET no esquema onde você armazenará o segredo
Para obter mais informações, consulte requisitos de controle de acesso CREATE SECRET.
USAGE no banco de dados e no esquema que conterá a integração
Como prática recomendada, use um token de acesso pessoal para o valor PASSWORD do segredo. Para obter informações sobre como criar um token de acesso pessoal em GitHub, consulte Como gerenciar seus tokens de acesso pessoal na documentação do GitHub.
- SQL:
Você pode usar o comando CREATE SECRET para criar um segredo que contém credenciais do repositório Git.
O código no exemplo a seguir cria um segredo chamado
myco_git_secret
com um nome de usuário e o token de acesso pessoal do usuário para usar como credenciais:USE ROLE ACCOUNTADMIN; CREATE ROLE myco_secrets_admin; GRANT CREATE SECRET ON SCHEMA myco_db.integrations TO ROLE myco_secrets_admin; USE ROLE myco_db_owner; GRANT USAGE ON DATABASE myco_db TO ROLE myco_secrets_admin; GRANT USAGE ON SCHEMA myco_db.integrations TO ROLE myco_secrets_admin; USE ROLE myco_secrets_admin; USE DATABASE myco_db; USE SCHEMA myco_db.integrations; CREATE OR REPLACE SECRET myco_git_secret TYPE = password USERNAME = 'gladyskravitz' PASSWORD = 'ghp_token';
Criação de uma integração da API para interagir com a API do repositório¶
Para especificar detalhes sobre como o Snowflake interage com a API do repositório Git, você precisará criar uma integração da API.
Alguém configurando uma conta Snowflake para usar o Git irá especificar a integração de API a ser usada.
Para criar uma integração de API, você deve usar uma função que tenha recebido os seguintes privilégios:
CREATE INTEGRATION na conta
Para obter mais informações, consulte requisitos de controle de acesso do CREATE API INTEGRATION.
USAGE no banco de dados e esquema que contém o segredo
USAGE no segredo ao qual a integração se refere
Ao criar uma integração da API para uma API do repositório Git, você deve:
Especificar
git_https_api
como o valor do parâmetro API_PROVIDER.Especifique, se a autenticação for necessária, um segredo que contenha as credenciais do repositório remoto como um valor do parâmetro ALLOWED_AUTHENTICATION_SECRETS. Você pode especificar uma das seguintes opções:
Um ou mais segredos do Snowflake (em uma lista separada por vírgulas) que o Snowflake pode usar ao autenticar com o repositório.
all
(não diferencia maiúsculas de minúsculas) para especificar que qualquer segredo pode ser usado.none
(não diferencia maiúsculas de minúsculas) para especificar que nenhum segredo pode ser usado.
- SQL:
Você pode usar o comando CREATE API INTEGRATION para criar uma integração da API que especifica detalhes para a interação do Snowflake com a API do repositório Git.
O código no exemplo a seguir cria uma integração de API chamada
git_api_integration
:USE ROLE ACCOUNTADMIN; CREATE ROLE myco_git_admin; GRANT CREATE INTEGRATION ON ACCOUNT TO ROLE myco_git_admin; USE ROLE myco_db_owner; GRANT USAGE ON DATABASE myco_db TO ROLE myco_git_admin; GRANT USAGE ON SCHEMA myco_db.integrations TO ROLE myco_git_admin; USE ROLE myco_secrets_admin; GRANT USAGE ON SECRET myco_git_secret TO ROLE myco_git_admin; USE ROLE myco_git_admin; USE DATABASE myco_db; USE SCHEMA myco_db.integrations; CREATE OR REPLACE API INTEGRATION git_api_integration API_PROVIDER = git_https_api API_ALLOWED_PREFIXES = ('https://github.com/my-account') ALLOWED_AUTHENTICATION_SECRETS = (myco_git_secret) ENABLED = TRUE;
Criar um clone do repositório Git Snowflake a partir do repositório remoto¶
Para configurar o Snowflake para trabalhar com um repositório Git remoto, crie um clone do repositório Git no Snowflake para conter os arquivos obtidos do repositório remoto.
Nota
Antes de iniciar as etapas desta seção, considere primeiro criar um segredo (se o repositório remoto exigir autenticação) e uma integração de API. Você pode precisar de ambos.
O clone do repositório Git especifica o seguinte:
A origem do repositório remoto
No Git,
origin
é uma abreviação para o URL do repositório remoto. Use esse URL ao configurar o Snowflake para usar um repositório Git remoto. O URL deve usar HTTPS. Você pode recuperar o URL de origem das seguintes maneiras:Na interface do usuário do GitHub, para obter o URL de origem na página inicial do repositório, selecione o botão Code e, em seguida, copie o URL HTTPS na caixa exibida abaixo do botão.
Na linha de comando, use o comando
git config
de dentro do seu repositório local, como no exemplo a seguir:$ git config --get remote.origin.url
O comando produz saídas como as seguintes:
https://github.com/my-account/snowflake-extensions.git
Para obter informações de referência sobre
git config
, veja a documentação do git.
Credenciais, se necessário, para o Snowflake usar ao autenticar com o repositório
Uma integração da API especificando detalhes para interação do Snowflake com a API do repositório
Para criar um clone do repositório Git no Snowflake, você deve usar uma função que tenha recebido os seguintes privilégios:
CREATE GIT REPOSITORY no esquema que contém o clone do repositório Git
Para obter mais informações, consulte requisitos de controle de acesso do CREATE GIT REPOSITORY.
USAGE no segredo que contém credenciais para autenticação com o Git
USAGE na integração de API ao qual o clone do repositório Git faz referência
Você pode criar um clone do repositório Git usando Snowsight ou SQL.
Nota
Antes de criar um clone do repositório Git, você precisará criar um segredo (se o repositório remoto exigir autenticação) e uma integração de API.
O código no exemplo a seguir cria um clone do repositório Git chamado snowflake_extensions
. O clone especifica a integração de git_api_integration
API e o segredo myco_git_secret
com credenciais para autenticação.
USE ROLE ACCOUNTADMIN;
GRANT CREATE GIT REPOSITORY ON SCHEMA myco_db.integrations TO ROLE myco_git_admin;
USE ROLE myco_git_admin;
CREATE OR REPLACE GIT REPOSITORY snowflake_extensions
API_INTEGRATION = git_api_integration
GIT_CREDENTIALS = myco_git_secret
ORIGIN = 'https://github.com/my-account/snowflake-extensions.git';
Faça login no Snowsight.
No menu de navegação, selecione Data » Databases.
No explorador de objetos, selecione o banco de dados e o esquema que você deseja que contenha o clone do repositório Git que você está criando.
Selecione Create » Git Repository.
Na caixa de diálogo Create Git Repository, para Repository Name, insira um nome que identificará exclusivamente esse clone de repositório no esquema.
Para diretrizes de nomenclatura, consulte Requisitos para identificadores.
Para Origin, insira o URL de origem do repositório remoto.
No menu suspenso API Integration, selecione a integração de API para fazer referência ao criar o clone do repositório Git.
Se você não tiver uma integração da API para usar, selecione Create new API integration in Worksheets para usar o SQL para criar um. Para obter mais informações, consulte Criação de uma integração da API para interagir com a API do repositório e CREATE API INTEGRATION.
Opcional: para o Comment, insira um texto descrevendo esta integração para outros.
Opcional: se o repositório remoto exigir autenticação, defina a opção Authentication para a posição _on_.
Se você ativar o botão, no menu suspenso Secret, selecione o segredo que deve ser referenciado pela integração do Git para autenticação com o repositório remoto.
Se você não tiver um segredo para usar, selecione Create new secret in Worksheets para usar SQL para criar um. Para obter mais informações, consulte Criação de um segredo com credenciais para autenticação e CREATE SECRET.
Selecione Create.
Quando você cria a integração com sucesso, o clone do repositório Git aparece abaixo do esquema, em um diretório Git Repositories. Você também verá uma página que lista diretórios de repositórios, ramificações e tags.