第 5 回 kintone コマンドラインツール(cli-kintone v0)で添付ファイル操作をしてみよう(一括ダウンロード・アップロード)
このチュートリアルは ver. 0.x.x の cli-kintone の使い方を紹介しています。
ver.1.0.0 以降の cli-kintone の使い方を紹介するチュートリアルは次のページを参照してください。
はじめよう cli-kintone
はじめに
今回は kintone コマンドラインツールを使った、添付ファイルのダウンロード・アップロードの方法を紹介します。
添付ファイルのダウンロード
添付ファイルは以下のコマンドでダウンロードできます。
|
|
-b
の保存先の指定は必須で、存在しないディレクトリー名を指定した場合は、新たにディレクトリーが作成されます。
ダウンロード先のディレクトリー構成
添付ファイルは次のようなディレクトリー構成で保存されます。
通常の添付ファイルフィールドのファイルは次のとおりです。
|
|
テーブル内の添付ファイルフィールドのファイルは次のとおりです。
|
|
Index はゼロから始まり、取得対象のレコード数に合わせて増加します。
例)取得対象のレコードが 3 件の場合は次のとおりです。
|
|
添付ファイルのアップロード
-b
オプションを付けた場合の CSV の添付ファイルフィールドの形式
CSV を用意するために、-b
オプションを付けてエクスポート結果を確認してみます。
今回は確認が目的なので、-c
オプションでエクスポートするフィールドを制限してわかりやすくしましょう。
|
|
保存先ディレクトリーを「save」添付ファイルのフィールドコードを「Attachment」とした場合、以下のような CSV がエクスポートされます。
|
|
この例では、ID が 1 のレコードには「1-1.png」と「1-2.png」、ID が 2 のレコードには「2-1.png」がそれぞれ登録されています。
添付ファイル部分の出力は保存場所「save」ディレクトリーからの相対パスで表され、複数件登録されている場合は改行区切りでパスが表記されます。
テーブル内の添付ファイルフィールドの場合も、各行ごとに同様の形式で得られます。
添付ファイルを含むレコードの追加
それでは、前回まで使ってきた 顧客リストアプリ に新しいレコードを登録してみましょう。
STEP1 追加レコード用の CSV ファイルを用意する
まずは添付ファイルを追加するために「logo」という名前でディレクトリーを作成し、そこにファイル「logo.png」を配置します。
ここまで完了したら次のような登録用 CSV ファイルを作成します。
|
|
複数添付ファイルを加える場合は「改行」で区切ってパスを書きます。
たとえば「logo_b.png」も合わせて追加する場合、以下のように記述します。
|
|
これを「add_record_with_attachments.csv」として保存しましょう。
CSV 作成時のポイント
cli-kintone でエクスポートしたファイルへの追記で CSV を作成する場合、改行コードが統一されるように CSV を作成してください。
複数の添付ファイルを扱う場合、改行コードが入り混じった状態で作成された CSV はインポートに失敗することがあります。
cli-kintone は改行コードが「CRLF」という形式になるように CSV を保存しますが、コマンドプロンプトでリダイレクトしてエクスポートした場合、添付ファイル表記の改行部分だけ「LF」という形式になってしまうことがあります。
STEP2 レコードを追加する
添付ファイルと CSV の準備ができたら、次のコマンドを実行するとレコードを登録できます。
|
|
登録したレコードは以下のようになっていると思います。
前回までの記事をやってみた方は顧客リストアプリの会社名を重複禁止にしていると思うので、再度テストする場合は会社名を書き換えて行ってください。
添付ファイルを含むレコードの更新
今度はさきほど登録した添付ファイルを含むレコードを更新してみましょう。
STEP1 更新用 CSV ファイルを用意する
第 3 回 kintone コマンドラインツール(cli-kintone v0)でレコードの更新をしてみよう を参考に、更新用の CSV を用意します。
今回は添付ファイルを 1 つだけ追加してみます。
指定しなかった添付ファイルはすべて消されてしまうので、あらかじめ cli-kintone で画像を取得しておきましょう。
|
|
このとき CSV も同時に保存しておくと書きやすいですね。
「customerlist」を添付ファイルの保存先に指定して実行した場合は「customerlist」ディレクトリーが作成されます。
「customerlist」ディレクトリーの中へ、レコードに登録されているロゴのファイルが保存されます。
既存の添付ファイルは「<保存先ディレクトリー>\Attachment-5」に保存されます。
そのため Attachment の項目にはこちらのディレクトリーに新たに追加する添付ファイル「Attachment-5\logo_c.png」を追加します。
その後、以下のような CSV を「update_record_with_attachments.csv」として作成します。
|
|
STEP2 レコードを更新する
レコードに「logo_c.png」を追加したので、「<保存先ディレクトリー>\Attachment-5」に対応する「logo_c.png」を追加してからコマンドを実行します。
|
|
更新が成功したら以下のような状態になっているかと思います。
今回の作業ディレクトリーはこんな感じになっているかと思います。
添付ファイルの操作、いかがでしたか?
次回は実運用について触れていきます。
この Tips は、cli-kintone Ver 0.10.2 と 2020 年 3 月版 kintone で動作を確認しています。