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

ターゲット URLs の許可される認証情報やプレフィックスなど、ターゲットGitリポジトリについての情報が含まれる API INTEGRATION を指定します。

ここで指定する API 統合には、値が git_https_api に設定された API_PROVIDER パラメーターが必要です。

API 統合に関する参考情報については、 CREATE API INTEGRATION をご参照ください。

オプションのパラメーター

GIT_CREDENTIALS = secret_name

リポジトリとの認証に使用する認証情報が含まれるSnowflake シークレット を指定します。API 統合によって指定されたデフォルトのシークレットを使用する場合や、この統合が認証を必要としない場合は、このパラメーターを省略します。

ベストプラクティスとして、シークレットの PASSWORD 値には個人用アクセストークンを使用します。GitHub で個人用アクセストークンを作成する方法については、 GitHub ドキュメントの 個人用アクセストークンの管理 をご参照ください。

ここで指定するシークレットは、このコマンドの 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 というシークレットを使用して、リポジトリとの認証情報を保存しています。

リポジトリとの統合設定の詳細については、 Gitを使用するためのSnowflakeの設定 をご参照ください。

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