SnowflakeでのGitリポジトリの使用

リモートのGitリポジトリをSnowflakeと統合することで、リポジトリからのファイルを リポジトリステージ と呼ばれる特別なステージに同期させることができます。リポジトリステージは、ブランチ、タグ、コミットを含むリモートリポジトリの完全なクローンを持つローカルGitリポジトリとして動作します。

リポジトリステージを作成した後、Snowflakeコードでリポジトリステージ上のリポジトリファイルを参照できます。たとえば、ストアドプロシージャを作成するときに、リポジトリステージからファイルをインポートし、それをプロシージャのハンドラーとして使用できます。

統合されたGitリポジトリを使用すると、次のことが可能になります。

  • Snowflakeアプリケーションで使用するために、リモートGitリポジトリからSnowflakeリポジトリステージにファイルを取得します。

    リポジトリステージにあるファイルは、リポジトリの完全なクローンを表し、リポジトリの変更に応じてリフレッシュできます。

  • リポジトリステージを操作して、ブランチとタグに関する情報を表示します。

  • リモートリポジトリから同期されたリポジトリステージから、Snowflakeで実行するコードにファイルをインポートします。

    たとえば、リポジトリから同期されたリポジトリステージによってハンドラーコードが保持されるプロシージャとユーザー定義関数(UDFs)を記述できます。

  • Snowflakeでは、任意のブランチ、タグ、コミットのファイルを使用します。

SnowflakeがGitリポジトリで動作する方法

リモートGitリポジトリをSnowflakeアカウントに統合すると、リモートリポジトリからSnowflakeの リポジトリステージ にファイルを同期できます。Snowflake内のファイルにアクセスするには、リポジトリステージでファイルを参照します。リポジトリファイルの使用に関する詳細については、 Gitリポジトリファイルをストアドプロシージャのハンドラーとして使用します。 をご参照ください。

開発ツールおよびSnowflakeとファイルを交換するGitリポジトリを示す図。

Snowflakeリポリトジステージ

リポジトリステージは、リポジトリのSnowflake表現です。ローカルのGitリポジトリと同様に、リモートリポジトリからのすべてのブランチ、タグ、コミットを含む完全なクローンです。

リポジトリコンテンツがリポジトリステージに置かれた後、ステージ上の他のファイルと同じように、リポジトリステージのファイルを参照できます。リポジトリステージに対して GET コマンドを実行できますが、他のほとんどの通常のステージコマンドはリポジトリステージには適用できないことに注意してください。

ローカルリポジトリでは、Gitコマンドと同じような操作を実行できます。たとえば、次の操作を実行できます。

リポジトリステージは、リポジトリとSnowflakeの統合に特化した追加プロパティを持つ特別な種類のステージです。これらのプロパティには次が含まれます。

  • Gitリポジトリのオリジンの場所。

  • 認証のための認証情報を含むシークレット(必要な場合)。

  • SnowflakeがGit API とやり取りする方法を指定するSnowflake API 統合。

詳細については、 リポジトリステージのプロパティを表示する をご参照ください。

Gitリポジトリと開発ツール

リポジトリをSnowflakeと統合した後も、開発ツールとローカルリポジトリはこれまでどおり引き続き使用できます。言い換えると、Snowflakeはローカルリポジトリとは別のリポジトリクライアントになります。

サポートされているプラットフォーム

現在、次のGitプラットフォームにGitリポジトリを統合できます。

  • GitHub

  • GitLab

  • BitBucket

  • Azure DevOps

  • AWS CodeCommit

参照