调用CreateRule接口在指定的事件总线下创建一个事件规则。规则需要指定事件过滤器(FilterPattern),规则会根据事件过滤器匹配事件,规则同样要指定投递目标。
URI
/openapi/createRule
使用限制
单个事件总线下最多创建10个事件规则。
请求参数
名称 | 类型 | 是否必选 | 示例值 | 描述 |
---|---|---|---|---|
EventBusName | String | 是 | default | 事件总线的名称。更多信息,请参见使用限制。 |
RuleName | String | 是 | MNSRule | 事件规则的名称。更多信息,请参见使用限制。 |
Description | String | 否 | MNS的过滤规则 | 规则说明。 |
Status | String | 否 | ENABLE | 规则的状态。取值说明如下:
|
FilterPattern | String | 否 |
|
事件模式,JSON格式。取值说明如下:
每个field最多5个expression(map结构)。 |
Targets | List<Target> | 是 | 事件的投递目标。 | |
Id | String | 是 | 1 | 自定义TargetId。 |
Type | String | 是 | acs.mns.queue | 目标Target类型。 |
Endpoint | String | 是 | acs:mns:cn-hangzhou:123456789098****:queues/myqueue | 投递端点链接。 |
PushRetryStrategy | String | 是 | BACKOFF_RETRY | 推送重试策略。取值说明如下:
|
DeadLetterQueue | String | 否 | 死信队列。未处理或者超过重试次数的事件会被写入死信。支持消息服务MNS和消息队列RocketMQ版。 | |
Arn | String | 否 | 或
|
死信队列的Arn,未处理或超过重试次数的事件会被写入死信。支持消息服务MNS和消息队列RocketMQ版。 |
ParamList | List<Param> | 是 | 事件传递的参数。 | |
resourceKey | String | 是 | body | 事件转换的资源参数。更多信息,请参见事件目标参数。 |
form | String | 是 | TEMPLATE | 事件转换的格式。更多信息,请参见事件目标参数。 |
value | String | 是 |
|
事件转换的值。 |
template | String | 否 | The value of ${key} is ${value}! | 模板样式。 |
返回参数
名称 | 类型 | 示例值 | 描述 |
---|---|---|---|
RuleARN | String | acs:eventbridge:cn-hangzhou:123456789098****:eventbus/default/rule/MNSRule | 事件规则的ARN,用于授权。 |
示例
请求示例
POST /openapi/createRule HTTP/1.1
Host: 123456789098****.eventbridge.cn-hangzhou.aliyuncs.com
Date: Sat, 18 Apr 2020 05:30:41 GMT
x-eventbridge-version: 2020-04-01
Authorization: acs vZ3VL0SuJdHi****:Jo2PbT******azYAYoYslKLvWzg=
Content-Type: application/json;charset=UTF-8
Content-Length: 26
{
"EventBusName":"default",
"RuleName":"MNSRule",
"Description":"MNS的过滤规则",
"Status":"ENABLE",
"filterPattern":"{\"source\": [{\"prefix\": \"acs.\"}],\"type\": [{\"prefix\":\"oss:ObjectReplication\"}],\"subject\":[{\"prefix\":\"acs:oss:cn-hangzhou:123456789098****:my-movie-bucket/\", \"suffix\":\".txt\"}]}",
"Targets":[
{
"Id":"1",
"Type":"acs.mns.queue",
"Endpoint":"acs:mns:cn-hangzhou:123456789098****:queues/myqueue",
"PushRetryStrategy":"BACKOFF_RETRY",
"DeadLetterQueue":{
"Arn":"acs:mns:cn-hangzhou:123456789098****:/queues/rule-deadletterqueue"
},
"ParamList":[
{
"resourceKey":"queue",
"form":"CONSTANT",
"value":"myqueue"
},
{
"resourceKey":"body",
"form":"TEMPLATE",
"value":"{\"key\"=\"value\"}",
"template":"The value of ${key} is ${value}!"
}
]
}
]
}
返回示例
HTTP/1.1 200 OK
Server: AliyunEventBridge
Connection: keep-alive
Content-Type: application/json;charset=utf-8
Content-Length: 79
x-eventbridge-request-id: 5E9A9081333245F1D800****
Date: Sat, 18 Apr 2020 05:30:41 GMT
{
"RuleARN":"acs:eventbridge:cn-hangzhou:123456789098****:eventbus/default/rule/MNSRule"
}