Salesforce 批量 API 删除运算符

标签 salesforce salesforce-lightning

在 Salesforce 批量 API 中 documentation有一些示例说明如何执行插入、更新插入、更新和查询操作。但是没有关于删除操作的例子。

在批量 API 文档中它说;

Bulk API is based on REST principles and is optimized for loading or deleting large sets of data. You can use it to query, queryAll, insert, update, upsert, or delete many records asynchronously by submitting batches. Salesforce processes batches in the background.

但是delete和query都缺少文档和例子。有人可以提供有关删除操作的示例吗?

最佳答案

我自己在尝试进行 API 集成以维护 Salesforce 中的事件条目时一直面临这个问题。

所有这些示例都在 json 中,但它们应该很容易分别转换为 csv 和 xml。

从事件对象中删除需要一个作业,就像所有操作一样,以及我一直在使用并发送到 <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,例如 [{"Id":"00U5I00000145XcUAI"},{"Id":"00U5I00000145XdUAI"},{"Id":"00U5I00000145XeUAI"},{"Id":"00U5I00000145XgUAI"},{"Id":"00U5I00000145XhUAI"}] .

批处理完成并失败或成功完成后,您可以通过发送常规请求来检索结果,以获取您的结果 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" : [ ]
} ]

缺少关于这些很有可能执行的操作的官方指南让我感到惊讶,但我希望有人可以利用这个对您问题的迟来回复。

关于Salesforce 批量 API 删除运算符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56969396/

相关文章:

salesforce - 代码覆盖率失败 您的代码覆盖率为 72%。您需要至少 75% 的覆盖率才能完成此部署

class - Salesforce - 构造函数名称无效错误

java - 如何从 OO 开发过渡到 Web 开发?

python - 将 session ID 从简单的 salesforce 传递到请求

javascript - 使用特定索引动态添加数组值?

javascript - AWS S3 文件预览命名问题

java - Salesforce 现场代理状态

java - 在Mule中使用Arraylist查询Salesforce

svg - VueJs 不显示 SVG

rest - Salesforce API - 使用复合字段。 (无法从 VALUE_STRING 反序列化 MailingAddress 的实例)