sophon_tools组件

sophon_tools组件可为当前服务的地域(region)从域名映射domainMap中选择对应的域名(domain)。

功能描述

动作

描述

使用场景

getDomainByRegion

根据当前服务的regiondomainMap中选择对应的domain。

一个剧本会复制到其他region,不同的region对应不同的domain,此时需要修改剧本,使用该组件,配置domain的映射关系,soar服务会根据服务所在region获取对应的domain,可免于修改剧本。

组件配置示例

本文提供了sophon_tools组件各动作的参数配置示例,您可将其作为测试剧本导入。通过可视化流程编辑器,能更直观地了解和测试各动作的配置参数,轻松掌握组件的功能逻辑与使用方式。操作步骤可参考剧本导入

说明

请先将示例数据保存为JSON文件。

示例数据

{
    "cells": [
        {
            "position": {
                "x": -610, 
                "y": -175
            }, 
            "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", 
                "isRequired": true, 
                "icon": "icon-upper-right-arrow"
            }, 
            "isNode": false, 
            "source": {
                "cell": "58d87b7d-28d9-4f0e-b135-4adc4f1a70e4"
            }, 
            "target": {
                "cell": "822f61c0-8a34-4e7c-84a1-294c21b11cd6"
            }, 
            "router": {
                "name": "manhattan", 
                "args": {
                    "padding": 5, 
                    "excludeHiddenNodes": true, 
                    "excludeNodes": [
                        "clone_node_id"
                    ]
                }
            }, 
            "vertices": [ ], 
            "visible": true
        }, 
        {
            "position": {
                "x": -70, 
                "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"
            }, 
            "markup": [
                {
                    "tagName": "circle", 
                    "selector": "body"
                }, 
                {
                    "tagName": "circle", 
                    "selector": "path"
                }, 
                {
                    "tagName": "text", 
                    "selector": "label"
                }
            ], 
            "isNode": true
        }, 
        {
            "position": {
                "x": -420, 
                "y": -190
            }, 
            "size": {
                "width": 137, 
                "height": 66
            }, 
            "view": "react-shape-view", 
            "attrs": {
                "label": {
                    "text": "sophon_tools_1"
                }
            }, 
            "shape": "activity", 
            "id": "822f61c0-8a34-4e7c-84a1-294c21b11cd6", 
            "data": {
                "componentName": "sophon_tools", 
                "appType": "component", 
                "nodeType": "action", 
                "icon": "https://sophon-gen-v2.oss-cn-zhangjiakou.aliyuncs.com/componentUpload/1706772985014_sophon_tools_logo.png?Expires=1745635432&OSSAccessKeyId=STS.NXFP************&Signature=GAu8FWgRyY5cZeRQv1clIvWSZqw%3D&security-token=CAIS2AJ1q6Ft5B2yfSjIr5vzG87foZl22KyFUBLSokwYY%2Fh22qDsqTz2IHhMenFpAegcv%2Fw%2BlGFZ6%2F8elrp6SJtIXleCZtF94oxN9h2gb4fb4yUAIjSK0s%2FLI3OaLjKm9u2wCryLYbGwU%2FOpbE%2B%2B5U0X6LDmdDKkckW4OJmS8%2FBOZcgWWQ%2FKBlgvRq0hRG1YpdQdKGHaONu0LxfumRCwNkdzvRdmgm4NgsbWgO%2Fks0OP3AOrlrBN%2Bdiuf8T9NvMBZskvD42Hu8VtbbfE3SJq7BxHybx7lqQs%2B02c5onDWwAJu0%2FXa7uEo4wydVNjFbM9A65Dqufxn%2Fpgt%2Braj4X7xhhEIOVJSSPbSZBbSxJNvU1RXDxQVcEYWxylurjnXvF%2Bs5c2%2B8hAf0rM946UoJvc3YDI5hWbc8mJsTnhSSTAEIv%2By8ptqoFOtH7DkLTHWR7hCtv2306G8%2BSFMytAXxqAASheMaPI1EtW9vmzJTiUzI1Mpy%2FK1KMvL%2B5YrTITRTgQenkGkLFgTOTzW2VSuoF6w%2BpSA8UDTPnYZlyFlgELihq4wDNkqqrtUToxub0PrpMEESyGVIWbCAK0XljETFRtwl7eMM99EaqvKTN8r6%2Bhxw2xWIDH5k25760sl0KS5qaCIAA%3D", 
                "ownType": "user", 
                "zIndex": 1, 
                "tenantId": "baba", 
                "customInput": false, 
                "description": "依据region的配置来获取域名,默认使用defaultDomain。目前仅支持ap-southeast-1、 cn-shanghai,剧本执行层会依据运行环境选择对应域名。", 
                "id": 0, 
                "name": "getDomainByRegion", 
                "operateType": "general", 
                "parameters": [
                    {
                        "dataType": "String", 
                        "defaultValue": "", 
                        "description": "默认域名地址", 
                        "enDescription": "", 
                        "name": "defaultDomain", 
                        "needCascader": false, 
                        "required": true, 
                        "tags": ""
                    }, 
                    {
                        "dataType": "Complex", 
                        "defaultValue": "", 
                        "description": "域名地址配置信息", 
                        "enDescription": "", 
                        "name": "domainMap", 
                        "needCascader": false, 
                        "required": true, 
                        "tags": ""
                    }
                ], 
                "riskLevel": 2, 
                "nodeName": "sophon_tools_1", 
                "actionName": "getDomainByRegion", 
                "actionDisplayName": "getDomainByRegion", 
                "cascaderValue": [ ], 
                "valueData": {
                    "defaultDomain": "cn-hangzhou.ecs.aliyun.com", 
                    "domainMap": "[{\"fieldName\":\"cn-hangzhou\",\"fieldValue\":\"cn-hangzhou.ecs.aliyun.com\"},{\"fieldName\":\"cn-shanghai\",\"fieldValue\":\"cn-shanghai.ecs.aliyun.com\"}]"
                }, 
                "status": "success"
            }, 
            "zIndex": 1
        }, 
        {
            "shape": "custom-edge", 
            "attrs": {
                "line": {
                    "stroke": "#63ba4d", 
                    "targetMarker": {
                        "stroke": "#63ba4d"
                    }
                }
            }, 
            "zIndex": 1, 
            "id": "a614bb79-ff0e-4ed7-8064-ac9c5ad6835d", 
            "data": {
                "nodeType": "sequenceFlow", 
                "appType": "basic", 
                "isRequired": true, 
                "icon": "icon-upper-right-arrow"
            }, 
            "isNode": false, 
            "router": {
                "name": "manhattan", 
                "args": {
                    "padding": 5, 
                    "excludeHiddenNodes": true, 
                    "excludeNodes": [
                        "clone_node_id"
                    ]
                }
            }, 
            "source": {
                "cell": "822f61c0-8a34-4e7c-84a1-294c21b11cd6"
            }, 
            "target": {
                "cell": "317dd1be-2d20-460e-977e-1fc936ffb583"
            }, 
            "vertices": [ ], 
            "visible": true
        }
    ]
}

getDomainByRegion动作

参数

描述

defaultDomain

默认域名地址,如果未配置domainMap或者从domainMap中未配置当前region对应的域名地址,则会使用该地址。

例如:cn-shanghai.ecs.aliyun.com。

domainMap

域名地址配置信息。keyregionId,valuedomain地址。

例如:

  • cn-shanghai : cn-shanghai.ecs.aliyun.com

  • ap-southeast-1:ap-southeast-1.ecs.aliyun.com

重要

目前只支持cn-shanghaiap-southeast-1两个地域。