javascript - jsforce 批量 api 选项之间的区别

标签 javascript salesforce bulk jsforce

我正在使用 jsforce使用批量 api 访问 salesforce。它有两种更新和删除记录的方法。一种是使用普通的批量 api,这意味着创建一个作业和批处理:

var job = conn.bulk.createJob("Account", "delete");
var batch = job.createBatch();
var accounts = getAccountsByDate(jsforce.Date.TODAY);
batch.execute(accounts);

batch.on('response', function(rets) {
    // do things
});

另一种方式是像这样的“查询”界面:

conn.sobject('Account')
    .find({ CreatedDate: jsforce.Date.TODAY })
    .destroy(function(err, rets) {
        // do things
    });

第二种方式当然看起来更简单,但我无法让它一次更新或删除超过 10,000 条记录,这似乎是一个 salesforce api limit on batch size .请注意,在这种情况下,使用 jsforce 中的 maxFetch 属性似乎没有任何效果。

那么假设查询样式接口(interface)只创建一个批处理是否安全? jsforce documentation在这一点上还不清楚。

最佳答案

目前 JSforce 批量 api 中的 bulk.load() 方法生成一个批处理的作业,因此将应用每批处理 10,000 个的限制。在使用内部使用 bulk.load() 的查找和销毁接口(interface)时也是如此。 为避免此限制,您可以通过 bulk.createJob() 创建一个作业并通过 job.createBatch() 创建多个批处理,然后将要删除的记录分派(dispatch)到这些批处理中,这样每条记录都不会超过限制。

关于javascript - jsforce 批量 api 选项之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50708942/

相关文章:

MySQL 使用 LOAD INFILE 进行批量插入 - MyISAM 仅比 MEMORY 引擎慢

api - 如何在 Rails API 中集成批量请求?

javascript - 当 <a> 的 onclick 方法被调用时显示模态

azure - 在 MS Azure AD 中,我尝试配置 SSO,但 SSO 选项未显示在所选企业应用程序下

C# mongodb driver 2.0 - 如何在批量操作中更新插入?

javascript - D3.js 可折叠树 - 扩展到深度级别 2 或 3

javascript - 在 javascript 中搜索 (D3)

javascript - 平均 : unable to update data to DB

javascript - Vue js 搜索过滤器 - 数据和绑定(bind)加载问题

javascript - 使用 Charts Js 在 Lightning Web 组件中将数据从父级传递到子级