【kintone SDK/工具】关于受offset上限限制的影响

aki发表于:2020年07月17日 12:48:51更新于:2020年07月28日 09:38:54

2020年7月定期维护后,对offset上限值做了限制,本文总结了kintone SDK/工具有哪些受此影响。

如您的程序里使用了kintone SDK/工具获取超过1万条的应用记录,或者现在没有超过但将来可能会超过1万条,请对照下表确认一下是否受本次新规的影响。

kintone SDK/工具可否获取超过1万条记录的对照表

 SDK/工具

获取超过1万条记录时使用的获取方法
(空栏表示不支持)

offset可指定超过1万以上值的方法或选项
(明确指定 *1/内部处理*2)

由才望子进行维护

kintone JavaScript Client

使用记录 ID的方法


使用游标 API的方法
【受影响】使用offset的方法
  • 明确指定

    • RecordClient#getRecords()

  • 内部处理

    • RecordClient#getAllRecordsWithOffset()

    • RecordClient#getAllRecords()
      ※ 仅当指定了orderBy,且 withCursor为false时

kintone Java Client

使用游标 API的方法

cli-kintone

使用记录 ID的方法

※ v0.10.2及更高版本


使用游标 API的方法

※ v0.10.2及更高版本


【受影响】使用offset的方法
  • 明确指定

    • -q 选项

  • 内部处理

    • 用 -q输出所有记录时
      ※ v0.10.2以前 

不推荐

kintone iOS SDK

【受影响】使用offset的方法
  • 明确指定

    • Record#getRecords()

  • 内部处理

    • Record#getAllRecordsByQuery()

    • Record#deleteAllRecordsByQuery()

    • Record#upsertRecords()

kintone JS SDK

使用记录 ID的方法

※ v0.6.1及更高版本


使用游标 API的方法

※ v0.4.0及更高版本


【受影响】使用offset的方法
  • 明确指定

    • Record#getRecords()

  • 内部处理

    • Record#getAllRecordsByQuery()
      ※ seek未指定为true时

    • Record#deleteAllRecordsByQuery()

    • Record#upsertRecords()

kintone Java SDK

使用游标 API的方法

※ v0.3.0及更高版本


【受影响】使用offset的方法
  • 明确指定

    • Record#getRecords()

  • 内部处理

    • Record#getAllRecordsByQuery()

    • Record#deleteAllRecordsByQuery()

    • Record#upsertRecords()

kintone Utility Library for JavaScript(日语)

【受影响】使用offset的方法

  • 明确指定

    • kintoneUtility.rest.getRecords

  • 内部处理

    • kintoneUtility.rest.getAllRecordsByQuery()

    • kintoneUtility.rest.deleteAllRecordsByQuery()

    • kintoneUtility.rest.upsertRecords

kintone API SDK(β) for Node.js 

【受影响】使用offset的方法

  • 明确指定

    • getRecords()

kintone API SDK(β) for Java

【受影响】使用offset的方法

  • 明确指定

    • Connection#select()

    • Connection#selectWithTotalCount()

    • Connection#updateByQuery()

    • Connection#deleteByQuery()

kintone API SDK(β) for iOS

【受影响】使用offset的方法

  • 明确指定

    • KintoneAPI#records()

    • KintoneAPI#recordsWithFields()

*1 明确指定: 用户可对offset指定超过10,000的值。
*2 内部处理: 内部处理是使用offset来递归调用records.json的,因此用在存在超过10,000条数据的应用时,offset中指定的值可能会超过10,000。

可能受到影响时

推荐对程序进行修改,比如可换成不受影响的SDK/工具。
关于使用记录ID的方法以及使用游标API的方法的详情,请参考存在offset限制值的前提下批量获取记录

但是,正如才望子的通知(日语)(2020/4/15更新)中所述,在2020年7月的定期维护之前就开始在使用的用户,即使超过上限值,请求也会被处理,但会在kintone管理员以及相应应用的管理员的页面上显示“超过上限值”的警告。

关于警告内容的详情,请参考此篇文档

关联文档