CREATE GIT REPOSITORY

在架构中创建 Git 存储库暂存区 或替换现有的 Git 存储库暂存区。

另请参阅:

ALTER GIT REPOSITORYDESCRIBE GIT REPOSITORYDROP GIT REPOSITORYSHOW GIT BRANCHESSHOW GIT REPOSITORIESSHOW GIT TAGS

语法

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

必填参数

name

指定要创建的存储库暂存区的标识符。

如果标识符包含空格或特殊字符,则整个字符串必须放在双引号内。放在双引号内的标识符也区分大小写。

有关更多信息,请参阅 标识符要求

ORIGIN = 'repository_url'

指定此存储库暂存区所代表的 Git 存储库的源 URL。

URL 必须使用 HTTPS。

在命令行中,您可以使用本地存储库中的 git config 命令,获取要用于 ORIGIN 参数的值,如以下示例所示:

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

指定包含目标 Git 存储库相关信息的 API INTEGRATION,例如目标 URLs 的允许凭据和前缀。

您在此处指定的 API 集成必须具有值设置为 git_https_api 的 API_PROVIDER 参数。

有关 API 集成的参考信息,请参阅 CREATE API INTEGRATION

可选参数

GIT_CREDENTIALS = secret_name

指定 Snowflake 密钥,其中包含用于对存储库进行身份验证的凭据。省略此参数以使用 API 集成指定的默认密钥,或者如果此集成不需要身份验证。

作为最佳实践,对密钥的 PASSWORD 值使用个人访问令牌。有关在 GitHub 中创建个人访问令牌的信息,请参阅 GitHub 文档中的 管理个人访问令牌 (https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens)。

此处指定的密钥必须是由您使用此命令的 API_INTEGRATION 参数指定的 API 集成的 ALLOWED_AUTHENTICATION_SECRETS 参数指定。

默认:无值

有关密钥的参考信息,请参阅 CREATE SECRET

COMMENT = 'string_literal'

指定外部访问集成的注释。

默认:无值

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

指定 标签 名称和标签字符串值。

标签值始终为字符串,标签值的最大字符数为 256。

有关在语句中指定标签的信息,请参阅 对象和列的标签配额

访问控制要求

用于执行此 SQL 命令的 角色 必须至少具有以下 权限

权限

对象

备注

CREATE GIT REPOSITORY

架构

USAGE

API 集成

此命令的 API INTEGRATION 参数指定的集成

USAGE

密钥

此命令的 GIT_CREDENTIALS 参数指定的密钥

请注意,对架构中的对象进行操作还需要对父数据库和架构具有 USAGE 权限。

有关创建具有指定权限集的自定义角色的说明,请参阅 创建自定义角色

有关对 安全对象 执行 SQL 操作的相应角色和权限授予的一般信息,请参阅 访问控制概述

示例

以下示例中的代码创建名为 snowflake_extensions 的 Git 存储库暂存区,其中存储库的源 URL 为 https://github.com/my-account/snowflake-extensions.git。该示例使用名为 git_api_integration 的 API 集成,以及名为 git_secret 的密钥来存储凭据,以便使用存储库进行身份验证。

有关设置存储库集成的详细信息,请参阅 设置 Snowflake 以使用 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
语言: 中文