CREATE GIT REPOSITORY¶
Cria um estágio do repositório Git no esquema ou substitui um estágio de repositório Git existente.
- Consulte também:
ALTER GIT REPOSITORY, DESCRIBE GIT REPOSITORY, DROP GIT REPOSITORY, SHOW GIT BRANCHES, SHOW GIT REPOSITORIES, SHOW GIT TAGS
Sintaxe¶
CREATE [ OR REPLACE ] GIT REPOSITORY [ IF NOT EXISTS ] <name>
ORIGIN = '<repository_url>'
API_INTEGRATION = <integration_name>
[ GIT_CREDENTIALS = <secret_name> ]
[ COMMENT = '<string_literal>' ]
[ [ WITH ] TAG ( <tag_name> = '<tag_value>' [ , <tag_name> = '<tag_value>' , ... ] ) ]
Parâmetros obrigatórios¶
name
Especifica o identificador para o estágio do repositório a ser criado.
Se o identificador contiver espaços ou caracteres especiais, toda a cadeia de caracteres deverá ser delimitada por aspas duplas. Os identificadores delimitados por aspas duplas também diferenciam letras maiúsculas de minúsculas.
Para obter mais informações, consulte Requisitos para identificadores.
ORIGIN = 'repository_url'
Especifica o URL de origem do repositório Git que este estágio do repositório representa.
O URL deve usar HTTPS.
Na linha de comando, você pode usar o comando
git config
de dentro do seu repositório local para obter o valor a ser usado para o parâmetro ORIGIN, conforme mostrado no exemplo a seguir:$ git config --get remote.origin.url https://github.com/mycompany/My-Repo.git
API_INTEGRATION = integration_name
Especifica a API INTEGRATION que contém informações sobre o repositório Git de destino, como credenciais permitidas e prefixos para URLs de destino.
A integração da API que você especificar aqui deve ter um parâmetro API_PROVIDER cujo valor é definido como
git_https_api
.Para obter informações de referência sobre as integrações da API, veja CREATE API INTEGRATION.
Parâmetros opcionais¶
GIT_CREDENTIALS = secret_name
Especifica o segredo do Snowflake contendo as credenciais a serem usadas para autenticação no repositório. Omita este parâmetro para usar o segredo padrão especificado pela integração de API ou se essa integração não requer autenticaçã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.
O segredo que você especificar aqui deve ser um segredo especificado pelo parâmetro ALLOWED_AUTHENTICATION_SECRETS da integração da API que você especifica com o parâmetro API_INTEGRATION deste comando.
Padrão: sem valor
Para obter informações de referência sobre segredos, consulte CREATE SECRET.
COMMENT = 'string_literal'
Especifica um comentário para a integração de acesso externo.
Padrão: sem valor
TAG ( tag_name = 'tag_value' [ , tag_name = 'tag_value' , ... ] )
Especifica o nome da tag e o valor da cadeia de caracteres dela.
O valor de tag é sempre uma cadeia de caracteres, e o número máximo de caracteres do valor da tag é 256.
Para obter informações sobre como especificar tags em uma instrução, consulte Cotas de tags para objetos e colunas.
Requisitos de controle de acesso¶
Uma função usada para executar este comando SQL deve ter os seguintes privilégios no mínimo:
Privilégio |
Objeto |
Notas |
---|---|---|
CREATE GIT REPOSITORY |
Esquema |
|
USAGE |
Integração de API |
A integração especificada por este parâmetro da INTEGRATION de API do comando |
USAGE |
Segredo |
O segredo especificado por este parâmetro GIT_CREDENTIALS do comando |
Observe que operar em qualquer objeto de um esquema também requer o privilégio USAGE no banco de dados e esquema principais.
Para instruções sobre como criar uma função personalizada com um conjunto específico de privilégios, consulte Criação de funções personalizadas.
Para informações gerais sobre concessões de funções e privilégios para executar ações de SQL em objetos protegíveis, consulte Visão geral do controle de acesso.
Exemplos¶
O código no exemplo a seguir cria um estágio de repositório Git chamado snowflake_extensions
, onde o URL de origem do repositório é https://github.com/my-account/snowflake-extensions.git
. O exemplo usa uma integração de API chamada git_api_integration
, junto com um segredo chamado git_secret
para armazenar credenciais para autenticação no repositório.
Para obter detalhes sobre como configurar a integração com um repositório, consulte Configuração do Snowflake para usar o Git.
CREATE OR REPLACE GIT REPOSITORY snowflake_extensions
API_INTEGRATION = git_api_integration
GIT_CREDENTIALS = git_secret
ORIGIN = 'https://github.com/my-account/snowflake-extensions.git';