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