How Do You Retrieve the Results of a Batch?

DEX502 - Module 8: Bulk API

📄 第 310 页 🎬 视频课程

课程章节介绍

我们来聊聊如何量化批处理的结果,以及如何检索各个记录的状态。 首先,批处理在Salesforce中是一个非常有用的工具,它允许你一次性处理大量的记录。但是,处理这么多记录时,难免会有一些记录成功,一些记录失败。那么,我们怎么知道哪些记录成功了,哪些失败了呢? ### 1. 批处理的状态 即使部分或所有记录失败了,批处理的状态仍然可能是“已完成”。这是因为批处理的任务是尝试处理所有记录,而不是确保所有记录都成功。所以,即使有些记录失败了,只要批处理尝试了所有记录,它的状态就会显示为“已完成”。 ### 2. 检索批处理结果 要查看每个记录的处理结果,你可以通过一个特定的URL来获取结果。这个URL的格式通常是这样的: ``` https://instance.salesforce.com/services/async/APIversion/job/jobId/batch/batchId/result ``` 在这个URL中,`instance.salesforce.com`是你的Salesforce实例,`APIversion`是你使用的API版本,`jobId`是批处理作业的ID,`batchId`是批处理的ID。 ### 3. 结果格式 当你访问这个URL时,你会得到一个CSV格式的文件。这个文件会列出每个记录的处理结果。每一行代表一个记录,列包括: - ,ID,:记录的ID。 - ,成功,:记录是否成功处理(true或false)。 - ,创建,:记录是否被创建(true或false)。 - ,错误,:如果记录失败,这里会显示错误信息。 ### 4. 示例 假设你有一个批处理,处理了两个记录。结果可能是这样的: ``` "ID","成功","创建","错误" "003x000004ouM4AAI","true","true","" "003x000004ouM5AAI","true","true","" "","false","false","REQUIRED_FIELD_MISSING: 缺少必需字段:[LastName]: LastName--" ``` 在这个例子中: - 前两个记录都成功了,没有错误。 - 第三个记录失败了,因为缺少了必需的字段`LastName`。 ### 5. 总结 通过这种方式,你可以轻松地量化批处理的结果,了解哪些记录成功了,哪些失败了,以及失败的原因是什么。这对于后续的调试和修复非常有帮助。 希望这个解释对你有帮助!如果你有更多问题,随时问我。