Настройка External Data Source

Статья описывает 1 из компонентов необходимых для работы с External Object. Когда вы создаёте External Data Source то вам необходимо выбрать множество настроек для своего источника, тут мы и рассмотрим детально как настраивать некоторые из них. Рассмотрим 2 базовых типа адаптера: OData.2.0 и Cross-Org.

1. Вступление
2. Connection type
3. Parameters
4. Authentication

Вступление

В окне настройки External Data Source существует множество полей которые помогут вам настроить источник должным образом. То какие поля придётся заполнять зависит от Type(типа адаптера).
Разобьём все эти поля на 3 группы:

  • Connection type
  • Parameters
  • Authentication

Большинство полей не требуют особого объяснения, но на некоторые стоить обратить внимание. Пройдём по каждой группе более подробно.

Connection type

  • External data source
    Имя вашего источника, который вы будете видеть в себя в sf user интерфейсе.

  • Name
    Имя которое вы будете использовать при вызове этого ресурса с помощью API.

  • Type
    В этом поле вам предлагают выбрать 1 из Salesforce Connect Adapters. Salesforce Connect специальные адаптеры для соединения с внешней системой и доступа к данным. Рассмотри каждый вид доступного адаптера.

    • OData.2.0(4.0) - использует Open Data Protocol для доступа к данным хранящимся вне sf организации.
    • Cross-org - использует Lightning Platform REST API для доступа к данным которые хранятся в другой Salesforce организации.

Parameters

Пройдём по списку параметров для каждого адаптера(типа подключения).

OData.2.0(4.0)

  • URL - адрес по которому будут взяты данные с внешнего сервиса. Например: http//services.example.org/Warehouse.svc

  • Connection Timeout (Seconds) - время ожидания ответа от внешнего сервиса.

  • Writable External Objects - позволяет Lightning platform и пользователям в организации создавать, обновлять и удалять записи external object которые привязаны к внешнему источнику данных. По умолчанию записи External Object являются read only.

  • High Data Volume - при включении позволяет обойти некоторые лимиты на запрос данных от внешнего сервиса. Но при этом включает другие лимиты.

  • Request Row Counts - добавляет к каждому запросу опцию для получения количества записей

  • Enable Search - определяет может ли SOSL и глобальный поиск Salesforce запрашивать external objects записи ассоциированные с текущим внешним хранилищем. Только text, text area, и long text area поля на external objects могут быть запрошены. Если у объекта нет таких полей, то и в результате поиска ничего не вернётся.

  • Format - формат данных который OData источник использует для предоставления данных. Убедитесь что OData источник поддерживает выбранный формат данных.

  • Server Driven Pagination - позволяет внешней системе контролировать поведение разбиения данных на блоки(страницы).

  • Compress Requests - Salesforce отправляет сжатый HTTP запрос на внешнюю систему. Убедитесь что внешний сервис может принимать запросы такого типа. Salesforce автоматически принимает gzip-compressed ответы.

  • Custom Query Option for Salesforce Search - доступно только если вы выбрали OData.2.0 адаптер. Если OData источник заимплементировал free-text-search кастомную опцию поиска, то вы можете ввести параметр по которому будет происходить поиск.
    Здесь например показан кастомный параметр в запросе с именем “doSearch” и значения для параметра “Acme”.

http://services.example.org/my.svc/Shippers?
$select=CompanyName, Phone, ShipperID&
$inlinecount=allpages&doSearch=Acme&$top=26 
  • Special Compatibility - выберите Socrata только если URL определяет Socrata open data endpoint.

Cross-org

  • Connect to - адрес по которому определяется к какой организации подключаться.

  • URL - если вы выбрали Connect to Custom URL, введите login URL для организации источника.

  • API Version - версия API определяется для организации которая выступает источником. Определяет какие объекты, поля, и типы вы можете получить из организации.

Authentication

В обоих случаях, выбрав OData.2.0(4.0) или Cross-org набор полей будет одинаков за исключением что у Cross-org нет No Authentication значения для выбора.

  • Certificate - если вы определяете сертификат, то ваша Sf организация будет предоставлять его каждый раз при двухстороннем SSL соединении с внешней системой. Сертификат используется для цифровой подписи, который подтверждает что запрос, приходит от вашей Salesforce организации.

  • Identity Type - используйте ли вы 1 набор credentials или несколько.

    • Named Principal - указывает на то что вы используйте 1 набор credentials.

    • Per User - указывает на то что вы используйте несколько аккаунтов для доступа к внешней системе. Каждый User имеет свой набор credentials, или вы можете сгруппировать пользователей и дать каждой группе свой набор credentials.

    • Anonymous - если внешняя система не требует аутентификации.

  • Authentication protocol - тип аутентификации.

    • Password Authentication - введите логи и пароль для доступа к внешней системе.
    • OAuth 2.0 тип аутентификации который требует
      • Authentication Provider - выбираем одного из провайдеров.
      • Scope - определяет набор разрешений для запроса access token. Выбранный auth provider определяет значения которые вы можете выбрать.
      • Start Authentication Flow on Save - что бы аутентифицироваться во внешней системе и получить OAuth Token, выберите checkbox. Этот процесс называется OAuth flow. Когда вы нажмёте Save то внешняя система предложит вам залогиниться. После успешного входа, внешний сервис выдаст вам токен для доступа к её данным из saleforce организации. Можете использовать это в случае если вам нужен новый токен.