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¶
A função usada para executar essa operação deve ter, no mínimo, os seguintes privilégios:
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 |
O privilégio USAGE no banco de dados e no esquema pai é necessário para executar operações em qualquer objeto de um esquema.
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';