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

如何在C#中调用Salesforce服务批量删除5000条Account记录?

解决Salesforce批量删除5000+ Account记录的C#实现方案

错误原因

Salesforce的delete API接口单次请求最多允许传入200个ID,直接传入5000个ID会触发EXCEEDED_ID_LIMIT错误,必须通过分批处理完成批量删除。

实现步骤

将ID数组拆分为每批200个的子数组,循环调用delete接口处理每一批,同时可按需处理每批的删除结果。

代码示例

// 假设ids是包含5000+个Account ID的string数组
int batchSize = 200;
for (int i = 0; i < ids.Length; i += batchSize)
{
    // 截取当前批次的ID,最后一批可能不足200个
    string[] batchIds = ids.Skip(i).Take(batchSize).ToArray();
    
    // 调用Salesforce delete接口
    SalesForceEnterpriseService.DeleteResult[] delResult = _service.delete(batchIds);
    
    // 可选:处理当前批次的删除结果,记录成功/失败信息
    foreach (var result in delResult)
    {
        if (result.success)
        {
            // 可替换为日志记录等逻辑
            Console.WriteLine($"Account {result.id} 删除成功");
        }
        else
        {
            // 遍历错误信息并记录
            foreach (var error in result.errors)
            {
                Console.WriteLine($"Account {result.id} 删除失败:{error.message}");
            }
        }
    }
}

注意事项

  • API限额:5000条记录分25批处理,远低于Salesforce默认的每日API调用限额(通常15000次),但若有其他API操作需注意总和。
  • 环境测试:生产环境操作前,建议先在沙盒环境验证分批逻辑,避免误删数据。
  • 异常处理:可添加try-catch块捕获API调用异常,防止单批失败导致整个流程中断。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 19:50:48