コマンドラインツールでのファイルアップロードについて

基幹システムから定期的にはき出しているCSVファイルのデータをコマンドラインツールを利用してkintoneに自動で取り込みたいと考えています。

データを更新する際には取り込むファイルに『$idカラムを設定して』とありますが、定期的にはき出されるファイルのデータには、更新、新規の区別がありません。

手動で読み込む時の様に、重複禁止設定をしてある任意のフィールドを一括更新のキーに指定して更新/新規を判別して取り込む方法がありましたらご教示願います。

-Dオプションで一度全データを削除してから取り込む方法しかできないのでしょうか?

Yuzuru Abeさん

 

現状では、コマンドラインツールが一括更新キーとしてレコードIDのみを指定できると言い換えられると思います。元のデータが、kintoneのレコードIDを持ってないということだと思いますので、ご認識のとおりだと思います。

 

従来のJSカスタマイズでもよくやりますが、レコードID以外のキーで更新したい場合には、そのキーからレコードIDを一旦検索して、レコードIDがあれば更新、なければ登録という方法(関連Tips)が考えられます。kintoneへのデータの取り込みの前にそのような処理を入れる方法は一つかと思います。

Ryu Yamashitaさん

早速のご回答ありがとうございます。

自動での取込はいくつかの場面で実現したい内容なので、ご提示頂いた前段階でIDがあれば更新なければ登録という方法を検討してみたいと思います。

> いくつかの場面で実現したい内容

となると、そうですね。更新対象になるレコードのレコードIDを取り込み前のCSVに紐つけるスクリプトを一度準備されると汎用性は高そうですね。

Ryu Yamashitaさん

ありがとうございます。

ちょっと邪道かもしれませんが、基幹システムからデータはき出しに利用しているツールを使って、『①kintoneから既存のレコードのidとkeyとなるコードをcsvではきだしたファイル』と、『②取り込みたいcsvファイル』から、keycodeで検索して結合した更新用のファイルと、差分の新規登録用のファイルを作成しておいて、コマンドツールで定期的に更新/新規登録ができそうです。

フォイル操作の部分もスクリプトを書ける様になると、いろいろとできる事が広がるのかもしれませんが、今はこれが精一杯です。

それから、POSTMANのkintone REST APIコレクションを使おう!というブログ記事を参考にAPIコレクションもクエリの指定方法などを確認するのに使わせて頂きました。

ありがとうございます。

 

 

> 基幹システムからデータはき出しに利用しているツールを使って、『①kintoneから既存のレコードのidとkeyとなるコードをcsvではきだしたファイル』と、『②取り込みたいcsvファイル』から、keycodeで検索して結合した更新用のファイルと、差分の新規登録用のファイルを作成しておいて、コマンドツールで定期的に更新/新規登録ができそうです。

 

いい感じだと思います。

 

> POSTMANのkintone REST APIコレクションを使おう!というブログ記事を参考

 

ご覧頂き、ありがとうございます。

REST APIのGET/recordsにおけるクエリの書き方のコツ【一覧の絞り込み条件を再利用する方法】の冒頭で関連する記事をリンクしていますのでチェック頂くと良いかもしれません。