Salesforce 組織からデータをストリーミングする

Datastream を Salesforce インスタンスに接続して、分析とデータ統合のために過去のデータと変更イベントを複製できます。Salesforce はクラウドベースの顧客関係管理プラットフォームです。各インスタンスは、Salesforce 組織または Salesforce org と呼ばれることがよくあります。

Datastream で Salesforce ソースを設定する際は、主要用語、レプリケーション動作、サポートされているエディションと API バージョン、ベストプラクティス、および 既知の制限事項 を確認してください。

主な用語

Salesforce は、オブジェクト、レコード、フィールドを使用して動作します。

  • オブジェクトはクラス エンティティであり、リレーショナル データベースの命名規則のテーブルに似ています。オブジェクトは標準またはカスタムにできます。標準オブジェクトはデフォルトで Salesforce に含まれています。カスタム オブジェクトは、ユーザーがユースケースに固有のデータを保存するために作成します。
  • レコードは、リレーショナル データベースの行と同様に、オブジェクトの特定のインスタンスです。
  • フィールドは、リレーショナル データベースの列と同様に、オブジェクトの特定の属性です。

動作

Datastream の Salesforce ソースのサポートは、REST API と Bulk 2.0 API に依存しています。Salesforce は、API の使用を制御できるように設定した間隔に基づいて、ソースの変更をポーリングします。

Salesforce ソースからデータを複製すると、次の動作が確認されます。

  • SystemModstamp フィールドまたは LastModifiedDate フィールドを持つ、複製可能でクエリ可能な標準オブジェクトを複製できます。オブジェクトを複製可能にするには、getUpdated() API 呼び出しと getDeleted() API 呼び出しをサポートする必要があります。詳細については、Salesforce ドキュメントのデータ レプリケーションの API 呼び出しをご覧ください。
  • カスタム オブジェクトは複製できます。
  • 構成されている場合、含まれるオブジェクトのすべての過去のデータが複製されます。
  • 指定したオブジェクトからの挿入、更新、削除など、すべての変更が複製されます。
  • Datastream は、構成されたポーリング間隔に従って変更をポーリングします。これは、ストリームのデータの更新速度指標に反映されます。この指標は、構成されたポーリング間隔の値まで増加し、最新のポーリングからの経過時間を反映します。

バージョン

Datastream は、次の Salesforce エディションをサポートしています。

  • Pro Suite
  • デベロッパー
  • プロフェッショナル
  • Enterprise
  • 無制限

Datastream は Salesforce API バージョン 61.0 を使用します。

利用可能な Salesforce エディションの詳細については、Salesforce のドキュメントをご覧ください。

ベスト プラクティス

このセクションでは、Datastream で使用する Salesforce ソースを構成するための推奨ベスト プラクティスについて説明します。

API 割り当ての使用状況を管理する

Salesforce では、24 時間のローリング ウィンドウで実行できる API リクエストの数に上限が設けられています。この割り当てを使い切ることは、Salesforce からデータを複製する際によくある課題です。

Datastream でポーリング間隔を構成して、Salesforce への API リクエストの数を減らすことができます。ポーリング間隔を短くすると、データの更新速度は向上しますが、API 割り当ての使用量も増加します。選択したデータの更新速度と API 割り当ての制約のバランスを取るポーリング間隔を設定して、持続可能なデータ レプリケーションを確保することをおすすめします。必要に応じて、Salesforce でグローバル API リクエストの割り当てを増やすことができます。

既知の制限事項

Salesforce をソースとして使用する場合の既知の制限事項は次のとおりです。

  • クエリ可能で複製可能なオブジェクトのみがサポートされています。
  • 複合フィールドは、フラット化されたフィールドとして複製されます。
  • 1 分あたり最大 600,000 件の削除がサポートされています(Salesforce の制限)。
  • ストリームは 3,000 オブジェクトに制限されています。
  • 計算フィールド(数式とも呼ばれます)は、部分的にのみサポートされています。計算フィールドのレプリケーションには、次の制約があります。

    • テーブル間の参照はサポートされていません。
    • 非決定性関数(NOW() や TODAY() など)はサポートされていません。Datastream は、これらのフィールドの値がいつ変更されるかを判断できないためです。
    • サポートされているのは、特定の許可された関数セットのみです。計算フィールドでこのリスト以外の関数が使用されている場合、そのフィールドは複製されません。

    次のリストに、サポートされている関数を示します。

    • 論理: AND、OR、NOT、IF、CASE、ISNULL、ISBLANK、BLANKVALUE、ISPICKVAL
    • 数学: ABS、CEILING、MCEILING、FLOOR、MFLOOR、ROUND、MOD、SQRT、EXP、LN、LOG、MAX、MIN
    • テキスト: BEGINS、BR、CONTAINS、FIND、HYPERLINK、INCLUDES、LEFT、LEN、LOWER、LPAD、MID、RPAD、RIGHT、SUBSTITUTE、TEXT、TRIM、UPPER、VALUE
    • 日時: DATE、DATEVALUE、DATETIMEVALUE、DAY、MONTH、YEAR、HOUR、MINUTE、SECOND、MILLISECOND、WEEKDAY、TIMEVALUE、ADDMONTHS
    • その他: REGEX
  • ストリーム復元はサポートされていません。

次のステップ