はじめに
この記事では、Snowflake のコードの管理方法について調査した内容をまとめています。
基本的には Snowflake のリソースは全て Terraform で管理することができます。具体的なリソースは以下の通りです。
- データベース
- スキーマ
- ウェアハウス
- ステージ
- ロール
- ユーザ
また、Terraform でも Snowpipe の管理をすることができます。
その他 Terraform が標準で用意していないリソースは SQL ファイルを読み込んで対応することができます。
CICD
GitHub Actions などで Terraform の実行を行うことで、Snowflake のリソースの変更を自動化することができます。例えば以下のような自動化をすることができます。
- Pull Request を作成したときに
terraform plan
を実行し、その結果を PR にコメント
- Pull Request をマージしたときに
terraform apply
を実行
参考

備考
Hakky では社内のデータ活用やサービスとしてデータ提供を行うためのソリューションを展開しております。
Snowflake など具体的な相談はもちろんのこと、「どんなことをお願いできるのか知りたい」や「こんなことをやりたい」など、ご検討段階でも構いませんので、ぜひお気軽にフォームよりお問い合わせくださいませ。