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

咨询Salesforce Composite是否支持回滚策略及失败重处理机制

Salesforce Composite 回滚策略及失败处理方案

一、是否支持回滚策略?

Salesforce Composite API 默认不支持自动回滚,单条请求的成功结果不会因后续请求失败而撤销,但可以通过两种方式实现回滚效果:

  • Composite Batch 全量回滚:使用Composite Batch时设置allOrNone参数为true,此时批次内任意一条请求失败,所有已执行的操作都会被回滚,整个批次的变更全部撤销。
  • 手动补偿回滚:如果不需要全量回滚,需自行记录前序操作的原始状态,当后续操作失败时,执行反向操作(比如将已更新的记录恢复至初始状态)。

二、3条记录更新最后一条失败的处理方案

针对更新3条记录时最后一条失败的场景,要实现回滚+重新处理且避免重复,可选择以下方案:

方案1:全量回滚后重试失败记录

调用Composite Batch时开启"allOrNone": true,一旦最后一条记录更新失败,前两条的更新会自动回滚。之后单独针对失败的那条记录,通过其唯一标识(记录ID或外部ID)执行更新操作,由于是基于已有记录的更新,不会产生重复。

方案2:手动补偿+定向重试

  1. 执行更新前,先记录前两条记录的原始字段值;
  2. 当第三条记录更新失败时,用保存的原始值将前两条记录恢复至更新前状态;
  3. 对失败的第三条记录,先通过唯一标识确认其当前状态(避免被其他流程修改),再执行更新操作——基于唯一标识的更新不会创建重复记录。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 13:42:22