このページの本文へ

柳谷智宣のkintoneマスターへの道 第114回

kintoneのデータを添付ファイルごとエクスポート/インポートしたい

2024年01月22日 10時30分更新

文● 柳谷智宣 編集● 福澤/TECH.ASCII.jp

  • この記事をはてなブックマークに追加
  • 本文印刷

 同じ環境の中であればアプリをコピーすることができるが、kintoneのアプリをデータごと他のサブドメインのkintoneにコピーするならちょっと手間がかかる。今回は、kintoneのデータを添付ファイルごとエクスポート/インポートする方法を紹介しよう。

アプリそのものの移行

 アプリそのものを移行するには、テンプレートにすればいい。「kintoneシステム管理」画面から「アプリ」→「アプリテンプレート」を開き、「作成」をクリック。移行したいアプリを選択し、「次へ」をクリックすると、テンプレートを書き出せる。

 移行先のkintoneでアプリを作成する際、「テンプレートファイルを読み込んで作成」を選び、書き出したテンプレートをZIPファイルのまま読み込ませればいい。

kintoneシステム管理から「アプリテンプレート」を開く

テンプレート名を付けて保存する

移行先のkintoneで「テンプレートファイルを読み込んで作成」をクリック

テンプレートファイルを読み込む

添付ファイルごとアプリデータをエクスポート/インポート

 アプリのテキストデータだけであれば、ファイルの書き出し/読み込みでいいのだが、添付ファイルの移動はできない。添付ファイルごとアプリデータをエクスポート/インポートするなら、kintoneコマンドラインツール「cli-kintone」を利用する。

 その際に、移行元と移行先のアプリのAPIトークンが必要になるので、生成しておこう。アプリの「設定」から「APIトークン」を開き、「生成する」をクリック。移行元のkintoneは「レコード閲覧」、移行先は「レコード追加」のアクセス権限が必要になるのでチェックを入れておく。

移行元、移行先それぞれのアプリで、APIトークンを生成してコピーしておく。アクセス権の設定を間違えないように

 cli-kintoneの実行ファイルはGitHubからダウンロードできる。WindowsとMac、Linux用のファイルが用意されおり、Windows用なら「cli-kintone_v1.10.7_win.zip」をダウンロードする。ダウンロードしたファイルは解凍し、実行ファイルをどこかのフォルダに保存しておく。

GitHubから「cli-kintone_v1.10.7_win.zip」をダウンロードする

 移行元のkintoneからアプリデータをエクスポートしてみよう。テキストデータは「records.csv」というCSVファイルに保存し、添付ファイルは「attachments」フォルダの中に作成したレコード番号ごとのフォルダの中にダウンロードしてみた。

 コマンドプロンプトを開き、「cd」コマンドでcli-kintoneの実行ファイルを保存したフォルダに移動。コマンドは「cli-kintone.exe record export」の後に、移行元のkintoneのサブドメインやアプリID、APIトークンを入力。添付ファイルを保存するフォルダのパスを指定する。「cli-kintone.exe」と同じ場所にある「attachments」フォルダーであれば、「./attachments」と入力すればいい。

■コマンド
cli-kintone.exe record export --base-url https://サブドメイン.cybozu.com --app アプリID ^
  --api-token APIトークン ^
  --attachments-dir 添付ファイルを出力するフォルダ > records.csv

 これで、すべてのレコードがエクスポートできるのだが、このままだと移行先のkintoneで色々とエラーになる。「レコード番号」や先方に存在しない「作成者」といった情報は不要なので、エクスポートするフィールド名を「--fields」オプションで指定しておこう。必要なフィールド名を「--fields "公開ステータス,商品名,詳細,添付ファイル"」のように並べればいい。

 続けて、インポートを行う。コマンドは「cli-kintone.exe record import」の後に、移行先のkintoneのサブドメインやアプリID、APIトークンを入力。添付ファイルを保存したフォルダのパスを指定する。

■コマンド
cli-kintone.exe record import --base-url https://サブドメイン.cybozu.com --app アプリID ^
  --api-token APIトークン ^
  --file-path ./records.csv ^
  --attachments-dir ./attachments

コマンドを使って添付ファイルごとアプリのデータを移行する

移行先の環境に添付ファイルごとアプリのデータを復元できた

 コマンドプロンプトを使うとなると気が引けてしまうが、プログラムの知識は不要。オプションを正確に入力すれば問題なく利用できるはず。とは言え、確認不足でエラーが出ることもある。その場合は、エラーメッセージを見て、原因をつぶしていこう。

 参考までに、ミスしやすいポイント紹介しておくと、まず、APIトークンのアクセス権をきちんと設定すること。移行先も「レコード閲覧」だけだと書き込めないので注意。また、API設定を変更したらアプリを更新するのを忘れずに。

 次に、全件エクスポートしてしまい、レコード番号や担当者、更新者を追加できない、とエラーになった場合。これは紹介したようにあらかじめ必要なフィールドのみエクスポートすればいい。

 約700件のデータだったが、ほぼ待ち時間なくエクスポート・インポートできる。簡単に外部のkintoneにアプリを添付ファイルごと移行できるのはありがたい。万一に備えて、こんなことができるということは覚えておこう。

■関連サイト

カテゴリートップへ

この連載の記事