查询操作中的Mule Salesforce连接器。地图列表作为输入

时间:2018-03-29 08:55:07

标签: salesforce mule dataweave

我在这个简单的DW脚本中定义了一个巨大的联系人ID和名称列表。为简单起见,我们只展示两个:

[
{id:'169057',Name:'John'},
{id:'169099',Name:'Mark'}
]

我需要salesforce连接器来执行关于这两个字段的单个查询(而不是1000个单一查询)。

我希望连接器能够使用List of Maps作为输入,就像使用更新/插入操作一样。所以,我试过这个连接器配置: enter image description here

我得到的是ConsumerIterator的响应。如果我做一个Object to String转换器,但我得到一个空字符串作为响应。

我想一定只能在一次API调用中执行一个大查询...但我找不到它。请记住,我需要使用两个或更多WHERE子句。

有什么想法吗?谢谢!

2 个答案:

答案 0 :(得分:0)

我认为您需要为输入中的id和Name值创建两个单独的列表,然后使用IN在查询中使用这些列表。

答案 1 :(得分:0)

  1. 构造要在where子句中使用的id列表。这可以在每个批量大小为1000的内部执行。

  2. 从每个批次的联系人中检索姓名和ID

    选择id,来自联系人的姓名,其中id为(id list)

  3. 通过匹配mule中步骤2中检索到的名称来获取所需的ID。