概要
node-red
node-red整理
提示:这里可以添加技术整体架构
例如:
在语言模型中,编码器和解码器都是由一个个的 Transformer 组件拼接在一起形成的。
Node-red
提示:这里可以添加技术名词解释
nodejs
node-red 控件使用
提示:这里可以添加技术细节
- inject控件
1.1 inject:手动或定期将消息注入流中,消息的有效荷载可以为多种类型,包括字符串,js对象或当前时间
1.2 payload:指定的消息的有效荷载
1.3 topic:可以在节点中配置的可选属性。
1.4 详细:通过使用特定的有效荷载,注入节点可以启动流。默认有效荷载是当前时间的时间戳(以毫秒为单位,自1970年1月1日起)。
该节点还支持注入字符串,数字,布尔值,JavaScript对象或流/全局上下文值。
默认情况下,节点可以通过在编辑器中单击节点按钮来手动触发。同时也可以被设置为定期或按计划注入。
另一个可选的设置是在每次启动流时注入一次。
可以指定的最大间隔约为596小时/24天。 但是,如果对于间隔超过一天的那些间隔,建议您使用scheduler节点来应对断电或重启
1.5 注意:选项“时间间隔” 和“特定时间” 使用了标准cron系统。这意味着因此“20分钟”并不表示在此之后20分钟,而是每小时的20分钟,40分钟。如果您希望设定为从现在开始的每20分钟,那么请使用“间隔” 选项。
如果您想在字符串中包含换行符,必须使用“功能”节点创建有效荷载。
- debug控件
2.1 debug:在“调试”侧边栏选项卡和运行时日志中显示选定的消息属性。 默认情况下,它会显示msg.payload的值,但您也可以将其设置成显示任意属性,完整消息或JSONata表达式的结果。
2.2 详细:调试侧边栏会提供已发消息的结构化视图,方便您查询消息的结构。
JavaScript对象和数组可以根据需要来折叠或扩展。缓冲区对象可以显示为原始数据,也可以显示为字符串。
对任意条消息,调试侧边栏还会显示接收消息的时间,发送消息的节点以及消息类型等信息。单击源节点ID将在工作区中显示该节点。
节点上的按钮可用于启用或禁用其输出。建议禁用或删除所有未使用的调试节点。
还可以通过配置节点,将所有消息发送到运行时的日志,或将简短的数据(32个字符内)在调试节点下的状态文本上显示。
- function控件
3.1 定义:对接收到的消息进行处理的JavaScript代码(函数的主体),输入消息在名为msg的JavaScript对象中传递。通常,msg对象将消息正文保留在msg.payload属性中,该函数一般会返回一个消息对象(或多个消息对象),但也可以为了停止流而什么都不返回。
3.2 详细:要将消息传递到流中的下一个节点,请返回消息或调用node.send(messages)。
它将返回/send:
单个消息对象 - 传递给连接到第一个输出的节点
消息对象数组,传递给连接到相应输出的节点
如果数组元素是数组,则将多个消息发送到相应的输出。
无论return方法是单个值还是数组元素,如果返回值为null,则不会发送任何消息。
- http in控件
5.1 http in :创建用于Web服务的HTTP端点
5.2 输出:
payload:GET请求包含任何查询字符串参数的对象。或者包含HTTP请求正文。
reqobject:HTTP请求对象。该对象包含有关请求信息的多个属性。
body - 传入请求的正文。格式将取决于请求。
headers - 包含HTTP请求标头的对象。
query - 包含任何查询字符串参数的对象。
params - 包含任何路由参数的对象。
cookies - 包含请求cookie的对象。
files - 如果节点启用了文件上传,则为包含了上传的文件的对象。
resobject:HTTP响应对象。此属性不应直接使用;HTTP Response节点记录了如何响应请求。该属性必须保留在传递给响应节点的消息上
5.3 详细:节点将在配置的路径上监听特定类型的请求。路径可以完全指定,例如/user,或包括可以接受任何值的命名参数,例如/user/:name。 使用命名参数时,可以在msg.req.params下访问其在请求中的实际值。
对于包含正文的请求(例如POST或PUT),请求的内容将作为msg.payload提供。
如果可以确定请求的内容类型,则正文将被解析为任何适当的类型。例如,application/json将被解析为其JavaScript对象表示。
5.4 注意:该节点不发送对请求的任何响应。该流必须包含HTTP响应节点才能完成请求。
- http response控件
6.1 http response:将响应发送回从HTTP输入节点接收的请求
6.2 输入:payload 响应的正文。 string
statusCode 如果设置,则用作响应状态代码。默认值:200。 数值
headers 如果设置,则提供HTTP头以包含在响应中。 object
cookies 如果设置,则可用于设置或删除cookie。 object
6.3 详细: 在节点本身内设置statusCode和headers。如果在节点内设置了属性,则不能被相应的message属性覆盖。
Cookie处理
cookies属性必须是名称/值对的对象。该值可以是使用默认选项设置cookie值的字符串,也可以是options对象。
下面的示例设置两个cookie-一个名为name的值为nick,另一个名为session的值为1234,并且有效期设置为15分钟。
msg.cookies = {
name: ‘nick’,
session: {
value: ‘1234’,
maxAge: 900000
}
}
有效选项包括:
domain - (字符串) Cookie的域名
expires - (日期) GMT标准时间的到期日。如果未指定或设置为0,则创建会话cookie
maxAge - (字符串) 相对于当前时间的到期日期(以毫秒为单位)
path - (字符串) Cookie的路径。默认为/
value - (字符串) Cookie使用的值
要删除Cookie,请将其value设置为null。 - http request控件
小结
node-red网上相关的资料少之又少,最近刚好项目中用到,就自己总结了一下