Loading
Нотация взаимосвязи в сравнении с несколькими этапами извлечения
  1. Справка Salesforce
  2. Документы
  3. Omnistudio

Нотация взаимосвязи в сравнении с несколькими этапами извлечения

Использование записи взаимосвязи повышает производительность Omnistudio Data Mappers, извлекающих данные из родительского объекта. Используйте эту нотацию в извлечении путей JSON для полей родительского объекта вместо добавления второго объекта во вкладке извлечения соотнесения данных.

Нотация взаимосвязи в Data Mappers основана на запросах взаимосвязи в Salesforce. Дополнительные сведения об именах взаимосвязей и других соответствующих темах см. в разделе Запросы взаимосвязей в справке Salesforce. В соотнесениях данных можно использовать только запросы взаимосвязи между детьми и родителями.

Например, вы хотите извлечь данные контакта, содержащие имя организации, с которой связан контакт, а организация является родительским объектом контакта. Можно использовать несколько этапов извлечения или нотацию взаимосвязи.

Чтобы использовать несколько этапов извлечения, сперва определите этапы извлечения для объектов контакта и организации во вкладке извлечения соотнесения данных. Потом определите пути извлечения JSON для полей контакта и организации.

Чтобы использовать запись взаимосвязи, сперва определите этап извлечения для объекта «Контакт» во вкладке извлечения Data Mapper. Потом определите пути извлечения JSON для полей контакта и организации.

Поле «Извлечь путь JSON для имени» объекта «Организация» содержит значение Account.Name. Account — это имя взаимосвязи объекта «Контакт» с родительским объектом «Организация». Имя взаимосвязи отличается от имени поля, ссылающегося на родительский объект, то есть AccountId. Большинство имен взаимосвязей для стандартных объектов используют данное правило и пропускают суффикс кода.

Если вы введете код контакта во вкладку «Предварительный просмотр», вы получите одинаковый ответ для этого контакта для двух соотнесений данных:

{
  "CompanyName": "Acme",
  "LastName": "Tomlin",
  "FirstName": "Leanne"
}

Однако, если вы посмотрите в журнал отладки, вы увидите два запроса SOQL для Data Mapper, использующих несколько этапов извлечения:

SELECT id, accountid, firstname, lastname, name FROM Contact WHERE (Id = '0031U00000HUob9QAD')
SELECT id, name FROM Account WHERE (Id = '0011U00000KbYZAQA3')

Вы видите только один запрос SOQL для Data Mapper, использующий запись взаимосвязи:

SELECT id, firstname, lastname, account.name FROM Contact WHERE (Id = '0031U00000HUob9QAD')
Важно!
Важно!

Выполнение только одного запроса SOQL на основной объект всегда намного быстрее, чем выполнение двух. Data Mapper выполняет этапы обработки для каждого выполняемого запроса SOQL, а Salesforce также вносит накладные расходы для каждого запроса SOQL. При использовании одного запроса вместо двух у вас будет половина накладных расходов.

 
Загрузка
Salesforce Help | Article