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>' , ... ] ) ]
Copy

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
Copy
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';
Copy