Как собрать полную схему объекта с помощью соединителя Mulesoft Salesforce (Mule 4) - PullRequest
0 голосов
/ 01 марта 2020

... Я использую соединитель Mule Salesforce (для Mule Runtime 4.4.2) в Anypoint Studio (7.4.2).

Язык запросов Salesforce не позволяет оператору * собрать все ключи из объекта, поэтому я ищу другие средства для извлечения образца объекта и создания записи модели, которую я мог бы использовать для обновлений и создания.

Использование объекта Task (задокументировано здесь: https://developer.salesforce.com/docs/atlas.en-us.object_reference.meta/object_reference/sforce_api_objects_task.htm). Например, я считаю, что методы describeLayout() и retrieve() выглядят многообещающе.

Однако, когда я пытаюсь вызвать retrieve(), я должен отправить список полей для извлечения.

Я не вижу метод describeLayout() в коннекторе, поэтому я не видел, что он возвращает.

Я пропустил общее назначение подход, позволяющий мне собрать каждое поле из образца объекта?

[отредактировано для ясности]

Ответы [ 2 ]

1 голос
/ 05 марта 2020

... так получается, что соединитель Mule 4 Salesforce поддерживает describe SObject.

Для разработчика Anypoint Studio это выглядит так:

Describe SObject connector

Определение XML предлагает немного более глубокого понимания.

Обновление: после дальнейшего изучения выясняется, что для получения простой операции необходимо применить дополнительную операцию с использованием Dataweave. список полей. После того, как у вас есть структура SObject в полезной нагрузке, вы:

payload.fields.*name

Это даст массив с именами полей.

1 голос
/ 01 марта 2020

Проверьте, есть ли поддержка describe. describeLayout в основном используется, если вам нужно, например, заново создать SF-страницу в мобильном приложении, она не расскажет вам много о типах полей и перечислит только те поля, которые может видеть конечный пользователь, в фоновом режиме они могут быть скрыты.

Вам может повезти с описанием REST API: https://developer.salesforce.com/docs/atlas.en-us.api_rest.meta/api_rest/dome_sobject_describe.htm

Или API метаданных: https://developer.salesforce.com/docs/atlas.en-us.api.meta/api/sforce_api_calls_describesobjects_describesobjectresult.htm

Я не знаю, что доступно для вас. Я ожидаю, что Mule-коннектор сделает это за вас как часть мастера соединений, извлечет информацию обо всех запрашиваемых таблицах, а после того, как вы выберете одну - обо всех полях, которые вы можете увидеть в ней. Может быть, вы что-то усложняете, вам нужен действительно динамический эквивалент c SELECT *, который будет работать, когда администратор добавляет новые поля без необходимости обновлять sh соединение?

Метаданные также можно запрашивать, он хранится в таблицах, как фактические данные. Посмотрите, поможет ли { ссылка }.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...