gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-30 14:34:03 25 4
gpt4 key购买 nike

我正在使用 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com