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

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