TriggerPlaybook组件主要提供调用子剧本功能。
功能描述
动作 | 描述 | 使用场景 |
setOutput | 定义剧本的输出。 | 用于子剧本被主剧本调用时,且主剧本需要获取到子剧本的输出内容时,使用该动作。 |
callSubTaskWithQps | 调用子剧本(有QPS限制)。 | 用于主剧本,调用外部子剧本时使用该动作。 |
组件配置示例
本文提供了TriggerPlaybook组件各动作的参数配置示例,您可将其作为测试剧本导入。通过可视化流程编辑器,能更直观地了解和测试各动作的配置参数,轻松掌握组件的功能逻辑与使用方式。操作步骤可参考剧本导入。
请先将示例数据保存为JSON文件。
setOutput示例
{
"cells": [
{
"position": {
"x": -440,
"y": -170
},
"size": {
"width": 36,
"height": 36
},
"attrs": {
"body": {
"fill": "white",
"strokeOpacity": 0.95,
"stroke": "black",
"strokeWidth": 2
},
"label": {
"text": "start",
"fontSize": 12,
"refX": 0.5,
"refY": "100%",
"refY2": 4,
"textAnchor": "middle",
"textVerticalAnchor": "top"
}
},
"visible": true,
"shape": "circle",
"id": "58d87b7d-28d9-4f0e-b135-4adc4f1a70e4",
"zIndex": 1,
"data": {
"nodeType": "startEvent",
"appType": "basic",
"nodeName": "start",
"icon": "icon-circle",
"description": "剧本开始节点,一个剧本必须有且仅有一个开始节点,需为剧本配置输入数据。"
},
"markup": [
{
"tagName": "circle",
"selector": "body"
},
{
"tagName": "text",
"selector": "label"
}
],
"isNode": true
},
{
"shape": "custom-edge",
"zIndex": 1,
"id": "5293c3f9-e1c9-4a49-b0eb-635067dc67e8",
"data": {
"nodeType": "sequenceFlow",
"appType": "basic",
"icon": "icon-upper-right-arrow",
"isRequired": false
},
"isNode": false,
"source": {
"cell": "58d87b7d-28d9-4f0e-b135-4adc4f1a70e4"
},
"target": {
"cell": "ebdc953c-2902-4133-abfd-9fc5ad707b21"
},
"vertices": []
},
{
"position": {
"x": 170,
"y": -170
},
"size": {
"width": 36,
"height": 36
},
"attrs": {
"body": {
"fill": "white",
"strokeOpacity": 0.95,
"stroke": "black",
"strokeWidth": 2
},
"path": {
"r": 12,
"refX": "50%",
"refY": "50%",
"fill": "black",
"strokeOpacity": 0.95,
"stroke": "black",
"strokeWidth": 4
},
"label": {
"text": "end",
"fontSize": 12,
"refX": 0.5,
"refY": "100%",
"refY2": 4,
"textAnchor": "middle",
"textVerticalAnchor": "top"
}
},
"visible": true,
"shape": "circle",
"id": "317dd1be-2d20-460e-977e-1fc936ffb583",
"zIndex": 1,
"data": {
"nodeType": "endEvent",
"appType": "basic",
"nodeName": "end",
"icon": "icon-radio-off-full",
"description": "end"
},
"markup": [
{
"tagName": "circle",
"selector": "body"
},
{
"tagName": "circle",
"selector": "path"
},
{
"tagName": "text",
"selector": "label"
}
],
"isNode": true
},
{
"position": {
"x": -297,
"y": -185
},
"size": {
"width": 137,
"height": 66
},
"view": "react-shape-view",
"shape": "activity",
"id": "ebdc953c-2902-4133-abfd-9fc5ad707b21",
"zIndex": 1,
"data": {
"nodeType": "action",
"appType": "component",
"nodeName": "DataFormat",
"valueData": {
"outputFields": "[{\"fieldName\":\"name\",\"fieldValue\":\"${event.name}_Sub\"},{\"fieldName\":\"age\",\"fieldValue\":\"${event.age}_Sub\"}]"
},
"icon": "https://sophon-gen-v2.oss-cn-zhangjiakou.aliyuncs.com/componentUpload/1719222281702_DataFormat_logo.png?Expires=1745549020&OSSAccessKeyId=STS.NVgz************&Signature=HtvRQuo%2BgDw7egOVmZYuihj3Z9Q%3D&security-token=CAIS2AJ1q6Ft5B2yfSjIr5XSMYv%2FoLYV1pKpSULpgXcPZulDnJOc0Dz2IHhMenFpAegcv%2Fw%2BlGFZ6%2F8elrp6SJtIXleCZtF94oxN9h2gb4fb400mTGGK0s%2FLI3OaLjKm9u2wCryLYbGwU%2FOpbE%2B%2B5U0X6LDmdDKkckW4OJmS8%2FBOZcgWWQ%2FKBlgvRq0hRG1YpdQdKGHaONu0LxfumRCwNkdzvRdmgm4NgsbWgO%2Fks0OP3AOrlrBN%2Bdiuf8T9NvMBZskvD42Hu8VtbbfE3SJq7BxHybx7lqQs%2B02c5onDWwAJu0%2FXa7uEo4wydVNjFbM9A65Dqufxn%2Fpgt%2Braj4X7xhhEIOVJSSPbSZBbSxJNvU1RXDxQVcEYWxylurjnXvF%2Bo1K1xOgUGin%2B2svzhw6RGJ1dq8DgINtD0jokjPndRVbLXs84nxS7gbsGn76oY2zradH%2FdU4vuWVwMytAXxqAASmDGMrrsc17A02zxAGygdO5NYPui1jn%2BSY7C6gPM7rbo6PMdEFZX2yrNrPIWiL%2FZl3CXTr9B84IhYB%2BqtLWbOidAj9UOvH7iCjL%2B%2FWVElkcfZzL6gT%2B0Ech6QH3PTlC6B%2FT4e69%2FsLD%2BogKYS8Ziv%2F%2Fbd8%2BlrcMu5FNBBFigttDIAA%3D",
"description": "产生一个新的数据",
"advance": {
"inputParamMode": false,
"onError": "stop_cur_flow",
"rspStatusType": 3,
"rspStatusThreshold": 0
},
"componentName": "DataFormat",
"actionName": "formatdata"
},
"isNode": true
},
{
"shape": "custom-edge",
"zIndex": 1,
"id": "5ae3f1ac-4d5b-433b-a9e7-725ea53f36db",
"data": {
"nodeType": "sequenceFlow",
"appType": "basic",
"icon": "icon-upper-right-arrow",
"isRequired": false
},
"isNode": false,
"source": {
"cell": "ebdc953c-2902-4133-abfd-9fc5ad707b21"
},
"target": {
"cell": "025181c9-9678-45a1-bbd9-0a7fa3eb2b7e"
},
"vertices": []
},
{
"position": {
"x": -60,
"y": -190
},
"size": {
"width": 137,
"height": 66
},
"view": "react-shape-view",
"shape": "activity",
"id": "025181c9-9678-45a1-bbd9-0a7fa3eb2b7e",
"zIndex": 1,
"data": {
"nodeType": "action",
"appType": "component",
"nodeName": "TriggerPlaybook_1",
"valueData": {
"infos": "[{\"fieldName\":\"name\",\"fieldValue\":\"${DataFormat.datalist.*.name}\"},{\"fieldName\":\"age\",\"fieldValue\":\"${DataFormat.datalist.*.age}\"}]"
},
"icon": "https://sophon-gen-v2.oss-cn-zhangjiakou.aliyuncs.com/componentUpload/1666576284868_TriggerPlaybook_logo.svg?Expires=1745549020&OSSAccessKeyId=STS.NVgz************&Signature=%2FjtIi%2Btlp%2FH9PxUne6LeG4lS%2B2Y%3D&security-token=CAIS2AJ1q6Ft5B2yfSjIr5XSMYv%2FoLYV1pKpSULpgXcPZulDnJOc0Dz2IHhMenFpAegcv%2Fw%2BlGFZ6%2F8elrp6SJtIXleCZtF94oxN9h2gb4fb400mTGGK0s%2FLI3OaLjKm9u2wCryLYbGwU%2FOpbE%2B%2B5U0X6LDmdDKkckW4OJmS8%2FBOZcgWWQ%2FKBlgvRq0hRG1YpdQdKGHaONu0LxfumRCwNkdzvRdmgm4NgsbWgO%2Fks0OP3AOrlrBN%2Bdiuf8T9NvMBZskvD42Hu8VtbbfE3SJq7BxHybx7lqQs%2B02c5onDWwAJu0%2FXa7uEo4wydVNjFbM9A65Dqufxn%2Fpgt%2Braj4X7xhhEIOVJSSPbSZBbSxJNvU1RXDxQVcEYWxylurjnXvF%2Bo1K1xOgUGin%2B2svzhw6RGJ1dq8DgINtD0jokjPndRVbLXs84nxS7gbsGn76oY2zradH%2FdU4vuWVwMytAXxqAASmDGMrrsc17A02zxAGygdO5NYPui1jn%2BSY7C6gPM7rbo6PMdEFZX2yrNrPIWiL%2FZl3CXTr9B84IhYB%2BqtLWbOidAj9UOvH7iCjL%2B%2FWVElkcfZzL6gT%2B0Ech6QH3PTlC6B%2FT4e69%2FsLD%2BogKYS8Ziv%2F%2Fbd8%2BlrcMu5FNBBFigttDIAA%3D",
"advance": {
"inputParamMode": false,
"onError": "stop_cur_flow",
"rspStatusType": 3,
"rspStatusThreshold": 0
},
"componentName": "TriggerPlaybook",
"actionName": "setOutput"
},
"isNode": true
},
{
"shape": "custom-edge",
"zIndex": 1,
"id": "4f5dfe7c-751a-405c-a9b4-c0ff7c083ad9",
"data": {
"nodeType": "sequenceFlow",
"appType": "basic",
"icon": "icon-upper-right-arrow",
"isRequired": false
},
"isNode": false,
"source": {
"cell": "025181c9-9678-45a1-bbd9-0a7fa3eb2b7e"
},
"target": {
"cell": "317dd1be-2d20-460e-977e-1fc936ffb583"
},
"vertices": []
}
]
}
callSubTaskWithQps示例
{
"cells": [
{
"position": {
"x": -440,
"y": -170
},
"size": {
"width": 36,
"height": 36
},
"attrs": {
"body": {
"fill": "white",
"strokeOpacity": 0.95,
"stroke": "#63ba4d",
"strokeWidth": 2
},
"label": {
"text": "start",
"fontSize": 12,
"refX": 0.5,
"refY": "100%",
"refY2": 4,
"textAnchor": "middle",
"textVerticalAnchor": "top"
},
"path": {
"stroke": "#63ba4d"
}
},
"visible": true,
"shape": "circle",
"id": "58d87b7d-28d9-4f0e-b135-4adc4f1a70e4",
"zIndex": 1,
"data": {
"nodeType": "startEvent",
"appType": "basic",
"nodeName": "start",
"icon": "icon-circle",
"description": "剧本开始节点,一个剧本必须有且仅有一个开始节点,需为剧本配置输入数据。"
},
"markup": [
{
"tagName": "circle",
"selector": "body"
},
{
"tagName": "text",
"selector": "label"
}
],
"isNode": true
},
{
"shape": "custom-edge",
"attrs": {
"line": {
"stroke": "#63ba4d",
"targetMarker": {
"stroke": "#63ba4d"
}
}
},
"zIndex": 1,
"id": "5293c3f9-e1c9-4a49-b0eb-635067dc67e8",
"data": {
"nodeType": "sequenceFlow",
"appType": "basic",
"icon": "icon-upper-right-arrow",
"isRequired": false
},
"isNode": false,
"source": {
"cell": "58d87b7d-28d9-4f0e-b135-4adc4f1a70e4"
},
"target": {
"cell": "bf7d41ee-bd07-4b57-a3bc-02b50603c4f5"
},
"vertices": [
],
"visible": true,
"router": {
"name": "manhattan",
"args": {
"padding": 5,
"excludeHiddenNodes": true,
"excludeNodes": [
"clone_node_id"
]
}
}
},
{
"position": {
"x": 240,
"y": -170
},
"size": {
"width": 36,
"height": 36
},
"attrs": {
"body": {
"fill": "white",
"strokeOpacity": 0.95,
"stroke": "#63ba4d",
"strokeWidth": 2
},
"path": {
"r": 12,
"refX": "50%",
"refY": "50%",
"fill": "#63ba4d",
"strokeOpacity": 0.95,
"stroke": "#63ba4d",
"strokeWidth": 4
},
"label": {
"text": "end",
"fontSize": 12,
"refX": 0.5,
"refY": "100%",
"refY2": 4,
"textAnchor": "middle",
"textVerticalAnchor": "top"
}
},
"visible": true,
"shape": "circle",
"id": "317dd1be-2d20-460e-977e-1fc936ffb583",
"zIndex": 1,
"data": {
"nodeType": "endEvent",
"appType": "basic",
"nodeName": "end",
"icon": "icon-radio-off-full",
"description": "end",
"cascaderValue": [
{
"label": "DataFormat_1",
"value": "${DataFormat_1}",
"children": [
]
},
{
"label": "TriggerPlaybook",
"value": "${TriggerPlaybook}",
"children": [
]
}
]
},
"markup": [
{
"tagName": "circle",
"selector": "body"
},
{
"tagName": "circle",
"selector": "path"
},
{
"tagName": "text",
"selector": "label"
}
],
"isNode": true
},
{
"position": {
"x": -144,
"y": -185
},
"size": {
"width": 137,
"height": 66
},
"view": "react-shape-view",
"shape": "activity",
"id": "bf7d41ee-bd07-4b57-a3bc-02b50603c4f5",
"zIndex": 1,
"data": {
"nodeType": "action",
"appType": "component",
"nodeName": "TriggerPlaybook",
"valueData": {
"event": "[{\"fieldName\":\"name\",\"fieldValue\":\"TriggerPlaybook\"},{\"fieldName\":\"age\",\"fieldValue\":\"18\"},{\"fieldName\":\"ip\",\"fieldValue\":\"192.168.10.1\"},{\"fieldName\":\"scope\",\"fieldValue\":\"1766185894104675\"}]",
"tenantId": "1359316744907524",
"taskName": "system_aliyun_waf_batch_whitelist_book"
},
"icon": "https://sophon-gen-v2.oss-cn-zhangjiakou.aliyuncs.com/componentUpload/1666576284868_TriggerPlaybook_logo.svg?Expires=1745548802&OSSAccessKeyId=STS.NVL1uKAoNQbuFQBTpRHpZMCaN&Signature=w22i0vzkKODDUY9xNAwfril0uTo%3D&security-token=CAIS2AJ1q6Ft5B2yfSjIr5X5es%2F%2FrLBv5qCeRHfzsHAHRP92oobKrDz2IHhMenFpAegcv%2Fw%2BlGFZ6%2F8elrp6SJtIXleCZtF94oxN9h2gb4fb4yMGWW6K0s%2FLI3OaLjKm9u2wCryLYbGwU%2FOpbE%2B%2B5U0X6LDmdDKkckW4OJmS8%2FBOZcgWWQ%2FKBlgvRq0hRG1YpdQdKGHaONu0LxfumRCwNkdzvRdmgm4NgsbWgO%2Fks0OP3AOrlrBN%2Bdiuf8T9NvMBZskvD42Hu8VtbbfE3SJq7BxHybx7lqQs%2B02c5onDWwAJu0%2FXa7uEo4wydVNjFbM9A65Dqufxn%2Fpgt%2Braj4X7xhhEIOVJSSPbSZBbSxJNvU1RXDxQVcEYWxylurjnXvF%2Bs5SwZtdAf0rM946UoJvc3YDI5hWbc8mJsTnhSSTAEIv%2By8ptqoFOtH7DkLTHWR7hCtv2305QYbPzMytAXxqAAa%2Bmv7bOZIL67fKJSGOwNGVYwDkNYp2zvM3zoahdc4lQ0oeSmmNoFIvUzRWck5dqsTWQ0D%2BJzP45DavayQJlYdzomPe%2B1HdN%2BLEIuOGaP202XYPIW6ZE2GI8R2Vq6WYhXZEaMB5PmDGO59NwFAhuZCkhixpwmkFhiuNhw6P3XmoTIAA%3D",
"advance": {
"inputParamMode": false,
"onError": "stop_cur_flow",
"rspStatusType": 3,
"rspStatusThreshold": 0
},
"componentName": "TriggerPlaybook",
"actionName": "callSubTaskWithQps",
"status": "success",
"cascaderValue": [
]
},
"isNode": true
},
{
"shape": "custom-edge",
"attrs": {
"line": {
"stroke": "#63ba4d",
"targetMarker": {
"stroke": "#63ba4d"
}
}
},
"zIndex": 1,
"id": "439e42d8-8ff8-4b12-9c8e-32e16a4fb9db",
"data": {
"nodeType": "sequenceFlow",
"appType": "basic",
"icon": "icon-upper-right-arrow",
"isRequired": false
},
"isNode": false,
"source": {
"cell": "bf7d41ee-bd07-4b57-a3bc-02b50603c4f5"
},
"target": {
"cell": "317dd1be-2d20-460e-977e-1fc936ffb583"
},
"vertices": [
],
"visible": true,
"router": {
"name": "manhattan",
"args": {
"padding": 5,
"excludeHiddenNodes": true,
"excludeNodes": [
"clone_node_id"
]
}
}
}
]
}
callSubTaskWithQps
子剧本执行后,会产生一条执行记录。如何查看记录,请参见查看剧本执行记录。
参数说明
参数 | 描述 | |
选择剧本 | 当前账号下所有的剧本。 | |
输入 | 子剧本开始节点配置的输入参数。 | |
输出 | 子剧本开始节点配置的输出参数。 | |
高级配置 | maxTasks | 子剧本执行的最大并发数,小于或者等于0,使用默认限制(20),可配置上限为50。 例如:假设要调用100次子剧本,采用默认限制,不会同时执行100次,而是先执行20次,剩余80次处于等待中,20次的任务有执行结束的,则从剩余80个任务中获取一个继续执行,起到限流的效果。 |
waitMaxTimeOneTask | 单个子剧本执行最长等待时间,单位为秒。 默认43200(12小时),最大支持86400(1天)。 | |
waitMaxTime | 全部剧本最长等待时间,单位为秒。 默认43200(12小时),最大支持86400(1天)。 |
setOutput动作
定义剧本对外输出的参数及参数值。
参数说明
会沿用剧本配置的输出参数,需要在剧本开始节点的输入输出参数处配置。开始节点参数设置请参见开始/结束。
参数值支持常量、表达式、前置节点输出值等。详情可参见组件参数及节点执行流程。