SnowflakeでのGit操作¶
このトピックでは、一般的なリポジトリ操作を実行する方法について説明します。
GitリポジトリとSnowflakeアカウントの統合¶
Gitリポジトリとの統合の設定については、 Gitを使用するためのSnowflakeの設定 をご参照ください。
リポジトリからリポジトリステージを更新する¶
リモートリポジトリからすべてのブランチ、タグ、コミットを取得する完全クローンを使用して、リポジトリステージをリフレッシュできます。これを実行すると、以前に取得され、リモートリポジトリに存在しなくなったブランチとコミットも削除されます。
このセクションで説明する操作を実行するには、 ALTER GIT REPOSITORY のアクセス制御 で説明されているSnowflakeアクセスが必要です。
Snowsight または SQL を使用して、リポジトリステージをリフレッシュできます。
リポジトリステージをリフレッシュするときは、 ALTER GIT REPOSITORY コマンドを使用して統合Gitリポジトリの内容をリポジトリステージに取り込むことができます。
次の例のコードは、リポジトリの内容でリポジトリステージを更新します。
ALTER GIT REPOSITORY snowflake_extensions FETCH;
Snowsight を使用して、リモートリポジトリからリポジトリステージ(リモートリポジトリのクローンを含む)をリフレッシュできます。
Snowsight にサインインします。
ナビゲーションメニューで Data » Databases を選択します。
オブジェクトエクスプローラーで、リフレッシュするGitリポジトリステージを含むデータベースとスキーマを選択します。
スキーマ内で、 Git Repositories を開きます。
Git Repositories で、リポジトリを選択して詳細ページを表示します。
リポジトリの詳細の Files Explorer タブで、 Fetch ボタンを選択してリポジトリステージをリフレッシュします。
リポジトリファイルのリストを表示する¶
ブランチ、タグ、コミット内のファイルのリストを表示するには、 Snowsight または SQL を使用します。
リポジトリにあるファイルのリストを表示するには、 LIST コマンドを次の形式で使用します(LIST を LS と省略可能)。
ブランチでのリスト:
LS @repository_stage_name/branches/branch_name;
タグ名でのリスト:
LS @repository_stage_name/tags/tag_name;
コミットハッシュでのリスト:
LS @repository_stage_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 を選択します。
リストするファイルが含まれるブランチまたはタグを選択します。
リポジトリ名の下に、選択した内容に対応するフォルダーとファイルのリストが表示されます。
リポジトリステージのプロパティを表示する¶
リポジトリステージに関連付けられたプロパティを表示できます。
このセクションで説明する操作を実行するには、 DESC GIT REPOSITORY のアクセス制御 で説明されているSnowflakeアクセスが必要です。
Snowsight または SQL のどちらかを使用して、リポジトリステージのプロパティを表示できます。
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 を使用して、リポジトリステージでコードを実行できます。
次の例のコードは、リポジトリステージ 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は、選択したファイルから新しいワークシートにコードをコピーします。