Configuração do Snowflake para usar o Git¶
Quando você integra um repositório Git e clona o repositório, o Snowflake cria um estágio de repositório Git que especifica o local do repositório, 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 com o Snowflake, siga estas etapas:
Crie um segredo, se necessário, para conter credenciais para autenticação no repositório.
Crie uma integração da API para especificar detalhes sobre a interação do Snowflake com a API do repositório Git.
Crie um estágio de repositório Git do Snowflake para o qual você pode sincronizar arquivos do repositório.
Criação de um segredo com credenciais para autenticação¶
Se seu repositório Git exigir autenticação, você precisará criar um segredo que contém credenciais que o Snowflake pode usar para autenticar no repositório.
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 securityadmin; 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 contém as credenciais do repositório 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
A cadeia de caracteres
'all'
(sem distinção entre maiúsculas e minúsculas) para especificar que qualquer segredo pode ser usadoA cadeia de caracteres
'none'
(sem distinção entre maiúsculas e 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 securityadmin; 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;
Criação de um estágio de repositório Git e clonagem do repositório¶
Para configurar o Snowflake para funcionar com um repositório Git, crie um estágio de repositório Git para conter arquivos obtidos do repositório.
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 estágio do repositório Git especifica o seguinte:
A origem do repositório
No Git,
origin
é uma abreviação para o URL do repositório remoto. Use este URL ao configurar o Snowflake para usar um repositório Git. 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 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 estágio de repositório Git, você deve usar uma função que tenha recebido os seguintes privilégios:
CREATE GIT REPOSITORY no esquema que contém o repositório
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 estágio do repositório Git faz referência
Você pode criar um estágio de repositório Git usando Snowsight ou SQL.
Você pode usar o comando CREATE GIT REPOSITORY para criar um estágio de repositório Git.
Nota
Antes de criar um repositório local, 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 estágio de repositório Git chamado snowflake_extensions
. O estágio especifica a git_api_integration
integração da API e o segredo myco_git_secret
com credenciais para autenticação.
USE ROLE securityadmin;
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';
Você pode usar Snowsight para integrar um repositório Git com o Snowflake.
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 estágio 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 este repositório no esquema.
Para diretrizes de nomenclatura, consulte Requisitos para identificadores.
Para Origin, insira o URL de origem do repositório remoto.
Do menu suspenso da API Integration, selecione a integração da API para fazer referência ao criar o estágio do repositório.
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.
Para Authentication, se o repositório remoto exigir autenticação, ative a alternância.
Se você ativar a alternância, a partir do 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 repositório 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.