我尝试通过将其设置为“set payload”并使用delete操作调用云集线器Salesforce连接器来删除单个ID。工作正常。
如果是批量删除,我会传递带有salesforce accountid的CSV文件。 尝试将CSV转换为Object转换为字符串并拆分行数并尝试将其作为FOR的集合传递给每个要在迭代中删除的内容。
我是Mule工作室的新手请在错误的情况下纠正我,并提出删除CSV文件中id'd的最佳方法
答案 0 :(得分:0)
这可能有效:
传入没有标题的SFDC ID的CSV,然后使用File to String转换器。然后,您可以使用此Groovy脚本创建可以传递到Salesforce连接器的ID的有效负载。
def ids =[:]
payload = payload.split('\n')
ids = payload.collect{['Id':"'"+(it)+"'"]}
return ids
在连接器中设置sObject Type并使用#[payload] From Message作为Salesforce sObjects列表
这将尝试将有效负载中的所有ID作为单个语句删除,因此如果您在单个调用中达到更新/删除时的应用限制,则可能会失败。我将连接器放在For Each范围内,批量大小为25.这将一次删除25个并迭代直到处理完整个有效负载。