0
0
この記事誰得? 私しか得しないニッチな技術で記事投稿!
Qiita Engineer Festa20242024年7月17日まで開催中!

Azure Data Factory にて Salesforce をソースとした場合のデータ連携パターン

Last updated at Posted at 2024-06-30

概要

Azure Data Factory にて Salesforce をソースとした場合のデータ連携パターンを共有します。

基本的な方針

データ連携パターン

Azure Data Factory にて Salesforce をソースとする場合には、下記の方法があります。

  1. Salesforce コネクタ(Salesforce Bulk API 2.0)によるコピーアクティビティ
  2. REST API コネクタ(Salesforce REST API)によるコピーアクティビティ

Salesforce Bulk API 2.0 利用したパイプラインの利用方針

REST API コネクタ等にて Salesforce Bulk API 2.0 を利用することが、出力結果が CSV であることや Web アクティビティにより出力結果を直接書き込む場合に 4 MB が上限となることから連携パターンに含めていません。

Salesforce のドキュメントにて CSV 形式の出力結果であることが記述されています。

image.png

image.png

引用元:クエリジョブの結果の取得 | Bulk API 2.0 および Bulk API 開発者ガイド | Salesforce Developers

REST API により Storage に直接書き込むことも可能ですが、サイズ上限が 4 MB となるため実装が厳しいと判断しました。

image.png

引用元:Web アクティビティ - Azure Data Factory & Azure Synapse | Microsoft Learn

データ連携パターン

1. Salesforce コネクタ(Salesforce Bulk API 2.0)によるコピーアクティビティ

利用する Salesforce の API

Salesforce コネクタを利用する場合には Salesforce Bulk API 2.0 が利用されます。

Salesforce Bulk API 2.0 を使用して、データのクエリと取り込みを行います。

image.png

引用元:Salesforce との間でデータをコピーする - Azure Data Factory & Azure Synapse | Microsoft Learn

パイプライン

パイプラインの全体像

image.png

実行確認

パイプラインを実行

image.png

データの確認

image.png

2. REST API コネクタ(Salesforce REST API)によるコピーアクティビティ

利用する Salesforce の API

差分連携を実施することを目的として、削除済みのデータを取得する場合には QueryALL を利用し、削除済みデータが不要の場合には Query を利用します。

REST API 実行時には最大 2000 レコードを取得でき、それ以上のレコードを取得するためにはリターン値の一部であるnextRecordsUrlを再帰的に実行する必要があります。

image.png

引用元:SOQL クエリを実行する | REST API 開発者ガイド | Salesforce Developers

QueryAll 要求が実行された場合、同期要求で一度に最大 2,000 個のレコードが返されます。

引用元:QueryAll | REST API 開発者ガイド | Salesforce Developers

SOQL クエリが実行された場合、同期要求で一度に最大 2,000 個のレコードが返されます。

引用元:Query | REST API 開発者ガイド | Salesforce Developers

パイプライン

パイプラインの全体像

image.png

コピーアクティビティにて改ページの規則の設定

コピーアクティビティの改ページの規則にて、AbsoluteUrlbody['nextRecordsUrl']を設定します。

image.png

コピーアクティビティにてマップの設定

CSV などの表形式へシンクする場合には、下記の記事を参考にマップの設定を実施します。

image.png

実行確認

パイプラインを実行

image.png

データの確認

image.png

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0