Salesforce Connect — OData 2.0 または 4.0 アダプターの外部データソースの定義
SAP® NetWeaver Gateway、Microsoft Dynamics® NAV、IBM WebSphere® などの外部システムに保存されているデータに、Salesforce 組織を接続します。
必要なエディション
| 使用可能なソリューション: Salesforce ClassicとLightning Experienceの両方(大量データの外部オブジェクトには非対応) |
使用可能なエディション: Developer Edition 有料オプションで使用可能なエディション: Enterprise Edition、Performance Edition、および Unlimited Edition |
| 必要なユーザー権限 | |
|---|---|
| 外部データソースを作成および編集する | 「アプリケーションのカスタマイズ」 |
- 外部データは、Open Data Protocol (OData) バージョン 2.0 または 4.0 を使用するサービスによって公開されている必要があります。 このようなサービスを OData プロデューサーと呼びます。
- OData プロデューサーに到達するための URL には、インターネット経由で Salesforce アプリケーションサーバーからアクセスできる必要があります。アクセスするには、企業ネットワークファイアウォール上の Salesforce サーバーの IP アドレスを許可リストに追加するか、リバースプロキシ XML ゲートウェイを設定することができます。
- データ表示をカスタマイズできる範囲は、外部システムによって異なります。Salesforce とのインテグレーションの最適な設定を判断するには、外部システムのドキュメントを参照してください。
- [設定] から、[クイック検索] ボックスに「外部データソース」と入力し、[外部データソース] を選択します。
- [新規 External Data Source] をクリックするか、[編集] をクリックして既存の外部データソースを変更します。
-
項目を入力します。
項目 説明 外部データソース ユーザーにわかりやすい外部データソースの名前。表示ラベルは、リストビューなどの Salesforce ユーザーインターフェースに表示されます。
[ID 種別] を [ユーザー] に設定すると、ユーザーが外部システムの認証設定を表示または編集するときに、この表示ラベルが表示されます。
名前 API からこの外部データソース定義を参照する場合に使用される一意の ID。
名前には、アンダースコアと英数字のみを使用できます。一意であること、最初は文字であること、空白は使用しない、最後にアンダースコアを使用しない、2 つ続けてアンダースコアを使用しないという制約があります。
種別 [Salesforce Connect: OData 2.0] または [Salesforce Connect: OData 4.0] を選択します。 URL OData サービスのルート URL。必ずすべての特殊文字をエスケープしてください。
各サービスエンドポイントには、独自の外部データソース定義が必要ですが、1 つのサービスルート URL の下に複数のエンティティを持つことができます。サービスルート URL と他の URL の規則についての詳細は、www.odata.org を参照してください。
例:
- http://services.example.org/Warehouse.svc
- https://services.example.org/Payroll.svc
指定ログイン情報でエンドポイントが定義されている場合は、指定されたログイン情報 URL を入力します。指定ログイン情報 URL にはスキーム
callout:、指定ログイン情報の名前、必要に応じて追加されたパスが含まれます。例:callout:My_Named_Credential/some_path。クエリ文字列を指定ログイン情報 URL に追加できます。指定ログイン情報 URL とクエリ文字列の間の区切り文字として疑問符 (?) を使用します。例:
callout:My_Named_Credential/some_path?format=json。指定ログイン情報 URL を入力した場合、外部データソースの [認証] セクションはスキップします。Salesforce Connect は、外部システムへのアクセスに指定ログイン情報で定義された認証設定を使用します。
接続タイムアウト タイムアウトになる前に外部システムからの応答を待機する秒数。デフォルトでは、最大値の 120 秒に設定されます。
外部システムの可用性および外部システムへの接続によっては、外部データの取得に時間がかかることがあります。この項目を使用して、外部データが組織に読み込まれるまで待機する時間を制限します。
書き込み可能外部オブジェクト この組織の Lightning プラットフォームとユーザーは、外部データソースに関連付けられている外部オブジェクトのレコードの作成、更新、削除を行うことができます。外部オブジェクトデータは組織外に保存されます。デフォルトでは、外部オブジェクトは参照のみです。 高データボリューム Salesforce では、外部システムからのデータの取得および表示にレート制限が適用されます。組織で外部オブジェクトにアクセスするときにレート制限に達する場合は、関連付けられた外部データソースで [高データボリューム] オプションを選択することを検討してください。このオプションを選択すると、ほとんどのレート制限が迂回されますが、一部の特殊動作と制限は適用されます。「Salesforce Connect — OData 2.0 および 4.0 アダプターに関する高データボリュームの考慮事項」を参照してください。
Enterprise Edition、Performance Edition、および Unlimited Edition では、大量データの外部データソースが引き続き 1 時間あたり 20,000 個の Odata クエリに制限されます。制限の緩和が必要な場合は、サポートケースを作成します。コールアウト制限は、「Salesforce Connect OData アダプターの一般的な制限」を参照してください。
サーバー駆動のページ設定 外部データの Salesforce Connect クエリで、大量の結果セットがバッチやページに分割されて示されることはよくあります。外部システムでページ動作を制御するには、このオプションを選択します。「Salesforce Connect OData アダプターのクライアント駆動ページングとサーバー駆動ページング」を参照してください。 要求の行数 応答に結果セットの合計行数が含まれるように、各 OData クエリで次のシステムクエリオプションのいずれかを指定します。
- OData 2.0 アダプターの場合は
$inlinecount=allpages - OData 4.0 アダプターの場合は
$count=true
一部の外部システムは、これらのシステムクエリオプションをサポートしていません。データにアクセスしようとしてエラーが返されたり、読み込みに時間がかかったりした場合は、外部データソースの [要求の行数] を選択解除します。ただし、選択解除すると、外部データソースおよび関連付けらている外部オブジェクトが、合計行数を必要とする次の機能をサポートできません。
- SOQL
COUNT()集計関数 Database.QueryLocatorを使用した Apex の一括処理
圧縮要求 選択した場合、圧縮された HTTP 要求が Salesforce から外部システムに送信されます。gzip 圧縮データを受信するように外部システムが設定されていることを確認してください。Salesforce では、gzip 圧縮応答が自動的に受け入れられます。 検索の有効化 SOSL と Salesforce のグローバル検索で、この外部データソースに関連付けられた外部オブジェクトも照会されるかどうかを決定します。
これを選択すると、各外部オブジェクトで [検索を許可] を選択または選択解除して、どの外部オブジェクトを検索可能にするかを制御できます。
検索できるのは、外部オブジェクトのテキスト、テキストエリア、およびロングテキストエリア項目のみです。外部オブジェクトに検索可能項目がない場合、そのオブジェクトに対する検索ではレコードは返されません。
外部データソースの関連付けられている外部オブジェクトを Salesforce for iOS および Salesforce モバイル Web に表示できるようにするには (iOS デバイスで使用する場合)、このオプションを選択します。
Salesforce 検索のカスタムクエリオプション Salesforce Connect の OData 2.0 アダプターでのみ使用できます。OData プロデューサーが実装され、フリーテキスト検索のカスタムクエリオプションが公開されている場合は、そのクエリ文字列のパラメーター名を入力します。
OData カスタムクエリオプションとその他の URI 規則についての詳細は、www.odata.org を参照してください。
[検索の有効化] がオフであるか、カスタムクエリオプションを正しく処理するように OData プロデューサーが設定されていない場合、この項目による影響はありません。
「OData 2.0 クエリオプション」を参照してください。
自由テキスト検索式を使用 Salesforce Connect の OData 4.0 および 4.01 アダプターで使用できます。外部システムに送信される検索要求で
$filterの代わりに$searchシステムクエリオプションを使用するには、このオプションを選択します。OData プロデューサーが$searchシステムクエリオプションをサポートするように設定されていることを確認してください。この項目は、[検索の有効化] が選択されていない場合は無効です。
「OData 4.0 および 4.01 クエリのオプション」を参照してください。
形式 データのコレクションなどのリソースを表現するために OData プロデューサーで使用される形式。
OData プロデューサーが選択した形式をサポートするように設定されていることを確認してください。表現の形式と操作についての詳細は、www.odata.org を参照してください。
外部データソースが OData 4.0 アダプターと JSON 形式を使用する場合、OData プロデューサーが、
odata.metadata=full形式のパラメーターが含まれるヘッダーを受け入れることを確認します。OData 4.0 アダプターでは、odata.metadata=minimalなどの他のバリエーションはサポートされていません。特殊な互換性 Socrata は、URL が Socrata オープンデータエンドポイントを指定している場合にのみ選択します。「Salesforce Connect — OData 2.0 および 4.0 アダプターに関する Socrata™ の考慮事項」を参照してください。 サーバーエラーを表示 ユーザーインターフェースで外部システムからのエラーメッセージを表示するかどうかを指定します。 外部変更データキャプチャの対象 外部データへの変更を追跡する場合に選択します。「外部変更データキャプチャを使用した外部オブジェクトのデータ変更の追跡」を参照してください。 CSRF 保護 外部システムがデータの作成、編集、または削除要求でクロスサイトリクエストフォージェリ (CSRF) 保護を必要とする場合、このオプションを選択します。有効にする場合は、組織が外部システムから対 CSRF トークンおよび Cookie を取得して、作成、編集、または削除の各要求に含めます。「Salesforce Connect — OData 2.0 および 4.0 アダプターに関する CSRF の考慮事項」を参照してください。
[書き込み可能外部オブジェクト] が選択されている場合のみ使用できます。
対 CSRF トークン名 対 CSRF トークンが含まれる HTTP ヘッダー項目。この項目名は外部システムによって決定されます。デフォルト: X-CSRF-Token
[CSRF 保護] が選択されている場合のみ使用できます。
証明書 証明書を指定する場合、Salesforce 組織が、各外部システムとの双方向 SSL 接続確立時に証明書を提供します。この証明書は、要求がユーザーの Salesforce 組織からのものであることを確認するデジタル署名に使用されます。 ID 種別 外部システムへのアクセスに 1 セットのログイン情報と複数セットのログイン情報のどちらを使用するかを決定します。「外部データソースの ID 種別」を参照してください。
[匿名] は、外部システムに認証が必要ない場合にのみ選択します。
-
認証プロトコルを選択します。
- [パスワード認証] を選択した場合は、外部システムにアクセスするためのユーザー名とパスワードを入力します。
- [OAuth 2.0] を選択した場合は、次の項目を入力します。
項目 説明 認証プロバイダー プロバイダーを選択します。「認証プロバイダー」を参照してください。 範囲 アクセストークンを要求するための権限の範囲を指定します。認証プロバイダーによって有効な値が決まります。「Scope パラメーターの使用」を参照してください。
範囲を設定する場合、次の点に留意してください。
- 入力した値で、指定された認証プロバイダーに定義された [デフォルトの範囲] 値が置き換えられます。
- 範囲が定義されているかどうかは、各 OAuth フローがユーザーに同意画面を表示するかどうかに影響する場合があります。
- 更新トークンまたはオフラインアクセスを要求することをお勧めします。要求を行わない場合、トークンの期限が切れたときに、外部システムへのアクセス権が失われます。
保存時に認証フローを開始 外部システムに対して認証を行い OAuth トークンを取得するには、このチェックボックスをオンにします。この認証プロセスは OAuth フローと呼ばれます。
[保存] をクリックすると、ログインするように外部システムから促されます。ログインに成功すると、この組織から外部システムのデータにアクセスするための OAuth トークンが外部システムから与えられます。
新しいトークンが必要な場合 (トークンが期限切れなど)、あるいは [範囲] または [認証プロバイダー] 項目を編集した場合は、OAuth フローをやり直します。トークンの期限が切れると、外部システムから 401 HTTP エラー状況が返されます。
- [保存] をクリックします。
- [検証して同期] をクリックし、接続が正常であることを確認します。
-
必要に応じて、テーブルを選択し [同期] をクリックして、選択したテーブルごとに次の操作を実行します。
- Salesforce 外部オブジェクトを自動的に作成する。
- Salesforce メタデータのデータ型と互換性のあるテーブル列ごとに、カスタム項目を自動的に作成する。
代わりに、外部オブジェクトとカスタム項目を手動で作成し、外部データに対応付けしてもかまいません。これにより、外部オブジェクト名のカスタマイズ、カスタム項目を作成するテーブル列の判断、カスタム項目名のカスタマイズを行うことができます。ただし、この方法はより時間がかかり、手動のメンテナンスが必要になります。
メモ 同期する前に、次のトピックで説明されている考慮事項について理解していることを確認してください。
必要に応じて、カスタム HTTP ヘッダーを外部データソースに関連付けて、追加データを取得または要求できます。

