アセット インポート/エクスポート

概要

プロジェクトで管理する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するときの操作手順を説明します。

  1. AssetをExportしたいプロジェクト画面を開きます
  2. Asssets画面の右上のSettingsをクリックします
  3. 表示されたサブメニューの中からExport Assetをクリックします
  4. 確認ダイアログが表示されるため、Exportボタンをクリックします
  5. Exportが完了するとenebularに登録したemailアドレスへメールが届きます
  6. メールに記載されたDownload linkをクリックし、Assetファイルをダウンロードします

Export実行結果のメールには以下の内容を含みます。

  • flow/file count: ExportしたAssetの件数
  • Export error list: 発生したエラーのリスト(エラーが発生した場合)
    • エラーのあったAsset名
    • エラーメッセージ
  • Download link: Assetファイルをダウンロードするためのリンク

※ Exportした一部のAssetにエラーがあった場合にも成功したAssetのみを含んだZIPファイルをダウンロードできます

Import機能の使い方

AssetファイルをImportするときの操作手順を説明します。

  1. AssetのImport先のプロジェクト画面を開きます
  2. Asssets画面の右上のSettingsをクリックします
  3. 表示されたサブメニューの中からImport Assetをクリックします
  4. 確認ダイアログが表示されるため、Importボタンをクリックします
  5. 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先に存在する場合はエラーになります。

results matching ""

    No results matching ""