Links

SalesforceとBigQueryのデータソースの差分を更新した状態でBigQueryへ週次でsinkさせる

SalesforceとBigQueryのデータソースの差分を更新した状態でBigQueryへ週次での更新方法をご紹介します。

全体図

ワークフロー概要

  1. 1.
    BigQueryのSourceを追加
  2. 2.
    SalesforceのSourceを追加
  3. 3.
    TransformのNULL除外を使用して不要なレコードを削除
  4. 4.
    Transformの差分を使用して更新分のデータのみ抽出
  5. 5.
    BigQueryのSinkを追加し、データを転送

Source詳細

BigQuery

以下のように設定します。

プレビュー結果の確認

設定完了後、画面右上の「プレビュー」でデータを確認します。 ※プレビューを実行しておくと次のタスクの「Input」側にデータが表示されるようになります。
プレビュー実行後「設定」を選択して完了します。
Source「BigQuery」の詳しい説明は以下ドキュメントをご確認ください。

Salesforce

以下のように設定します。
設定完了後「設定」を選択して完了します。
Source「Salesforce」の詳しい説明は以下ドキュメントをご確認ください。

Transform詳細

NULL除外
不要なレコードを削除します。
設定完了後「設定」を選択して完了します。
Transform「NULL」の詳しい説明は以下ドキュメントをご確認ください。

差分

BigQueryから連携された既存データとSalesforce上の更新分を含んだデータの差分を抽出する。
▼IdをキーにDest側(既存ファイル)にない、Source側(更新分データ)のデータのみを抽出します。
設定完了後「設定」を選択して完了します。
Transform「差分」の詳しい説明は以下ドキュメントをご確認ください。

Sink詳細

BigQuery

以下のように設定します。(※任意のテーブルを設定)
設定完了後「設定」を選択して完了します。
Sink「BigQuery」の詳しい説明は以下ドキュメントをご確認ください。
それぞれのタスクを設定したらワークフローを保存します。

プレビュー結果の確認

Source/Transform/Sinkの各タスク設定完了後に「プレビュー」をクリックして実行後のプレビューが確認できます。設定に不備がない場合Completedと表示されます。
プレビューで実行結果を確認後、問題なければ「設定」を選択して完了します。
タスク間の矢印を繋ぐ前のタスクでプレビューを実行した後に繋ぐようにすると、前のタスクのデータをInput欄から引き継ぐことが可能です。(以下、参考イメージ※フィールド変換の場合。)

ワークフローの週次スケジュール設定

ワークフローの保存後、以下のワークフロー画面に移動し、時計マークを選択し、スケジュール設定をします。
スケジュール設定画面で以下のように設定します。
▼毎週日曜日の4:00(Asia/Tokyo:日本時間)にワークフローを実行する設定
設定項目
設定値
タイムゾーン
Asia/Tokyo
実行単位
カスタム
実行単位
曜日
日曜(*任意)
開始時間
04:00(*任意)
それぞれの項目を入力したら、スケジュール横のスイッチをONにし、「設定」を選択します。
スケジュール実行に関して詳しくは以下のドキュメントをご確認ください。
▼Workflowを定期的に実行させる方法