ALIYUN::EventBridge::Rule类型用于在指定的事件总线下创建一个事件规则。

语法

{
  "Type": "ALIYUN::EventBridge::Rule",
  "Properties": {
    "Status": String,
    "EventBusName": String,
    "FilterPattern": Map,
    "Description": String,
    "Targets": List,
    "RuleName": String
  }
}

属性

属性名称 类型 必须 允许更新 描述 约束
Status String 规则的状态。 取值:
  • ENABLE(默认值):规则已启用。
  • DISABLE:规则已禁用。
EventBusName String 事件总线的名称。 更多信息,请参见使用限制
FilterPattern Map 事件模式。 JSON格式。取值:
  • stringEqual模式。
  • stringExpression模式 。
说明 最多可容纳5个事件模式。
Description String 规则说明。
Targets List 事件的投递目标。 更多信息,请参见Targets属性
RuleName String 事件规则的名称。 更多信息,请参见使用限制

Targets语法

"Targets": [
  {
    "PushRetryStrategy": String,
    "Type": String,
    "Endpoint": String,
    "Id": String,
    "ParamList": List
  }
]

Targets属性

属性名称 类型 必须 允许更新 描述 约束
PushRetryStrategy String 推送重试策略。 取值:
  • BACKOFF_RETRY:退避重试策略。重试3次,每次重试的间隔时间是10秒到20秒之间的随机值。
  • EXPONENTIAL_DECAY_RETRY:指数衰减重试。重试176次,每次重试的间隔时间指数递增至512秒,总计重试时间为1天。

    每次重试的具体间隔时间为(秒):1、2、4、8、16、32、64、128、256和512(共167个512)。

Type String 目标Target类型。
Endpoint String 投递端点链接。
Id String 自定义TargetId。
ParamList List 事件传递的参数。 更多信息,请参见ParamList属性

ParamList语法

"ParamList": [
  {
    "Form": String,
    "Value": String,
    "ResourceKey": String,
    "Template": String
  }
]

ParamList属性

属性名称 类型 必须 允许更新 描述 约束
Form String 事件转换的格式。 更多信息,请参见事件目标参数
Value String 事件转换的值。
ResourceKey String 事件转换的资源参数。 更多信息,请参见事件目标参数
Template String 模板样式。

返回值

Fn::GetAtt

  • EventBusName:事件总线的名称。
  • RuleARN:事件规则的ARN,用于授权。
  • RuleName:事件规则的名称。

示例

JSON格式

{
  "ROSTemplateFormatVersion": "2015-09-01",
  "Parameters": {
    "EventBusName": {
      "Type": "String",
      "Description": "The name of the event bus."
    },
    "Targets": {
      "Type": "Json",
      "Description": "The event target to which events are delivered.",
      "MinLength": 1,
      "MaxLength": 5
    },
    "RuleName": {
      "Type": "String",
      "Description": "The name of the event rule."
    }
  },
  "Resources": {
    "Rule": {
      "Type": "ALIYUN::EventBridge::Rule",
      "Properties": {
        "EventBusName": {
          "Ref": "EventBusName"
        },
        "Targets": {
          "Ref": "Targets"
        },
        "RuleName": {
          "Ref": "RuleName"
        }
      }
    }
  },
  "Outputs": {
    "EventBusName": {
      "Description": "The name of the event bus.",
      "Value": {
        "Fn::GetAtt": [
          "Rule",
          "EventBusName"
        ]
      }
    },
    "RuleARN": {
      "Description": "The Alibaba Cloud Resource Name (ARN) of the event rule. The ARN is used for authorization.",
      "Value": {
        "Fn::GetAtt": [
          "Rule",
          "RuleARN"
        ]
      }
    },
    "RuleName": {
      "Description": "The name of the event rule.",
      "Value": {
        "Fn::GetAtt": [
          "Rule",
          "RuleName"
        ]
      }
    }
  }
}