如何使用 Mulesoft Salesforce 连接器 (Mule 4) 收集完整的对象模式

How to gather complete object schema with Mulesoft Salesforce connector (Mule 4)

...我在 Anypoint Studio (7.4.2) 中使用 Mule Salesforce 连接器(适用于 Mule Runtime 4.4.2)。

Salesforce 查询语言不允许 * 运算符从对象中收集所有键,因此我正在寻找另一种方法来检索示例对象并创建可用于的模型记录更新和创作。

以任务对象(记录在此处:https://developer.salesforce.com/docs/atlas.en-us.object_reference.meta/object_reference/sforce_api_objects_task.htm)为例,我发现 describeLayout()retrieve() 方法看起来很有前途。

但是,当我尝试调用 retrieve() 时,我需要提交要检索的字段列表。

我没有看到连接器中公开的 describeLayout() 方法,所以我还没有看到它是什么 returns。

我是否错过了允许我从示例对象收集每个字段的通用方法?

[为清楚起见进行了编辑]

看看是否有 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 连接器作为某些连接向导的一部分为您完成它,提取有关所有可查询表的信息,并在您选择一个表后 - 关于您可以在其中看到的所有字段。也许你把事情搞得太复杂了,你需要一个真正动态的 SELECT * 等价物,当管理员添加新字段而无需刷新连接时它会起作用?

也可以查询元数据,它像实际数据一样存储在表中。看看 是否有帮助。

...所以事实证明 Mule 4 Salesforce 连接器确实支持 describe SObject

对于 Anypoint Studio 开发人员,它显示如下:

XML 定义几乎没有提供进一步的见解。

更新:经过进一步调查,发现需要使用 Dataweave 应用额外的操作来获取简单的字段列表。在有效负载中拥有 SObject 结构后,您将:

payload.fields.*name

这会生成一个包含字段名称的数组。