如何使用Salesforce Rest API在SOQL上处理大于2000的偏移量而无需按ID或日期排序 [英] How to handle an offset greater than 2000 on SOQL without sorting by ID or date using the Salesforce Rest API

查看:66
本文介绍了如何使用Salesforce Rest API在SOQL上处理大于2000的偏移量而无需按ID或日期排序的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

现在,我正在从使用oracle数据库迁移网站以使用Salesforce的工作中.为了查询数据,我们使用了最新版本的salesforce rest API.现在,我在将结果与大于2000的偏移量进行分页时遇到了问题.关于该主题,我已经看到很多问题,但是似乎没有一个适合我的问题.

所以这是限制

  • 我需要在20条记录的块(即页面大小)上获取结果.我不能只获得大量结果,然后进行一些手动分页,因为这超出了该项目的范围.
  • 我无法执行 WHERE ID>lastIdIntheResults LIMIT 20 因为我需要按名称对结果进行排序,所以按ID进行排序会破坏客户期望的顺序.
  • 需要使用REST API完成.我认为没有办法在REST API上使用queryMore函数.

那么,您有什么建议吗?

谢谢

解决方案

REST API与SOAP API的 queryMore 等效,为 done:false nextRecordsUrl:... 在响应中.

然后下一个是

要更改没有限制/偏移的块大小",您可以使用HTTP标头: 解决方案

REST API's equivalent of SOAP API's queryMore is done: false and nextRecordsUrl: ... in the response.

https://developer.salesforce.com/docs/atlas.en-us.api_rest.meta/api_rest/dome_query.htm

Here's my data queried via https://workbench.developerforce.com -> Utilities -> Rest Explorer:

And then the next one would be

And to change the "chunk size" without LIMIT/OFFSET you can use a HTTP header: Sforce-Query-Options: batchSize=200

这篇关于如何使用Salesforce Rest API在SOQL上处理大于2000的偏移量而无需按ID或日期排序的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆