You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Mule 4中配置Salesforce Bulk API v2 Upsert为仅更新?

Mule 4中Salesforce Bulk API v2 Upsert仅更新模式配置问题

我在Mule 4中使用Salesforce create-job-bulk-api-v2执行Upsert操作,根据Salesforce官方文档,可设置仅更新模式以阻止创建新记录。我尝试通过以下配置添加updateOnly请求头并设为true:

<salesforce:create-job-bulk-api-v2 objectType="Account" operation="upsert" doc:name="Create job bulk api v 2" doc:id="c43d3dc1-0f9f-416e-9c2d-9330a9861cb4" config-ref="Salesforce_Config" externalIdFieldName="External_Id_c">
                <salesforce:headers >
                    <salesforce:header key="updateOnly" value="true" />
                </salesforce:headers>
    </salesforce:create-job-bulk-api-v2>

但仍会创建新的Contact记录,请问该如何正确配置?


解决方案

核心问题

你引用的是Salesforce REST API的Upsert接口文档,但Bulk API v2的Upsert操作不支持通过请求头设置updateOnly,该参数需要通过Job的操作选项进行配置。

正确配置方式

在create-job-bulk-api-v2组件中添加salesforce:operation-options子元素,并设置updateOnly="true",而非通过salesforce:headers传递。

修正后的配置示例

<salesforce:create-job-bulk-api-v2 
    objectType="Contact" 
    operation="upsert" 
    doc:name="Create job bulk api v 2" 
    doc:id="c43d3dc1-0f9f-416e-9c2d-9330a9861cb4" 
    config-ref="Salesforce_Config" 
    externalIdFieldName="External_Id_c">
    <salesforce:operation-options updateOnly="true" />
</salesforce:create-job-bulk-api-v2>

额外注意事项

  • 确保你的Mule Salesforce Connector版本在4.15.0及以上,该版本才完整支持Bulk API v2的updateOnly操作选项
  • 若实际操作对象是Contact,需将objectType从Account改为Contact,同时确认externalIdFieldName对应Contact对象的有效外部ID字段

内容的提问来源于stack exchange,提问作者Maryam

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.20 10:24:57