创建一个事件规则。
接口说明
创建一个事件规则。
调试
您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。
授权信息
下表是API对应的授权信息,可以在RAM权限策略语句的Action元素中使用,用来给RAM用户或RAM角色授予调用此API的权限。具体说明如下:
- 操作:是指具体的权限点。
 - 访问级别:是指每个操作的访问级别,取值为写入(Write)、读取(Read)或列出(List)。
 - 资源类型:是指操作中支持授权的资源类型。具体说明如下:
- 对于必选的资源类型,用前面加 * 表示。
 - 对于不支持资源级授权的操作,用
全部资源表示。 
 - 条件关键字:是指云产品自身定义的条件关键字。
 - 关联操作:是指成功执行操作所需要的其他权限。操作者必须同时具备关联操作的权限,操作才能成功。
 
| 操作 | 访问级别 | 资源类型 | 条件关键字 | 关联操作 | 
|---|---|---|---|---|
| eventbridge:CreateRule | create | *Rule acs:eventbridge:{#regionId}:{#accountId}:eventbus/{#EventBusName}/rule/{#RuleName} | 
  | 无 | 
请求参数
| 名称 | 类型 | 必填 | 描述 | 示例值 | 
|---|---|---|---|---|
| EventBusName | string | 是 | 事件总线名称。  | MyEventBus | 
| Description | string | 否 | 事件总线的描述  | SMQ的过滤规则 | 
| RuleName | string | 是 | 事件规则的名称  | SMQRule | 
| Status | string | 否 | 规则的状态。取值说明如下: ENABLE:规则已启用。规则默认状态。 DISABLE:规则已禁用。  | ENABLE | 
| FilterPattern | string | 是 | 事件模式,JSON 格式。取值说明如下: stringEqual 模式。 stringExpression 模式 。 每个 field 最多 5 个 expression(map 结构)。  | { "source": [ { "prefix": "acs." } ], "type": [ { "prefix": "oss:ObjectReplication" } ], "subject": [ { "prefix": "acs:oss:cn-hangzhou:123456789098****:my-movie-bucket/", "suffix": ".txt" } ] } | 
| EventTargets | array<object> | 是 | 事件目标列表。  | |
| object | 是 | 事件目标。  | ||
| Id | string | 是 | 自定义事件目标 Id。  | Mlm123456JHd2RsRoKw | 
| Type | string | 是 | 事件目标类型。更多信息,请参见事件目标参数。  | acs.mns.queue | 
| Endpoint | string | 否 | 投递端点链接。  | acs:mns:cn-hangzhou:123456789098****:queues/myqueue | 
| PushRetryStrategy | string | 否 | 推送重试策略。取值说明如下: 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)。  | BACKOFF_RETRY | 
| DeadLetterQueue | object | 否 | 死信队列。未处理或者超过重试次数的事件会被写入死信队列。当前死信队列支持的队列类型有消息队列 RocketMQ 版、轻量消息队列(原 MNS)、消息队列 Kafka 版和 EventBridge 事件总线。  | |
| Arn | string | 否 | 死信队列的 Arn,未处理或超过重试次数的事件会被写入死信队列。支持轻量消息队列(原 MNS)和消息队列 RocketMQ 版。  | acs:mns:cn-hangzhou:123456789098****:/queues/deadletterqueue 或 acs:mq:cn-hangzhou:123456789098****:/instances/MQ_INST_123456789098****_BX8QbBPL/topic/deadlettertopic 或 acs:alikafka:cn-hangzhou:123456789098****:instance/alikafka_post-cn-123456/topic/deadlettertopic 或 acs:eventbridge:cn-hangzhou:123456789098****:eventbus/deadletterbus | 
| ErrorsTolerance | string | 否 | 容错策略。取值说明如下: ALL:允许容错。允许异常容错,当异常发生时不会阻塞执行,超过重试策略后会根据配置将消息投递至死信队列或直接丢弃。 NONE:禁止容错。不允许容错,当异常发生并超过重试策略配置时会阻塞执行。  | ALL | 
| ParamList | array<object> | 否 | 事件目标的参数。  | |
| object | 否 | 事件目标的参数。  | ||
| ResourceKey | string | 否 | 事件目标的资源参数。更多信息,请参见使用限制。  | body | 
| Form | string | 否 | 事件目标参数的格式。更多信息,请参见使用限制。  | TEMPLATE | 
| Value | string | 否 | 事件目标参数的值。  | {"key"="value"} | 
| Template | string | 否 | 事件目标参数模板样式。  | The value of ${key} is ${value}! | 
| ConcurrentConfig | object | 否 | 并发控制配置。  | |
| Concurrency | long | 否 | 并发数  | 2 | 
请求示例
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"}]}", "EventTargets":[ { "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}!" } ] } ] }
返回参数
示例
正常返回示例
JSON格式
{
  "Message": "Remote error. requestId: [xxxx], error code: [xxx], message: [The target in event rule is invalid! Endpoint is xxx",
  "RequestId": "1AD6D598-7506-5D2C-81EA-30E3241A903A",
  "Data": {
    "RuleARN": "acs:eventbridge:cn-hangzhou:123456789098****:eventbus/default/rule/MNSRule"
  },
  "Code": "Success",
  "Success": true
}错误码
| HTTP status code | 错误码 | 错误信息 | 
|---|---|---|
| 403 | ServiceNotEnable | Service not enable | 
访问错误中心查看更多错误码。
变更历史
| 变更时间 | 变更内容概要 | 操作 | 
|---|---|---|
| 2024-09-25 | OpenAPI 错误码发生变更 | 查看变更详情 | 
