如何在SOQL上处理大于2000的偏移量,而不使用Salesforce Rest API按ID或日期排序

如何在SOQL上处理大于2000的偏移量,而不使用Salesforce Rest API按ID或日期排序,salesforce,limit,offset,Salesforce,Limit,Offset,现在我正在将一个站点从使用oracle数据库迁移到使用salesforce。为了查询数据,我们使用最新版本的salesforce rest API。现在,我面临着一个问题,分页结果的偏移量大于2000。在这个话题上,我看到了不少问题,但似乎没有一个适合我的问题 所以这里有一些限制 我需要在20条记录的块上获取结果(即页面大小)。我不能只得到一堆结果,然后进行一些手动分页,因为这将超出项目的范围 我不能像WHERE ID>lastIdIntheResults LIMIT 20那样做,因为我需要按

现在我正在将一个站点从使用oracle数据库迁移到使用salesforce。为了查询数据,我们使用最新版本的salesforce rest API。现在,我面临着一个问题,分页结果的偏移量大于2000。在这个话题上,我看到了不少问题,但似乎没有一个适合我的问题

所以这里有一些限制

  • 我需要在20条记录的块上获取结果(即页面大小)。我不能只得到一堆结果,然后进行一些手动分页,因为这将超出项目的范围
  • 我不能像
    WHERE ID>lastIdIntheResults LIMIT 20那样做,因为我需要按名称对结果进行排序,按ID排序会破坏客户期望的顺序
    
  • 需要使用RESTAPI来完成。我认为没有办法在RESTAPI上使用queryMore函数
那么,你有什么建议吗


感谢

restapi与SOAP-API的
queryMore
等价物在响应中是
done:false
nextRecordsUrl:…

以下是我通过->实用程序->Rest资源管理器查询的数据:

然后下一个就是


要更改“块大小”而不受限制/偏移量,您可以使用HTTP头:

Hi@eyescream。谢谢你的回复。这是做我上面描述的事情的唯一方法吗?我确实看到了下一个记录URL,但根据文档,Sforce查询选项的最小值为200。我们的页面大小是20,这是开箱即用的保护资源(检查设置->公司信息prod中API调用的每日限制是多少,在sandbox中会高得多。如果要同步数百万条记录,您不希望此页面大小=20在prod中引起问题)。您是否考虑过
选择。。。其中Id>x按名称排序,Id
?这将解决您的排序期望,并且是安全的,没有跳过的记录…感谢您在限制问题上的提示。另外,我会根据ID检查排序结果。非常感谢