JSカスタマイズで複数のレコードの追加と更新を行うときのコツを教えてください。

例えば500件のレコードが既に登録されていたとして、そこにAPIで外部から300件のデータを流し込みたいとします。
300件のデータのうち200件は既存レコードの更新で100件は追加分としたときの効率の良い追加または更新の処理の作り方を考えています。

300件のデータの中でどれが更新分でどれが追加分かが予め判別できていない場合は以下の流れで処理を作っています。

  1. 既に登録されているレコードを全て取得する
  2. 取得した500件とデータ300件を突合して更新分と追加分にデータを仕分けする
  3. 200件のデータを更新する
  4. 100件のデータを追加する

APIを使って一度にレコードの取得や更新などを行えるのは最大で100件までなので、このやり方をしてしまうと取得だけで5回、更新で2回、追加で1回で最低でも8回もリクエストしてしまいます。
1日に1アプリ1万回までしかAPIを扱えないので、少ないレコード数ならいいですが、大量のデータを扱う場合はすぐに制限に引っかかってしまうのと、処理事態も冗長的と感じているのでもっと効率のいいやり方があるのではないかと考えています。

しかしWebで検索してみましたが、いい情報を見つけることができませんでした。
皆さんがどのようにされているか、ぜひ教えていただけないでしょうか。

kintone のしくみに縛られてしまいますので、それほど効率的なやり方は無さそうですね。
案としては、下記くらいでしょうか。

・レコードの取得は、最大500 です。500件なら1回で済みます。
・レコード取得の代わりに CSV を書き出して取得
・レコード更新は、項目の値を比較して更新が必要なものに絞る

@kintone/rest-api-client

にあるgetAllRecords()などを使うとある程度リクエスト数を稼げそうですね。

https://cybozu.dev/ja/kintone/sdk/rest-api-client/kintone-javascript-client/#document:~:text=MIT%20%E3%83%A9%E3%82%A4%E3%82%BB%E3%83%B3%E3%82%B9-,%E3%83%89%E3%82%AD%E3%83%A5%E3%83%A1%E3%83%B3%E3%83%88,-%E5%9F%BA%E6%9C%AC%E6%83%85%E5%A0%B1

このトピックはベストアンサーに選ばれた返信から 3 日が経過したので自動的にクローズされました。新たに返信することはできません。