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

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

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

SnowflakeのGitリポジトリクローンで、以下のことができます。

  • Snowflakeアプリケーションで使用するために、リモートGitリポジトリからクローンにファイルをフェッチします。

    Git リポジトリのクローンファイルは、リポジトリの完全なクローンを表し、リモートエポジトリの変更に合わせて更新することができます。

  • Git リポジトリのクローンを操作し、ブランチやタグの情報を表示します。

  • リモートリポジトリに変更をコミットし、プッシュします。

    リモートリポジトリへの書き込みは、以下の Snowflake 機能からのみサポートされています。

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

    例えば、プロシージャやユーザー定義関数 (UDFs) を書くことができ、そのハンドラーコードは Git リポジトリのクローンに保持され、リポジトリから同期されます。

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

Snowflake がリモートの Git リポジトリと連携する仕組み

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

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

Snowflake Gitリポジトリクローン

SnowflakeのGitリポジトリクローンは、リモートリポジトリのすべてのブランチ、タグ、コミットを含む完全なクローンです。

リモートリポジトリの内容が Git リポジトリのクローンに格納されたら、ステージングされたファイルを参照するのと同じように、リファレンスファイルを参照することができます。Git リポジトリのクローンに対して GET コマンドを実行できます。

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

SnowflakeのGitリポジトリクローンには、リモートリポジトリとSnowflakeの統合に固有の追加プロパティが含まれます。これらのプロパティには次が含まれます。

  • リモートの Git リポジトリのオリジン URL。

  • 必要に応じて、リモートリポジトリとの認証情報コードを含むシークレット。

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

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

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

リモートリポジトリをSnowflakeと統合した後も、開発ツールとローカルリポジトリはこれまでどおり使用できます。Gitリポジトリクローンを通じて、Snowflakeはローカルリポジトリとは別のリポジトリクライアントになります。

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

現在、以下の Git プラットフォームを使用している Git リポジトリを統合できます。これには、これらのプラットフォームをベースとしながらも、カスタム URLs で利用可能なリポジトリも含まれます。例えば、 GitHub に基づいたリポジトリは github.com にある必要はありません。

  • GitHub

  • GitLab

  • BitBucket

  • Azure DevOps

  • AWS CodeCommit

参照