TriggerPlaybook组件

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动作

定义剧本对外输出的参数及参数值。

参数说明

  • 会沿用剧本配置的输出参数,需要在剧本开始节点的输入输出参数处配置。开始节点参数设置请参见开始/结束

  • 参数值支持常量、表达式、前置节点输出值等。详情可参见组件参数及节点执行流程