この記事は Spumote のソースコードから生成した試験出力です。内容は確認中のため、正式な仕様は担当者に確認してください。
この機能でできること
ワークフローは「ステップ」を組み合わせて作ります。ステップには、データを動かすもの・加工するもの・処理の流れをつなぐもの・失敗に備えるものがあります。エディタの「ステップを追加」では、次の 4 つのグループに分かれて表示されます。画面の場所
データ › 自動処理(ワークフロー)› 処理一覧 › (ワークフローを開く)› ステップを追加 追加したステップを選ぶと設定画面が開きます。設定は全種類共通で次の 4 ブロックの順に並びます。- 基本(ジョブ型のステップでは「ジョブ設定」。ここで「ジョブを作成」します)
- 設定(種類ごとの設定)
- 実行時の振る舞い(結果チェック・リトライ。既定は折りたたみ)
- 前後関係(このステップが生むアセット・依存ステップ。既定は折りたたみ)
各ステップの役割と主な設定
インポート(import)
外部(S3 / GCS / SFTP)のファイルを BigQuery に取り込みます。ステップごとに専用の「ジョブ」を持ち、「ジョブ設定」ブロックの「ジョブを作成」から作り、作成後は「ジョブ設定を編集」(キャンバス上のステップを右クリックしたメニューでは「ジョブを編集」)で直せます。主な設定は取込元(接続先・パス)、ファイル形式、取込先テーブル、取込モード(S3 のみ「全件取込」「増分取込」から選べます。GCS と SFTP は毎回テーブルを上書きする全件取込です)です。プロセス(processing)
BigQuery の SQL でデータを集計・加工し、結果を出力先テーブルに書き込みます。書き込み方法は画面では「Append (追記)」「Overwrite (上書き)」から選びます。エクスポート(export)
BigQuery のテーブルまたは SQL の結果を、S3 / GCS / SFTP へファイルとして書き出します。画面で選べる形式は CSV と Parquet です(Parquet は形式内蔵の圧縮が使われ、圧縮は選べません)。CSV では圧縮を選べます。BigQuery コピー(bq_copy)
BigQuery のテーブルや partition(日付などで区切られたテーブルの一部)を、そのまま別のテーブルへコピーします。SQL を使わないためスキャン課金が発生せず、リージョンをまたぐコピーにも対応します。エンゲージ同期(engage_sync)
BigQuery のデータをエンゲージ(顧客管理・配信の機能)へ同期します。ステップの「設定」ブロックで設定します。
主な設定項目:
アセット更新の記録(asset_materialization)
実際の処理は行わず、「このデータができた」という記録(アセットの実体化)だけを残すステップです。記録すると、そのアセットを待っている他のワークフローが動きます。区切り単位は「変数から」「固定値」「なし(マスタデータ)」から選びます。条件分岐(switch)
前のステップの結果に応じて、次に進むステップを選びます。
ケースは複数追加でき、どれにも一致しない場合の行き先を「デフォルト(一致なし)」で決めます。
エラーハンドラ(error_handler)
指定した対象が失敗したときに起動し、下流に通知やプロセスをつなげられます。新規作成したワークフローには「全体」を監視するエラーハンドラが最初から入っています。通知(notification)
メール・Webhook で通知を送ります。送り先は「通知セット」(設定 › 通知 で作成)から選び、「メール件名」「メール本文」「Webhook JSON ペイロード」を編集できます。本文には {{workflow_name}} {{workflow_run_id}} {{step_name}} {{error_message}} {{run_timestamp}} の差し込みが使えます。ストレージ操作
S3 / GCS 上のファイルを操作します。プロバイダ、認証情報、バケット、ソース プレフィックス、移動先 プレフィックスと、操作(移動 / コピー / 削除 / 一覧取得)を設定します。活用例
- 取り込み後の整理: インポートの後にストレージ操作(移動)で処理済みフォルダへファイルを移し、二重取り込みを防ぐ。
- 配信リストの自動更新: プロセスで「直近 30 日購入者」の属性を集計 → エンゲージ同期(コンタクト)で反映 → 同期後にセグメントを再評価。
注意点・制限
- インポート / エクスポートはジョブの指定が必須、プロセスはジョブかストレージ操作の設定が必須です。条件分岐はケースが 1 件以上、アセット更新の記録はアセットが 1 件以上必要です。
- 通知の件名は 500 文字、本文は 5,000 文字、Webhook ペイロードは 10,000 文字まで。
- BigQuery コピーの追記(WRITE_APPEND)はリトライ時に二重追記になるため、再実行する運用では partition 指定+洗い替えが推奨されています。partition 範囲コピーの範囲は最大 400 日、1 回のコピー完了待ちは最大 35 分です。
詳しい設定(データ担当者向け)
- BigQuery コピーの partition 指定: テーブル ID に decorator を付けます(例: events20260801 = DAY、10 桁で HOUR。変数なら events$$\{BATCH_DATE\})。partition 範囲コピー有効時はテーブル ID に「」を含められません。範囲コピーには「同一リージョン向け(各日を直接コピー)」と「リージョンをまたぐ向け(ステージ表を経由して 2 段でコピー)」の 2 方式があり、リージョンをまたぐ場合はコピー先の partition 指定・追記ができないため後者を使います。
- エンゲージ同期のイベント重複防止: 一意キー列を指定するとその値から、省略時はテーブル・会員 ID・イベント名・発生時刻から決まる ID を作り、同じイベントを 2 回取り込んでも 1 件になります。