見出し画像

kintone制限値チャレンジ5 cli-kintoneで10万行超えのデータを読ませられるか?

前回までのお話

前回、10万行のcsvファイル読み込みにチャレンジしました。

今回は、10万行を超えるcsvファイルを読み込ませることが出来ないのか?ってお話です。

「うちのデータは10万行なんてラクラク超えるわい!」というかた。
安心してください!ちゃーんとありますよ!手が!

クライアントツール「cli-kintone」を使えば楽勝です。
以下に手順を書きますね☆彡

cli-kintoneに挑戦

cybozu developer networkに、インストール方法と使い方が掲載されております。下記リンク先を見て下さい。

上記の手順では、cli-kintone.exe の置き場所をデスクトップの「works」ディレクトリーとしているので、それに合わせて書きます。

また、cli-kintoneは”コマンド入力”が必要です。
コマンドに関して、わかりやすい文献を探した結果、たどり着いたのは下記リンクでした。少しでも参考になったらうれしいです。

手順スタート

ここから順番に手順を説明します。

Windows11の場合は、スタートメニューをクリックし、検索バーに「コマンドプロンプト」と入力しEnterキーを押します。

開いたコマンドプロンプトで、「cd Desktop\works」と入力しEnterキーを押します。これでカレントディレクトリが cli-kintone.exeのある、デスクトップの「works」ディレクトリになります。

確認の為、コマンドで「dir」と入力しEnterキーを押してみましょう。
出てきたリストに「cli-kintone.exe」が含まれていれば、カレントディレクトリの移動は成功です。

続いてエクスプローラを使って、デスクトップの「works」ディレクトリに、10万行超えのcsvファイルを置いて下さい。
別の場所でも良いですが、「cli-kintone.exe」がある場所にcsvファイルがあるとシンプルなコマンドで実行できるのでオススメです。

ここからコマンド打ちまくります。
下記コマンドをコピペして、メモ張などに貼り付けて下さい。

setlocal
set mURL={https://で始まるドメイン名}
set appID={読み込ませるアプリのアプリID}
set mUser={ログイン名}
set mPass={ログイン名のパスワード}
set fPass=./{読み込むcsvファイルの名前}
set uKey=レコード番号

※環境変数を使ってますが、そこに踏み込むと話が長くなるのでやめます。

上記の中かっこ{}の部分を自身の環境に合わせて書き換えて下さい。中かっこ{}を入力する必要はありません。
例えば、ドメインがsampleで、アプリIDが777、ログイン名がhogehoge、ログイン時のパスワードがhogepassword、読み込むファイルが”制限値チャレンジ20万行のデータ入りcsvファイル.csv”だったとしたら、以下のようになります。
ファイルには名前の通り、20万行のデータを入れました。

setlocal
set mURL=https://sample.cybozu.com
set appID=777
set mUser=hogehoge
set mPass=hogepassword
set fPass=./制限値チャレンジ20万行のデータ入りcsvファイル.csv
set uKey=レコード番号

準備ができたらメモ帳のコマンドをコピペして実行します。
この時点では設定を準備しただけなので何も起きません。

次にいよいよファイルを読み込ませます。ここのコマンドは下記の文字列を編集せず、コピペしてそのまま使って下さい。

cli-kintone.exe record import --base-url %mURL% --app %appID% -u %mUser% -p %mPass% --file-path %fPass% --update-key %uKey%

コマンドを実行して読み込みが始まると下記のような表示になります。

[2023-06-02T14:46:16.339Z] INFO: Preparing to import records...
[2023-06-02T14:46:20.980Z] INFO: Starting to import records...
[2023-06-02T14:46:30.281Z] INFO: Imported 2000 of 200000 records
[2023-06-02T14:46:33.958Z] INFO: Imported 4000 of 200000 records
[2023-06-02T14:46:37.663Z] INFO: Imported 6000 of 200000 records
[2023-06-02T14:46:41.373Z] INFO: Imported 8000 of 200000 records
[2023-06-02T14:46:45.092Z] INFO: Imported 10000 of 200000 records

そのまましばらく待って下記のように「records successfully」と表示されれば読み込み完了です。私の場合は、20万行を6分ぐらいで読み込むことができました☆

[2023-06-02T14:52:28.772Z] INFO: Imported 192000 of 200000 records
[2023-06-02T14:52:33.234Z] INFO: Imported 194000 of 200000 records
[2023-06-02T14:52:37.849Z] INFO: Imported 196000 of 200000 records
[2023-06-02T14:52:41.349Z] INFO: Imported 198000 of 200000 records
[2023-06-02T14:52:44.881Z] INFO: Imported 200000 of 200000 records
[2023-06-02T14:52:44.882Z] INFO: Imported 200000 records successfully


実行結果をアプリ管理で見てみましょう。
ちゃんと20万行が読み込まれていることがわかります。

続いてレコード一覧画面を見てみましょう。
こちらでも20万行入っていることがわかりますね。

まとめ

上記の手順で問題なく10万行を超えるcsvファイルを読み込む事が出来ました。

ひとつだけ注意して欲しいのが、cli-kintoneは内部でAPIリクエストを行なっているという事。
このAPIリクエストは1アプリあたり1日1万回までという決まりがあります。

1万回を超えてもリクエストは正常に受け付けてもらえますが、超過を知らせるメールがcybozu.comから届きます。
超えないように使いましょうねー。
(私は超過してメール来ちゃいました。)

では、ここまで読んで頂いてありがとうございましたー⭐️

この記事が気に入ったらサポートをしてみませんか?