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