Open2
Dataform

ワークスペース初期化時にDataform.jsonが存在しない
チュートリアルの「Dataform開発ワークスペースを作成して初期化する」において、初期化後dataform.jsonが自動生成されません。
理由は以下の通りでした。
Dataform core 3.0以上だったので、Dataform.jsonではなく、workflow_settings.yamlが生成されました。
ちなみに無理矢理Dataform.jsonを作成しても、コンパイルエラーが発生します。

Dataform でカスタムサービスアカウントを使いたい
まずは、Dataformにおけるサービスアカウントについての仕組みを理解する必要がある。
「Dataformでは、デフォルトのサービスアカウントを使用してユーザーに代わってBigQueryを操作します。」この一文がすごく重要です。
例えば、カスタムサービスアカウントを作成して、必要なRoleを割り当てたとしても、実際にDataformを操作するのはデフォルトのサービスアカウントになります。
カスタムSAを指定しDataformを実行すると以下のエラーとなります。
エラー
service-*********@gcp-sa-dataform.iam.gserviceaccount.com cannot actAs dataform@****-workspace.iam.
gserviceaccount.com, please grant Service Account Token Creator role: generic::permission_denied: IAM permission denied for service account dataform@@****-workspace.iam.gserviceaccount.com.
解決方法として、カスタムSAがデフォルトSAを利用できるよう権限委譲しなければなりません。
手順については、以下をご参照ください。