APIを利用したKintoneへのデータ書き込みの自動化について

お疲れ様です。

大月と申します。

以下の様な事例と出来るとは思いますが、可否をご教授下さい。

何か、不可、漏れ、注意点があればご教授下さいますと助かります。

【前提条件】

オンプレは当然の事ながら、Internet(Kintoneへの)に接続可能が大前提。

①オンプレ~Kintoneでのデータ取り込み。(オンプレ→API経由 Kintoneの一方通行を想定)

②Kintone スタンダードプラン運用予定(APIでデータ更新をしたいので当然ですが)

③CSVを毎日決まった時刻(夜間)を出力

④オンプレのサーバーからKintoneのAPIを活用してKintoneのアプリ内のテーブル
を自動更新したい。APIを介してのプログラムは当然自社開発します。

以上、宜しくお願い致します。

お疲れ様です。

日本語勉強中で、よろしくお願いします。

私も同じことを先輩たちに聞きたいですが、個人的に以下の罠にはまってしまいました。

  1. 1日にアプリにつき1万回しかAPIが実行出来ない。最適化することで、何とかなりますが、利用人数が多い又はチャットアプリのバックエンドなどのリアルタイム的なアプリには向いていないと思います。
  2. フィールド種類によってqueryが異なります。例えば、文字列だったら、fieldCode = “value” ですが、ドロップダウンだったら、fieldCode in (“value”) になります。Kintoneのフロントエンドを使わない案件は、全部「文字列」にしています。
  3. 関連データベース(SQL)より、NoSQLのほうが近いです。本格的なNoSQLのデータベースのようにAPIはそんなに豊富じゃありませんが、ほとんどの案件にKintoneは十分だと思います。

他にもありますが、思いついたら追加致します。間違っている内容がありましたら、お手数ですが、ご指摘ください。

 

その他:

https://jp.cybozu.help/k/ja/admin/limitation/limit.html

 

 

Lorenz Ras様、早々のコメントありがとうございます。

了解致しました。

想定しているのは、タイムカードの打刻データです。

1日、1レコードです。

想定人数 400人×31日(CSVなら31行)=12,400レコード

想定人数 500人×31日(CSVなら31行)=15,500レコード

という事は、1日ではMAXレコードはAPIで処理出来ないという事ですね。

<QA1>この場合には日跨ぎしているので、システム日付は1日跨いでますが。すいません。意地悪な質問で。

1日に処理出来るとは、以下の場合にはどうなりますでしょうか。処理不可。処理可能。ご教授頂ければと思います。

2022年7月20日 23時にAPIで9,000レコードを処理

2022年7月21日 5時にAPIで9,000レコードを処理

<QA2>1日、10,000件以上をAPIで処理する場合には皆さまはどうされているのでしょうか。

<QA3>APIで最適化(可能かどうかは分かりませんが)すれば、最適化すればAIPその後は処理出来ますか。

<QA4>APIで最適化は可能ですか。もしかして、KintoneのデータベースはSQL(MySQL or MS SQL)でしょうか。

 

結論からいうと、当案件はKintoneで出来ます。

<A1> 1日のAPIリクエスト数は、日本時刻で毎日午前9時にリセットされるそうです。

https://jp.cybozu.help/k/ja/id/04044.html#limitation_limit_3040

<A2> 案件によりますが、1万以上超えるなら、カーソルAPIを利用するのが進められています。※制約事項に注意してください。

<A3> 適切なAPIを利用すれば、最適化出来ます。例えば、APIで一件ずつレコードを取得し処理すると、遅いだけじゃなく、「レコード件数 X API実行回数」という計算になるので、すぐに上限を超えてしまいます。カーソルAPI又は一括取得取のAPIを利用すれば、当案件は余裕だと思います。

<A4> SQLと全く異なり、MongoDBのほうが似てるかなと思います。でもあいにく、個人的なイメージだけなので、正式にKintoneのAPIのドキュメンテーションを参考したほうが正確です。

 

余談ですが、KintoneのSDKを利用すれば、かなり便利です。そして、個人的はバックアップをkintoneのコマンドツールで実現しています。

分かりにくい日本語、すみません。

 

Lorenz Rasさんへ

早々にご解答頂きありがとうございます。

コマンドラインツールでも取り込む事が出来る(タスクスケジューラで自動化出来るかも)みたいなので、

一度、開発会社と相談してみます。

取り急ぎ、お礼まで。

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