调用CreateRule接口在指定的事件总线下创建一个事件规则。规则需要指定事件过滤器(FilterPattern),规则会根据事件过滤器匹配事件,规则同样要指定投递目标。

URI

/openapi/createRule

使用限制

单个事件总线下最多创建10个事件规则。

请求参数

名称 类型 是否必选 示例值 描述
EventBusName String default 事件总线的名称。更多信息,请参见使用限制
RuleName String MNSRule 事件规则的名称。更多信息,请参见使用限制
Description String MNS的过滤规则 规则说明。
Status String ENABLE 规则的状态。取值说明如下:
  • ENABLE:规则已启用。规则默认状态。
  • DISABLE:规则已禁用。
FilterPattern String
{\"source\": [{\"prefix\": \"acs.\"}],\"type\": [{\"prefix\":\"oss:ObjectReplication\"}],\"subject\":[{\"prefix\":\"acs:oss:cn-hangzhou:123456789098****:my-movie-bucket/\", \"suffix\":\".txt\"}]}
事件模式,JSON格式。取值说明如下:
  • stringEqual模式。
  • stringExpression模式 。

    每个field最多5个expression(map结构)。

每个field最多5个expression(map结构)。

Targets List<Target> 事件的投递目标。
Id String 1 自定义TargetId。
Type String acs.mns.queue 目标Target类型。
Endpoint String 投递端点链接。
PushRetryStrategy String BACKOFF_RETRY 推送重试策略。取值说明如下:
  • BACKOFF_RETRY:退避重试策略。重试3次,每次重试的间隔时间是10秒到20秒之间的随机值。
  • EXPONENTIAL_DECAY_RETRY:指数衰减重试。重试176次,每次重试的间隔时间指数递增至512秒,总计重试时间为1天;每次重试的具体间隔为:1,2,4,8,16,32,64,128,256,512,512...512秒(共167个512)。
ParamList List<Param> 事件传递的参数。
resourceKey String body 事件转换的资源参数。更多信息,请参见事件目标参数
form String TEMPLATE 事件转换的格式。更多信息,请参见事件目标参数
value String
{\"key\"=\"value\"}
事件转换的值。
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",
            "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"
}