カテゴリー内の他の記事

【kintone SDK/ツール】offsetの上限値制限に対する影響について

2020年7月の定期メンテナンスで適用されるoffsetの上限値制限に関連し、kintone SDK/ツールの影響の有無をまとめました。

kintone SDK/ツールを使って、10,000件を超えるレコードを取得している、またはそれが見込まれる場合、影響の有無をご確認ください。

kintone SDK/ツールの10,000件を超えるレコード取得の対応状況

  SDK/ツール

10,000件を超える取得で利用する方法
(記載なしの場合は非対応)

offsetに10,000を超える値を指定できるメソッド
またはオプション(明示的 *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管理者および該当のアプリ管理者の画面上に「上限値を超過した旨」が警告表示され、リクエストは処理される仕様となっています。

警告表示の詳細については、こちらを参照してください。

関連する記事

記事に関するフィードバック

記事のコメント欄は記事に対するフィードバックをする場となっております。
右の記事フィードバックのためのガイドを参照してコメントしてください。
記事のリンク切れなど、気になる点がある場合も、こちらのフォームからフィードバックいただけますと幸いです。

サインインしてコメントを残してください。