CREATE GIT REPOSITORY

Crée une zone de préparation de référentiel Git dans le schéma ou remplace une zone de préparation de référentiel Git existante.

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 de la zone de préparation de référentiel à 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 représenté par cette zone de préparation de référentiel.

L’URL doit utiliser HTTPS.

À 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 l”API INTEGRATION contenant des informations sur le référentiel Git cible 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. 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 Quotas de balises pour les objets et les colonnes.

Exigences en matière de contrôle d’accès

Un rôle utilisé pour exécuter cette commande SQL doit avoir les privilèges suivants définis au minimum ainsi :

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

Notez que l’exploitation d’un objet dans un schéma requiert également le privilège USAGE sur la base de données et le schéma parents.

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.

Exemples

Le code de l’exemple suivant crée une zone de préparation de référentiel Git appelée snowflake_extensions, où l’URL d’origine du référentiel est https://github.com/my-account/snowflake-extensions.git. L’exemple utilise une intégration d’API appelée git_api_integration ainsi qu’un secret appelé git_secret pour stocker les identifiants de connexion permettant de s’authentifier auprès du référentiel.

Pour des détails sur la configuration d’une intégration avec un référentiel, 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