设置当前流程配置。
需要权限: flows.write
表头 | 数值 |
---|---|
Authorization |
Bearer [token] - if authentication is enabled |
Content-type |
application/json |
Node-RED-API-Version |
(Since 0.15.0) The api version being used. Defaults to v1 if not set. |
Node-RED-Deployment-Type |
full , nodes , flows or reload |
Node-RED-Deployment-Type
标头用于定义执行何种类型的部署。
full
- 在启动新配置之前,所有现有节点都将停止。如果未提供标头,这是默认行为。nodes
- 仅已修改的节点会在应用新配置前停止。flows
- 仅包含修改节点的流程会在应用新配置前停止。reload
- 从存储中重新加载流,并重启所有节点(自Node-RED 0.12.2版本起)请求体的格式将取决于所使用的Node-RED API版本:
v1
- 节点对象数组[
{
"type": "tab",
"id": "396c2376.c693dc",
"label": "Sheet 1"
}
]
v2
- 流程响应对象如果提供了rev
属性,它应该反映由GET /flows
返回的流版本。
{
"rev": "abc-123",
"flows": [
{
"type": "tab",
"id": "396c2376.c693dc",
"label": "Sheet 1"
}
]
}
有两种方式为此请求提供凭据。flows
数组中的各个节点对象可以包含一个credentials
属性,该属性包含该节点的凭据。
或者,顶层对象可以包含一个credentials
属性,该属性具有各个节点的凭证,或者一个完整的加密凭证集。
内联节点凭据:
{
"rev": "abc-123",
"flows": [
{
"type": "tab",
"id": "396c2376.c693dc",
"label": "Sheet 1",
"credentials": {
"user": "my-username",
"pass": "my-password"
}
}
]
}
独立节点凭证:
{
"rev": "abc-123",
"flows": [
{
"type": "tab",
"id": "396c2376.c693dc",
"label": "Sheet 1"
}
],
"credentials": {
"396c2376.c693dc": {
"user": "my-username",
"pass": "my-password"
}
}
}
加密节点凭证:
{
"rev": "abc-123",
"flows": [
{
"type": "tab",
"id": "396c2376.c693dc",
"label": "Sheet 1"
}
],
"credentials": {
"$": "beea417990012379ca6d4116bd1fda5bOWbwy7UnQvccxAEH1V1pSEETTfSNerYGvP4Aai6RT/DNpnjCCP/fdzildzlJhFjYcRKdO1Q="
}
}
}
状态码 | 原因 | 响应 |
---|---|---|
200 |
v2 Success |
The new rev for the active flows. See below. |
204 |
v1 Success |
none |
400 |
Invalid API version | An Error response |
401 |
Not authorized | none |
409 |
Version mismatch | An Error response. See below. |
如果使用的是API的v1
版本,成功的请求将不包含响应体。
如果使用的是API的v2
版本,请求应包含rev
属性,该属性应设置为请求方已知的最新rev
值。如果该值与运行时中活动流的rev
值匹配,则请求将成功。
如果不匹配,则表示运行时正在使用较新版本的流程,请求将被拒绝并返回409
状态码。这允许请求方解决任何差异并重新提交请求。
如果请求方希望强制部署,请求中应省略rev
属性。
请求成功后,响应会提供新的rev
值:
{
"rev": "def-456",
}
注意:rev
属性是一个字符串,但不应对其格式做出其他假设。
Node-RED: 面向事件驱动应用的低代码编程平台。
版权所有 OpenJS基金会 及 Node-RED 贡献者。保留所有权利。OpenJS基金会 拥有注册商标并使用商标。有关 OpenJS基金会 的商标列表,请参阅我们的 商标政策 和 商标列表。未在 OpenJS基金会商标列表 中标注的商标™或注册®商标归其各自持有人所有。使用这些商标并不意味着与它们有任何关联或获得其认可。
The OpenJS Foundation | 使用条款 | 隐私政策 | OpenJS基金会章程 | 商标政策 | 商标列表 | Cookie政策