В этой статье расскажу о том зачем нужны External Object и их особенности.
1. Вступление
2. Что необходимо для работы с External Object
3. Настройка External Data Source и External Object
4. Свойства и ограничения
5. Заключение
Вступление
External object имеет те же свойства что и кастомный объект, только его данные хранятся вне вашей Salesforce организации на стороннем сервисе. Вместо копирования данных с внешнего сервиса на организацию, вы всегда можете получить к ним доступ, Salesforce синхронизирует данные в момент обращения к записи.
Что необходимо для работы с External Object
Для работы с External Object необходимо иметь:
- External Data source
- External Object
- Relationships for External Object
- Access to external objects and their fields
- Salesforce connection
External Data source компонент, который содержит настройки для работы с внешним ресурсом.
В нём вы указываете тип соединения, источник, identity type который укажет на количество используемых credentials и т.п. Я бы хотел более детально рассказать о каждом пункте в статье Настройка External Data Source
External Object должен соответствовать таблице на внешнем сервисе, доступ к которой вы хотите получить. Поля объекта буду соответствовать столбцам в таблице.
Relationships for External Object - external lookup, и indirect lookup relationship поля для более удобного доступа к данным.
Access to external objects and their fields настройка доступа к объекту и полям с помощью permission set или profile.
Salesforce connection использует External Data Source для доступа к данным которые хранятся за пределами Salesforce org.
Эта статья покажет как создать и настроить эти компоненты: Создание и настройка External Object
Свойства
Имя объекта
- Должно быть уникальным среди всех стандартных, кастомных и внешних(external) объектов во всей организации.
- В API, имя external object имеет окончание в виде __x, например если ваш external object называется Order, то в API имя будет Order__x.
Отношения между объектами
- External objects поддерживают определённые виды Lookup связей, которые используют 18-ти значные ID: External lookups и Indirect lookups. Более детально об этом типе связей в External Object Relationships.
Заключение
Цель с которой создают External Object это возможность иметь доступ к данным на внешнем сервисе работая в sf org не прибегая к копированию всех данных. Синхронизация происходит при обращении к записи на sf org. Используйте External Objects если:
- У вас есть большой объем данных который вы не хотите копировать в sf org.
- В любой момент вам может понадобится небольшое количество данных.
- Вам нужен доступ к данным в реальном времени.
Эта тема задевает ещё External Object Relationships и External ID, их рассмотрим далее в будущих статьях.