はじめに
この記事では、Snowflake のコストを毎日 Slack へ通知する方法について紹介します。
この記事の内容を実装することで以下のような Slack メッセージが定期的に送信されるようになります。

環境
実装する環境は AWS を使用します。
- AWS
- Lambda(ECR の Docker イメージ使用)
- Secret Manager(Snowflake のパスワード格納)
- Event bridge(Lambda を定期実行する)
まずは terraform で環境を構築します。
terraform apply すると、
ECR にイメージが存在しないため Lambda の作成はエラーになりますが、
それ以外の ECR、Secret Manager、Event bridge が構築されます。
ECR へイメージを push した後で再度 apply することで Lambda が作成されます。
Lambda
Lambda は Docker イメージを使用します。
Dockerfile
requirements.txt
lambda.py
Snowflake のコスト情報は、snowflake.organization_usage.usage_in_currency_dailyにあります。
ECR にイメージ push
下記シェルスクリプトを実行して ECR にイメージを push します。
イメージを push した後で再度 terraform apply を実施して Lambda を作成してください。
まとめ
上記を実装することで、毎日 9 時に Snowflake のコストが Slack へ送られてくるようになります。

参考

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