SnowflakeでのGit操作¶
このトピックでは、 SQL コマンドと Snowsight を使って、一般的なリポジトリ操作を行う方法について説明します。
また、Gitでは次のような使い方もできます。それぞれ独自のGit操作の方法を含んでいます。
GitリポジトリとSnowflakeアカウントの統合¶
Gitリポジトリとの統合の設定については、 Gitを使用するためのSnowflakeの設定 をご参照ください。
Git リポジトリのクローンをリポジトリからリフレッシュします。¶
Snowflake で Git リポジトリのクローンをリフレッシュするには、リモートリポジトリからすべてのブランチ、タグ、コミットを取得する完全クローンを使用します。これを実行すると、以前に取得され、リモートリポジトリに存在しなくなったブランチとコミットも削除されます。
このセクションで説明する操作を実行するには、 ALTER GIT REPOSITORY のアクセス制御 で説明されているSnowflakeアクセスが必要です。
Git リポジトリのクローンをリフレッシュするには、 Snowsight か SQL を使います。
Git リポジトリのクローンをリフレッシュしたい場合は、 ALTER GIT REPOSITORY コマンドを使用して、Snowflake の Git リポジトリのクローンにリモートの Git リポジトリの内容をフェッチすることができます。
次の例のコードは、Git リポジトリのクローンをリポジトリの内容で更新します。
ALTER GIT REPOSITORY snowflake_extensions FETCH;
Snowsight を使えば、リモートリポジトリからクローンした Git リポジトリをリフレッシュできます。
Snowsight にサインインします。
ナビゲーションメニューで Data » Databases を選択します。
オブジェクト・エクスプローラーで、リフレッシュしたい Git リポジトリ・クローンを含むデータベースとスキーマを選択します。
スキーマ内で、 Git Repositories を開きます。
Git Repositories で、リポジトリを選択して詳細ページを表示します。
リポジトリの詳細の Files Explorer タブで、 Fetch ボタンを選択し、Git リポジトリのクローンを更新します。
リポジトリファイルのリストを表示する¶
ブランチ、タグ、コミット内のファイルのリストを表示するには、 Snowsight または SQL を使用します。
リポジトリにあるファイルのリストを表示するには、 LIST コマンドを次のような形式で使用します。ステージと同じように Git リポジトリのクローンを指定します (LIST を省略して LS とすることもできます)。
ブランチでのリスト:
LS @repository_name/branches/branch_name;
タグ名でのリスト:
LS @repository_name/tags/tag_name;
コミットハッシュでのリスト:
LS @repository_name/commits/commit_hash;
次の例では、Gitリポジトリ snowflake_extensions
のメインブランチ内のファイルをリストする出力が生成されます。
LS @snowflake_extensions/branches/main;
上記のコマンドは次のような出力を生成します。
-------------------------------------------------------------------------------------------------------------------------------------------------------
| name | size | md5 | sha1 | last_modified |
-------------------------------------------------------------------------------------------------------------------------------------------------------
| snowflake_extensions/branches/main/.gitignore | 10 | | e43b0f988953ae3a84b00331d0ccf5f7d51cb3cf | Wed, 5 Jul 2023 22:42:34 GMT |
-------------------------------------------------------------------------------------------------------------------------------------------------------
| snowflake_extensions/branches/main/python-handlers/filter.py | 169 | | c717137b18d7b75005849d76d89037fafc7b5223 | Wed, 5 Jul 2023 22:42:34 GMT |
-------------------------------------------------------------------------------------------------------------------------------------------------------
Snowsight を使用すると、Gitリポジトリのブランチやタグのリストを表示できます。
Snowsight にサインインします。
ナビゲーションメニューで Data » Databases を選択します。
オブジェクトエクスプローラーで、表示したい Git リポジトリクローンを含むデータベースとスキーマを選択します。
スキーマ内で、 Git Repositories を開きます。
Git Repositories 内で、リポジトリを選択して詳細ページを表示します。
リポジトリの詳細ページの Files Explorer タブで、 Branch ボタンを選択します。
Branch ドロップダウンメニューから、次のいずれかを選択します。
リポジトリからクローンされたブランチのリストを表示するには、 Branches を選択します。
リポジトリからクローンされたタグのリストを表示するには、 Tags を選択します。
リストするファイルが含まれるブランチまたはタグを選択します。
リポジトリ名の下に、選択した内容に対応するフォルダーとファイルのリストが表示されます。
Git リポジトリのクローンプロパティの表示¶
SnowflakeでGitリポジトリクローンに関連付けられたプロパティを表示できます。
このセクションで説明する操作を実行するには、 DESC GIT REPOSITORY のアクセス制御 で説明されているSnowflakeアクセスが必要です。
Git リポジトリのクローンのプロパティを表示するには、 Snowsight あるいは SQL を使います。
Git リポジトリのクローンのプロパティを表示するには、 SQL コマンド SHOW GIT REPOSITORIES と DESCRIBE GIT REPOSITORY を使います。
プロパティ情報には、Gitオリジン URL、 API 統合の名前、リモートリポジトリへの接続に使用される認証情報(シークレット として指定)などが含まれます。
DESCRIBE GIT REPOSITORY snowflake_extensions;
上記のコマンドは次のような出力を生成します。
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
| CREATED_ON | NAME | DATABASE_NAME | SCHEMA_NAME | ORIGIN | API_INTEGRATION | GIT_CREDENTIALS | OWNER | OWNER_ROLE_TYPE | COMMENT |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
| 2023-06-28 08:46:10.886 -0700 | SNOWFLAKE_EXTENSIONS | MY_DB | MAIN | https://github.com/my-account/snowflake-extensions.git | GIT_API_INTEGRATION | MY_DB.MAIN.GIT_SECRET | ACCOUNTADMIN | ROLE | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Snowsight を使用して、リポジトリのプロパティを表示できます。
Snowsight にサインインします。
ナビゲーションメニューで Data » Databases を選択します。
オブジェクトエクスプローラーで、表示したい Git リポジトリクローンを含むデータベースとスキーマを選択します。
スキーマ内で、 Git Repositories を開きます。
Git Repositories 内で、リポジトリを選択して詳細ページを表示します。
リポジトリの詳細ページで、 Git Repository Details タブを選択すると、次の情報が表示されます。
リポジトリからコードを実行する¶
リポジトリのファイルに含まれるコードを実行できます。
このセクションで説明する操作を実行するには、 EXECUTE IMMEDIATE FROM のアクセス制御 で説明されているSnowflakeアクセスが必要です。
Snowsight または SQL のいずれかを使用してコードを実行できます。
EXECUTE IMMEDIATE FROM を使えば、Git リポジトリのクローンでコードを実行できます。
次の例のコードは、Git リポジトリのクローン snowflake_extensions
から create-database.sql
のコードを実行します。
EXECUTE IMMEDIATE FROM @snowflake_extensions/branches/main/sql/create-database.sql;
Snowsight を使用して、Gitリポジトリから SQL コードを実行できます。
この方法でコードを実行すると、コードの実行によって生成された出力は表示されないことに注意してください。
Snowsight にサインインします。
ナビゲーションメニューで Data » Databases を選択します。
オブジェクトエクスプローラーで、表示したい Git リポジトリクローンを含むデータベースとスキーマを選択します。
スキーマ内で、 Git Repositories を開きます。
Git Repositories 内で、リポジトリを選択して詳細ページを表示します。
リポジトリの詳細ページの Files Explorer タブで、 Branch ボタンを選択します。
Branch ドロップダウンメニューから、次のいずれかを選択します。
Branches は、リポジトリからクローンされたブランチのリストを表示します。
Tags は、リポジトリからクローンされたタグのリストを表示します。
実行するコードを含むファイルを含むブランチまたはタグを選択します。
リポジトリ名の下で、実行するファイルが含まれているフォルダーを選択します。
表示されるボックスで、ファイルに含まれるコードを確認します。
これはSnowflakeが実行するコードです。
表示されたコードを実行するには、 Execute Immediate を選択します。
詳細ページには、コードの実行が開始されたことを示す通知が表示されます。後ほど、実行の成功または失敗が示されます。
リポジトリベースのコードをワークシートにコピーする¶
リポジトリファイルからワークシートにコードをすばやくコピーできます。コピーしたコードを編集して実行することも、他のユーザー用の読み取り専用テンプレートとして使用することもできます。
.sql
および .py
の種類のファイルの内容をコピーできます。
変更をリポジトリに保存するには、ワークシートから編集したコードをローカルGitリポジトリ内のファイル(コピー元のファイルに対応するファイルなど)にコピーし、そこから変更をコミットする必要があります。
- Snowsight:
Snowsight を使用して、リポジトリ内のファイルのコンテンツをワークシートにコピーできます。
Snowsight にサインインします。
ナビゲーションメニューで Data » Databases を選択します。
オブジェクトエクスプローラーで、表示したい Git リポジトリクローンを含むデータベースとスキーマを選択します。
スキーマ内で、 Git Repositories を開きます。
Git Repositories 内で、リポジトリを選択して詳細ページを表示します。
リポジトリの詳細ページの Files Explorer タブで、 Branch ボタンを選択します。
Branch ドロップダウンメニューから、次のいずれかを実行します。
リポジトリからクローンされたブランチのリストを表示するには、 Branches を選択します。
リポジトリからクローンされたタグのリストを表示するには、 Tags を選択します。
コードをコピーするファイルを含むブランチまたはタグを選択します。
リポジトリ名の下で、実行するファイルが含まれているフォルダーを選択します。
実行するコードが含まれるファイルを見つけ、
» Copy into worksheet を選択します。
Snowflakeは、選択したファイルから新しいワークシートにコードをコピーします。