Komponen TriggerPlaybook menyediakan fungsi utama untuk memanggil sub-playbook.
Deskripsi fitur
Aksi | Deskripsi | Skenario |
setOutput | Menentukan output dari playbook. | Digunakan ketika sub-playbook dipanggil oleh playbook utama, dan playbook utama perlu mendapatkan konten output dari sub-playbook. |
callSubTaskWithQps | Memanggil sub-playbook (dengan batas QPS). | Digunakan dalam playbook utama saat memanggil sub-playbook eksternal. |
Contoh konfigurasi komponen
Topik ini memberikan contoh konfigurasi parameter untuk setiap aksi dari komponen TriggerPlaybook, yang dapat diimpor sebagai playbook uji. Melalui editor alur visualisasi, Anda dapat lebih intuitif memahami dan menguji parameter konfigurasi setiap aksi, serta dengan mudah menguasai logika fungsional dan penggunaan komponen. Untuk prosedurnya, lihat Impor Playbook.
Simpan data contoh terlebih dahulu sebagai file JSON.
Contoh 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": "Node awal playbook. Sebuah playbook harus memiliki satu dan hanya satu node awal, yang memerlukan konfigurasi data masukan untuk playbook."
},
"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": "akhir"
},
"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": "Hasilkan data baru",
"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": []
}
]
}Contoh 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": "Node awal playbook. Sebuah playbook harus memiliki satu dan hanya satu node awal, yang memerlukan konfigurasi data masukan untuk playbook."
},
"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": "akhir",
"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
Setelah sub-playbook dieksekusi, rekaman eksekusi akan dihasilkan. Untuk melihat rekaman tersebut, lihat Lihat Rekaman Eksekusi Playbook.
Deskripsi parameter
Parameter | Deskripsi | |
Pilih playbook | Semua playbook di bawah akun saat ini. | |
Masukan | Parameter masukan yang dikonfigurasi untuk node awal sub-playbook. | |
Keluaran | Parameter keluaran yang dikonfigurasi untuk node awal sub-playbook. | |
Konfigurasi lanjutan | maxTasks | Konkurensi maksimum untuk eksekusi sub-playbook. Jika kurang dari atau sama dengan 0, batas default (20) digunakan. Batas atas yang dapat dikonfigurasi adalah 50. Contohnya: Jika Anda perlu memanggil sub-playbook sebanyak 100 kali menggunakan batas default, tidak semua 100 akan dieksekusi secara bersamaan. Sebaliknya, 20 akan dieksekusi pertama kali, dengan sisa 80 menunggu. Saat tugas dari 20 awal selesai, tugas baru dari sisa 80 akan dimulai, menciptakan efek pembatasan laju. |
waitMaxTimeOneTask | Waktu tunggu maksimum untuk satu eksekusi sub-playbook, dalam detik. Defaultnya adalah 43200 (12 jam), dengan maksimum 86400 (1 hari). | |
waitMaxTime | Waktu tunggu maksimum untuk semua playbook, dalam detik. Defaultnya adalah 43200 (12 jam), dengan maksimum 86400 (1 hari). | |
Aksi SetOutput
Menentukan parameter keluaran dan nilai parameter dari playbook.
Deskripsi parameter
Parameter keluaran yang dikonfigurasi untuk playbook akan digunakan. Ini perlu dikonfigurasi di bagian parameter masukan dan keluaran dari node awal playbook. Untuk pengaturan parameter node awal, lihat Mulai/Akhir.
Nilai parameter mendukung konstanta, ekspresi, nilai keluaran dari node sebelumnya, dan lainnya. Untuk detailnya, lihat Parameter Komponen dan Alur Ekseknode.