Dataform
https://findy-tools.io/public_images/tool_vendor/google-cloud/dataform/dataform-sqare-logo.png
Firebase Analyticsなどで入ってきたrawデータをBIツールで使いやすい中間テーブルに変換するのに使える
GCPとGitHubと連携してリポジトリを参照できるので、Dataformの状態をGitHubで管理することが可能
リポジトリのディレクトリ構造に制限があるのでmonorepoに向いていない
専用のリポジトリを作るとよい
環境構築
npm install -g @dataform/cli
リポジトリのrootにworkflow_settings.yaml を配置する
Dataform 3.0.0系列になってからpackage.jsonが不要になり、workflow_settings.yamlで管理するようになった
GitHubリポジトリとの連携
Dataform には、Git プロバイダに接続するための個人アクセス トークン(HTTPS リモートの場合)またはユーザーの秘密鍵(SSH リモートの場合)を含むシークレットが必要です。続行するには、Secret Manager でシークレットを作成して、Dataform のデフォルト サービス アカウントに roles/secretmanager.secretAccessor 権限を付与してください。
やること
GitHub上でDataform用のGitHubリポジトリに対して以下の権限を持つアクセストークンを発行する
Contents: Read and Write
Metadata: Read-Only
SecretManagerにシークレットを登録する
SecretManagerでDataformのデフォルトSAに権限を付与する