事件网格 EG-事件内容转换:其他示例

时间:2024-09-29 15:54:21

其他示例

  1. 在创建事件订阅-配置事件源为“分布式消息服务RabbitMQ版”或“分布式消息服务RocketMQ版”,消息转换为CloudEvents格式事件后,data字段下将包含context字段,在创建事件订阅-配置事件目标,规则类型配置为“变量”时,规则必须包含context字段,示例如下:

    转换前的事件

    转换类型

    转换后的事件

    {
        "type": "ROCKETMQ:CloudTrace:RocketmqCall",
        "data": {
            "context": {    
    		"name": "test01",
    		"state": "enable"
             }
        },
        "source": "zhang_roc",
        "time": "2023-02-01T10:47:07Z",
        "datacontenttype": "application/json",
        "specversion": "1.0",
        "id": "2f885496-570c-4925-82fd-d1ad09******",
        "subject": "ROCKETMQ:cn-north-7:eec88b34-9470-483e-8961-edb168******/0de095e33e00d36e2fd2c0019a******:ROCKETMQ:zhang_roc"
    }

    参数

    {"name":"$.data.context.name"}

    模板

    My name is ${name}
    My name is test01
  2. 在创建事件订阅-配置事件目标,事件目标配置为“FunctionGraph(函数计算)”时,若内容转换规则配置为“透传”,无法将事件内容作为输入值传递至事件目标。如需将事件内容作为函数流输入值,可以通过“变量”或“常量”的内容转换规则,规则必须包含input字段,示例如下:
    表1 变量示例

    转换前的事件

    规则配置

    转换后的事件

    {
        "events":[{
    	"id": "4b26115b-73cf74a******",
            "specversion": "1.0",
    	"source": "HC.OBS",
    	"type": "object:put",
    	"datacontenttype": "application/json",
    	"subject": "xxx.jpg",
    	"time": "2022-01-17T12:07:48.955Z",
    	"data": {
    		"name": "test01",
    		"state": "enable"
    	}
        }]
    }

    变量

    {"data": "$.data"}

    模板

    {"input": ${data}}

    {
    	"input": {
    		"name": "test01",
    		"state": "enable"
    	}
    }
    表2 常量示例

    转换前的事件

    规则配置

    转换后的事件

    {
        "events":[{
    	"id": "4b26115b-73cf74a******",
            "specversion": "1.0",
    	"source": "HC.OBS",
    	"type": "object:put",
    	"datacontenttype": "application/json",
    	"subject": "xxx.jpg",
    	"time": "2022-01-17T12:07:48.955Z",
    	"data": {
    		"name": "test01",
    		"state": "enable"
    	}
        }]
    }

    常量

    {
    	"input": {
    		"name": "test01"
    	}
    }
    {
    	"input": {
    		"name": "test01"
    	}
    }
support.huaweicloud.com/usermanual-eg/eg-ug-020.html