Salesforce批量API删除运算符

时间:2019-07-10 11:07:25

标签: salesforce salesforce-lightning

在Salesforce批量API documentation中,有一些有关如何执行插入,向上插入,更新和查询操作的示例。但是有关删除操作的示例不可用。

在批量API文档中说;

  

批量API基于REST原理,并针对加载或删除大量数据进行了优化。您可以使用它通过提交批处理来异步地查询,queryAll,插入,更新,upsert或删除许多记录。 Salesforce在后台处理批次。

但是删除和查询缺少所有文档和示例。有人可以提供有关删除操作的示例吗?

2 个答案:

答案 0 :(得分:1)

批量API删除的语义与插入或更新的语义基本相同:您创建一个作业,并将其操作设置为"delete""hardDelete",然后针对该作业发布一批记录数据。对于删除,您仅在批次中包括记录ID,而不是可更新或可插入的记录内容。

由于这个原因,批量API删除的实现通常只会折叠到同一基础体系结构的不同参数。查看您选择的Salesforce连接器库中的示例,例如

批量API 2.0使用不同的模型,但是在摄取数据时,删除操作类似地折叠为不同的参数。参见

中的实现

答案 1 :(得分:1)

我自己在尝试进行API集成以维护Salesforce中的事件条目时就遇到了这个问题。

所有这些示例都在json中,但是应该可以轻松地分别转换为csv和xml。

与所有操作一样,从Event对象中删除需要一个作业,并且我一直在使用并发送到<your salesforce site>/services/async/48.0/job/的示例作业请求如下所示:

{
    "operation": "delete",
    "object": "Event",
    "concurrencyMode": "Parallel",
    "contentType": "JSON"
}

然后,服务器根据以下内容进行答复(为简洁起见,省略了某些项目)

{
    "apexProcessingTime": 0,
    "apiActiveProcessingTime": 0,
    "apiVersion": 48.0,
    "assignmentRuleId": null,
    "concurrencyMode": "Parallel",
    "contentType": "JSON",
    ...
    "numberRetries": 0,
    "object": "Event",
    "operation": "delete",
    "state": "Open",
    "systemModstamp": "2020-04-08T15:13:42.000+0000",
    "totalProcessingTime": 0
}

然后,您按照<your salesforce>/services/async/48.0/job/<jobId>/batch/的规范创建批次,但删除批次只能包含要删除的项目(例如[{"Id":"00U5I00000145XcUAI"},{"Id":"00U5I00000145XdUAI"},{"Id":"00U5I00000145XeUAI"},{"Id":"00U5I00000145XgUAI"},{"Id":"00U5I00000145XhUAI"}])的ID。

批处理完成且失败或成功完成后,您可以通过发送通常的请求来获取结果ID,然后从这些结果ID中获取结果,以检索结果。我对Bulk API的查询操作没有做任何其他事情。

在我的情况下,服务器回应

[ {
  "success" : true,
  "created" : false,
  "id" : "00U5I00000145XcUAI",
  "errors" : [ ]
}, {
  "success" : true,
  "created" : false,
  "id" : "00U5I00000145XdUAI",
  "errors" : [ ]
}, {
  "success" : true,
  "created" : false,
  "id" : "00U5I00000145XeUAI",
  "errors" : [ ]
}, {
  "success" : true,
  "created" : false,
  "id" : "00U5I00000145XgUAI",
  "errors" : [ ]
}, {
  "success" : true,
  "created" : false,
  "id" : "00U5I00000145XhUAI",
  "errors" : [ ]
} ]

缺少关于这些操作的官方指南,这很可能使我感到惊讶,但是,希望有人能从这份对您问题的最新答复中获得一些利用。

相关问题