2.5. ファイルアップロード用ノード

2.5.1. ice file transfer

ファイルをICE Backendへ転送するノードです。 入力としてファイルパスを受け付けます。

転送できるファイルサイズは100MB以下です。

2.5.1.1. 設定項目

ice file transferには以下の設定項目があります。

URL
ファイルアップロード先のURLを指定します。 お使いのICE Backendに合わせて http(s)://{ICE Backendのアドレス}/api/{APIのバージョン}/backend/file/collection を指定してください。
Retry Times
転送失敗時のリトライ回数を指定します。 規定値は0で、再送を行わないようになっています。
Retry Interval
転送失敗時、リトライを行う間隔をミリ秒で指定します。 規定値は30000msです。
Delete File
チェックを入れると、転送成功時、エッジサーバ上からファイルを削除します。 規定でチェックが入った状態になっています。
Delete When Upload Failed
チェックを入れると、転送失敗時、エッジサーバ上からファイルを削除します。 規定でチェックが入っていない状態になっています。 Delete Fileの項目にチェックが入っている場合にのみ表示されます。
Name
ノードの名前です。ここで設定した値がNode-REDのGUIエディタ上で表示されます。

2.5.1.2. 入力

ice file transferノードは以下のいずれかの形式の入力を受け付け、指定されたファイル名の転送を行います。 指定するファイル名はcore_config.jsonのupload.white_dirsに記載されたディレクトリ以下に格納されている必要があります。

{
    "payload": "<FILE_PATH>"   //ファイルパス
}
{
    "payload": {
        "filepath": "<FILE_PATH>"  //ファイルパス
    }
}

2.5.1.3. 異常系動作

  • パラメータの不正:
    • URLにhttp://及びhttps://以外で開始するURLが入力されている場合:
      • 入力端子にinputがあった場合でもアップロード処理は行いません。
      • ログ及びフローエディタにエラー出力を行います。
  • 入力端子からの入力の不正:
    • msg.payloadが文字列またはオブジェクトではない場合:
      • 入力されたメッセージを破棄し、アップロード処理を行いません。
      • ログ及びフローエディタにエラー出力を行います。
    • msg.payloadがオブジェクトのときにmsg.payload.filepathが存在しないか文字列でない場合:
      • 入力されたメッセージを破棄し、アップロード処理を行いません。
      • ログ及びフローエディタにエラー出力を行います。
    • アップロード中に同じファイルにアップロード指示が入力された場合:
      • 入力されたメッセージを破棄し、アップロード処理を行いません。
      • ログ及びフローエディタにエラー出力を行います。
  • アップロードに失敗した場合:
    • 到達不能なURLが指定された場合:
      • Retry回数アップロードを試行します
      • Retry回数アップロード失敗後にログ及びフローエディタにエラー出力を行います。
    • HTTPレスポンスエラーが返却された場合:
      • Retry回数アップロードを試行します
      • Retry回数アップロード失敗後にログ及びフローエディタにエラー出力を行います。
    • HTTTPリクエストがタイムアウトした場合:
      • Retry回数アップロードを試行します
      • Retry回数アップロード失敗後にログ及びフローエディタにエラー出力を行います。
    • 存在しないファイルまたは、ホワイトリスト外のファイルが指定された場合:
      • 即アップロードを中断します。
      • ログ及びフローエディタにエラー出力を行います。

また、ファイルの転送中にNode-REDエディタでデプロイを実行すると、 転送処理は完了かエラーで終了するまで処理を継続します。