CREATE GIT REPOSITORY¶

Crée un clone de référentiel Git Snowflake dans le schéma ou remplace un clone de référentiel Git existant.

Voir aussi :

ALTER GIT REPOSITORY, DESCRIBE GIT REPOSITORY, DROP GIT REPOSITORY, SHOW GIT BRANCHES, SHOW GIT REPOSITORIES, SHOW GIT TAGS

Syntaxe¶

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

ParamÚtres requis¶

name

SpĂ©cifie l’identificateur du clone de rĂ©fĂ©rentiel Git Ă  crĂ©er.

Si l’identificateur contient des espaces ou des caractĂšres spĂ©ciaux, toute la chaĂźne doit ĂȘtre dĂ©limitĂ©e par des guillemets doubles. Les identificateurs entre guillemets doubles sont Ă©galement sensibles Ă  la casse.

Pour plus d’informations, voir Exigences relatives à l’identificateur.

ORIGIN = 'repository_url'

SpĂ©cifie l’URL d’origine du rĂ©fĂ©rentiel Git distant que ce clone de rĂ©fĂ©rentiel Git reprĂ©sente. L’URL doit utiliser HTTPS.

Snowflake prend en charge le HTTPS de toute URL de rĂ©fĂ©rentiel Git. Par exemple, vous pouvez spĂ©cifier une URL personnalisĂ©e vers un serveur Git d’entreprise au sein de votre propre domaine.

À partir de la ligne de commande, vous pouvez utiliser la commande git config de votre rĂ©fĂ©rentiel local pour obtenir la valeur Ă  utiliser pour le paramĂštre ORIGIN, comme le montre l’exemple suivant :

$ git config --get remote.origin.url
https://github.com/mycompany/My-Repo.git
Copy
API_INTEGRATION = integration_name

Spécifie la commande API INTEGRATION contenant des informations sur le référentiel Git distant telles que les identifiants de connexion autorisés et les préfixes des URLs cibles.

L’intĂ©gration d’API que vous spĂ©cifiez ici doit avoir un paramĂštre API_PROVIDER dont la valeur est dĂ©finie sur git_https_api.

Pour des informations de rĂ©fĂ©rence sur les intĂ©grations d’API, voir CREATE API INTEGRATION.

ParamÚtres facultatifs¶

GIT_CREDENTIALS = secret_name

SpĂ©cifie le secret Snowflake contenant les identifiants de connexion Ă  utiliser pour s’authentifier auprĂšs du rĂ©fĂ©rentiel Git distant. Omettez ce paramĂštre pour utiliser le secret par dĂ©faut spĂ©cifiĂ© par l’intĂ©gration d’API ou si cette intĂ©gration ne nĂ©cessite pas d’authentification.

Une bonne pratique consiste Ă  utiliser un jeton d’accĂšs personnel pour la valeur PASSWORD du secret. Pour plus d’informations sur la crĂ©ation d’un jeton d’accĂšs personnel dans GitHub, voir Gestion de vos jetons d’accĂšs personnels dans la documentation GitHub.

Le secret que vous spĂ©cifiez ici doit ĂȘtre un secret spĂ©cifiĂ© par le paramĂštre ALLOWED_AUTHENTICATION_SECRETS de l’intĂ©gration d’API que vous prĂ©cisez Ă  l’aide du paramĂštre API_INTEGRATION de cette commande.

Par dĂ©faut : aucune valeur

Pour des informations de référence sur les secrets, voir CREATE SECRET.

COMMENT = 'string_literal'

SpĂ©cifie un commentaire pour l’intĂ©gration de l’accĂšs externe.

Par dĂ©faut : aucune valeur

TAG ( tag_name = 'tag_value' [ , tag_name = 'tag_value' , ... ] )

Spécifie le nom de la balise et la valeur de la chaßne de la balise.

La valeur de la balise est toujours une chaĂźne de caractĂšres et le nombre maximum de caractĂšres pour la valeur de la balise est 256.

Pour plus d’informations sur la spĂ©cification des balises dans une instruction, voir Quota de balise pour les objets.

Exigences en matiĂšre de contrĂŽle d’accĂšs¶

Un rĂŽle utilisĂ© pour exĂ©cuter cette opĂ©ration doit au minimum disposer des privilĂšges suivants :

PrivilĂšge

Objet

Remarques

CREATE GIT REPOSITORY

Schéma

USAGE

intégration API

Intégration spécifiée par le paramÚtre API INTEGRATION de cette commande

USAGE

Secret

Secret spécifié par le paramÚtre GIT_CREDENTIALS de cette commande

Le privilĂšge USAGE relatif Ă  la base de donnĂ©es et au schĂ©ma parents est exigĂ© pour effectuer des opĂ©rations sur tout objet d’un schĂ©ma.

Pour obtenir des instructions sur la crĂ©ation d’un rĂŽle personnalisĂ© avec un ensemble spĂ©cifique de privilĂšges, voir CrĂ©ation de rĂŽles personnalisĂ©s.

Pour des informations gĂ©nĂ©rales sur les rĂŽles et les privilĂšges accordĂ©s pour effectuer des actions SQL sur des objets sĂ©curisables, voir Aperçu du contrĂŽle d’accĂšs.

Notes sur l’utilisation¶

  • Les clauses OR REPLACE et IF NOT EXISTS s’excluent mutuellement. Elles ne peuvent pas ĂȘtre utilisĂ©es dans la mĂȘme instruction.

  • Les instructions CREATE OR REPLACE <objet> sont atomiques. En d’autres termes, lorsqu’un objet est remplacĂ©, l’ancien objet est supprimĂ© et le nouvel objet est créé dans une seule transaction.

Exemples¶

Le code de l’exemple suivant crĂ©e un clone de rĂ©fĂ©rentiel Git appelĂ© snowflake_extensions, oĂč l’URL d’origine du rĂ©fĂ©rentiel distant est https://github.com/my-account/snowflake-extensions.git. L’exemple utilise une intĂ©gration d’API appelĂ©e git_api_integration. Il utilise Ă©galement un secret appelĂ© git_secret pour stocker les identifiants de connexion permettant de s’authentifier auprĂšs du rĂ©fĂ©rentiel distant.

Pour des dĂ©tails sur la configuration d’une intĂ©gration avec un rĂ©fĂ©rentiel Git distant, voir Configuration de Snowflake pour utiliser 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