File


File 节点从文件中读取数据并输出到 msg,将 msg 中的数据写入文件,或者删除文件。

节点类型

Action。

输入和输出能力

该节点具有多个入口点和 1 个出口点。

节点属性

../../_images/file.png


名称

该节点的名称。


操作文件路径

选择读取、写入或删除文件。

  • :将文件中的数据输出到 msg,文件的名称将输出到 metadata。支持选择自定义文件路径和使用默认路径。

    • 自定义:输入 文件路径。支持通过表达式和通配符 ?* 读取多个文件,不支持输入用逗号分隔的多个指定文件。选择 查询 可查询当前路径下的所有文件,选择对应的 下载 可下载该文件到本地。

      注解

      仅当流在运行状态时,支持查看和下载文件。

    • 默认:默认路径使用来自 ${metadata.files} 的值,代表上游节点输出日志中 metadata 的 files 参数值。

  • :输入 msg 的内容将根据文件路径写入文件中,文件必须在 /var 文件夹中。文件的名称将会输出到 metadata。仅支持输入一个文件,不支持表达式和通配符。

    • 启用追加模式:输入 文件路径,启用追加模式,可将内容追加写入已有文件中。禁用时将覆盖已有文件。如果路径不存在,将创建新文件。
  • 删除:输入 文件路径,删除的文件必须在 /var 文件夹中。支持通过表达式 ${metadata.files} 和通配符 ?* 删除多个文件,不支持输入用逗号分隔的多个指定文件。


例如,选择读取操作,并输入 /var/test.txt 路径,选择 查询下载 可直接下载该文件,同时 test.txt 中的内容将展示在输出 msg 的 Body 中。 输入 /var/ 路径时,选择 查询 可查看 /var 文件夹下的所有文件,选择 下载 可将指定文件下载到本地。同时所有文件的内容将以数组形式列在 Body 中,用逗号隔开。


注解

读取操作时提供运维通道,用于查看和下载 /var/tmp/logs 路径下的文件。不支持读取其他路径下的文件,不支持写入和删除 /tmp/logs 下的文件。


描述

该节点的描述。

使用限制

  • 每个 File 节点只能写入 1 个文件,读取和删除支持多个文件。
  • 写入和删除的文件必须在 /var 文件夹中。
  • 读取文件时,系统将临时保存当前流运行时读取的文件,供查看和下载。受到文件存储时间和空间的限制,过后文件可能被删除。

输入与输出示例

输入

{
    "MetaData": {
        "files": "[\"/tmp/readfile.txt\"]"
    },
    "Body": {
        "assetId":"assetId",
        "timestamp":24214324324,
        "measurepoints":{
            "temperature":22.4,
            "humidity":78
        }
    }
}

输出

{
    "MetaData": {
        "files": "[\"/tmp/readfile.txt\"]"
    },
    "Body": "<note><to>Tony</to>\r\n<from>Jenny</from><heading>Reminder</heading><body>It's okay, when all else fails, reboot!</body></note>"
}

输入

{
    "assetId":"assetId",
    "timestamp":24214324324,
    "measurepoints":{
        "temperature":22.4,
        "humidity":78
    }
}

输出

{
    "MetaData": {
        "files": "[\"/var/data/readfile.txt\"]"
    },
    "Body": {
        "assetId":"assetId",
        "timestamp":24214324324,
        "measurepoints":{
            "temperature":22.4,
            "humidity":78
        }
    }
}

删除

输入

{
    "assetId":"assetId",
    "timestamp":24214324324,
    "measurepoints":{
        "temperature":22.4,
        "humidity":78
    }
}

输出

{
    "MetaData": {
        "files": "[]"
    },
    "Body": {
        "assetId":"assetId",
        "timestamp":24214324324,
        "measurepoints":{
            "temperature":22.4,
            "humidity":78
        }
    }
}