アセット インポート/エクスポート
概要
プロジェクトで管理するAssetをZIPファイルとしてExportしたり、ExportしたZIPファイルを別のプロジェクトにImportしたりする機能です。 この機能は、作成したAssetのバックアップや別のプロジェクトへのコピーなどに使用することを想定しています。
Exportの対象はプロジェクトに登録されたすべてのフロー、ファイル、およびプライベートノードです。 ユーザーはExportしたZIPファイルに含まれる一部のAssetのみを含む別のZIPファイルを作成し、そのZIPファイルを別のプロジェクトにImportすることで必要なAssetのみをImportすることが可能です。
ImportできるAssetはExportしたZIPファイルに含まれるAssetのみです。ExportしたAssetを変更したファイルをImportするとエラーになります。
Assetの数によっては多くの時間を要するため、Import/Exortの実行結果はメールにて通知します。
説明
前提
- Import/Exportを実施できるのはプロジェクトのowner又はadminのみです
- ファイルおよびプライベートノードをImport/Exportできるのはエンタープライズおよびトライアルプランのプロジェクトのみです
- プライベートノードを含むフローのImport/Exportも実施できますが、そのフローをデプロイするには、利用されているプライベートノードをユーザーがプロジェクトに登録し、Web Flow EditorでFlowを保存し直す必要があります
Assetファイルの形式
Import/Exportの対象であるAssetファイルの形式について説明します。
AssetファイルにはAssetの本体(enebularで作成したFlowやアップロードしたFile)とAssetの名前や説明などの設定情報を複数Asset/複数バージョン分格納します。
フォルダ構成
AssetファイルはZIPによる圧縮ファイルであり、以下のフォルダ構成を圧縮したファイルです。
<Project名>
フォルダflows
フォルダ<Flow Asset名>
フォルダ (注1)<Version>
フォルダ (注2)settings.json
ファイル(注3)flow.json
ファイル (注4)
files
フォルダ<File Asset名>
フォルダ (注1)<Version>
フォルダ (注2)settings.json
ファイル登録時にアップロードしたファイル
privatenode
フォルダ<Private Node Asset名>
フォルダ (注1)<Version>
フォルダ (注2)settings.json
ファイル登録時にアップロードしたプライベートノードパッケージファイル
(注1) 同名のAssetが存在していた場合は末尾に_n
(nは1から始める整数)を付与します。
(注2) <Version>
フォルダ名は、master又はバージョン番号を表す整数となります。各Assetフォルダの下には必ずmasterフィルダが存在する必要があります。
(注3) Node-REDのNodeに設定したパスワードなどのCredential情報を含むため取り扱いに注意してください。
(注4) Flow Editorのクリップボードから読み込み
機能により参照するためのファイルです。パスワードなどのCredential情報は含みません。Import機能ではこのファイルを参照しません。
settings.jsonの内容
settings.jsonは、Asset毎の設定情報を保存するJSON形式のファイルです。
文字コードはUTF-8、改行コードはCRLFです。
フローの場合
フローの場合、settings.jsonファイルは以下の内容を含みます。
項目 | 説明 |
---|---|
title | フローの名称。Versionフォルダ名がmasterの場合はAsset名、master以外の場合はVersionのTitleとなります。 |
description | フローの説明。Versionフォルダ名がmasterの場合はDescription、master以外の場合はVersionのCommentです。 |
type | Assetの種類。フローの場合はflow 固定となります。 |
sourceCode | フローの情報。Node-REDのFlowやパスワードなどのCredential情報を含みます。 |
projectId | Export対象のProjectId。 |
tagTitles | Assetに付与したTag名のリスト。 |
defaultPrivilege | デフォルトの権限。Importを行なった場合、Importを行ったユーザー以外のプロジェクトメンバーの権限はここで指定した権限になります。 |
enebularVersion | Exportしときのenebularのバージョン情報。本項目はenebularのバージョン2.27.0以降からの追加になります。 |
hash | ExportしたAssetが変更されていないことを確認するために用いる情報。 |
※ 2.28.0以前のenebularでExportした場合は、category
も出力されます。category
を含むファイルをImportした場合は、category
の値は無視します。
ファイルの場合
ファイルの場合、settings.jsonファイルは以下の内容を含みます。
項目 | 説明 |
---|---|
title | ファイルの名称。Versionフォルダー名がmasterの場合はAsset名、master以外の場合はVersionのTitleとなります。 |
description | ファイルの説明。Versionフォルダー名がmasterの場合はDescription、master以外の場合はVersionのCommentです。 |
type | Assetの種類。ファイルの場合はfile 固定となります。 |
sourceCode | ファイルの情報。 |
projectId | Export対象のProjectId。 |
tagTitles | Assetに付与したTag名のリスト。 |
defaultPrivilege | デフォルトの権限。Importを行なった場合、Importを行ったユーザー以外のプロジェクトメンバーの権限はここで指定した権限になります。 |
enebularVersion | Exportしときのenebularのバージョン情報。本項目はenebularのバージョン2.27.0以降からの追加になります。 |
hash | ExportしたAssetが変更されていないことを確認するために用いる情報。 |
※ 2.28.0以前のenebularでExportした場合は、category
も出力されます。category
を含むファイルをImportした場合は、category
の値は無視します。
プライベートノードの場合
プライベートノードの場合、settings.jsonファイルは以下の内容を含みます。
項目 | 説明 |
---|---|
title | プライベートノードの名称。Versionフォルダー名がmasterの場合はAsset名、master以外の場合はVersionのTitleとなります。 |
description | プライベートノードの説明。Versionフォルダー名がmasterの場合はDescription、master以外の場合はVersionのCommentです。 |
type | Assetの種類。privatenode 固定となります。 |
sourceCode | プライベートノードの情報。 |
projectId | Export対象のProjectId。 |
tagTitles | Assetに付与したTag名のリスト。 |
defaultPrivilege | デフォルトの権限。Importを行なった場合、Importを行ったユーザー以外のプロジェクトメンバーの権限はここで指定した権限になります。 |
enebularVersion | Exportしときのenebularのバージョン情報。本項目はenebularのバージョン2.27.0以降からの追加になります。 |
hash | ExportしたAssetが変更されていないことを確認するために用いる情報。 |
※ 2.28.0以前のenebularでExportした場合は、category
も出力されます。category
を含むファイルをImportした場合は、category
の値は無視します。
Export機能の使い方
AssetをExportするときの操作手順を説明します。
- AssetをExportしたいプロジェクト画面を開きます
- Asssets画面の右上のSettingsをクリックします
- 表示されたサブメニューの中からExport Assetをクリックします
- 確認ダイアログが表示されるため、Exportボタンをクリックします
- Exportが完了するとenebularに登録したemailアドレスへメールが届きます
- メールに記載されたDownload linkをクリックし、Assetファイルをダウンロードします
Export実行結果のメールには以下の内容を含みます。
- flow/file count: ExportしたAssetの件数
- Export error list: 発生したエラーのリスト(エラーが発生した場合)
- エラーのあったAsset名
- エラーメッセージ
- Download link: Assetファイルをダウンロードするためのリンク
※ Exportした一部のAssetにエラーがあった場合にも成功したAssetのみを含んだZIPファイルをダウンロードできます
Import機能の使い方
AssetファイルをImportするときの操作手順を説明します。
- AssetのImport先のプロジェクト画面を開きます
- Asssets画面の右上のSettingsをクリックします
- 表示されたサブメニューの中からImport Assetをクリックします
- 確認ダイアログが表示されるため、Importボタンをクリックします
- Importが完了するとenebularに登録したemailアドレスへメールが届きます
Import実行結果のメールには以下の内容を含みます。
- flow/file count: ImportしたAssetの件数
- Import error list: 発生したエラーのリスト(エラーが発生した場合)
- エラーのあったAsset名
- エラーメッセージ
※ Importした一部のAssetにエラーがあった場合にもImport処理を中断せず、他のAssetのImportは継続して実施します
※ Import先のプロジェクトに同名のAssetが存在する場合には、Asset名の末尾に_n
(nは1から始まる整数)を付与します
使用例
ExportしたZIPファイルを変更して別のプロジェクトにImportする際の使用例を説明します。
不要なAssetの削除
Importが不要のAssetがある場合、そのAssetの<Flow Asset名>
フォルダーを削除したZIPファイルを作成し、Importすることで実現できます。
不要なVersionの削除
<Flow Asset名>
フォルダーに不要なVersionがある場合は、そのVersionフォルダーを削除し、Importすることで実現できます。
たとえばmaster、1、2のVersionフォルダーがあった場合、2のみ残したいときはmasterと1フォルダーを削除し、2をmasterに変更してZIPファイルを作成し、それをImportします。
ただし、この場合はVersion2のVersionタイトルがAsset名に、VersionのコメントがAssetの説明になるため注意してください。これらを修正したい場合には、Importした後に、enebularの画面から修正してください。
制約事項
- Versionを利用できるのはエンタープライズおよびトライアルプランのプロジェクトのみです。エンタープライズおよびトライアルプランのプロジェクトからExportしたVersionを含むAssetを無料プランのプロジェクトにImportした場合、masterフォルダーのAssetのみが利用可能となります。
- enebularに多くの負荷がかかることを抑止するために、Asset Import/Export機能の同時実行数を制限しています。Asset Import/Exportを実行した際にこの制限を超えていた場合はエラーとなります。
- Export機能を実行中に、Export対象のAssetを削除しないでください。削除した場合、Assetの特定のバージョンのExport処理でエラーが発生し、そのバージョンを含まないZIPファイルを出力することがあります。
- 無料プランのプロジェクトにファイル、およびプライベートノードをImportした場合はエラーになります。
- DiscoverからImportしたプライベートノードはExportできません。
- enebular 2.25.5以前に登録したプライベートノードはExportできません。
- Importする際に同じパッケージ名のプライベートノードがImport先に存在する場合はエラーになります。