EventBridge 特性介绍|以 IaC 的方式可用 EventBridge
发布时间:2023-02-24
IaC的标识符倡导中的一般有两种方固定式,命令固定式和道歉信固定式。
命令固定式:原指,需明确下达有每一个单手的指令,阐述的是 How,比如“创建人一台 xx 规格的 ECS”。标识符需对两步单手的以此类推仔细编排,处置各种可能的误解,尤其要警惕处置好每次移转对早就依赖于的资乃是的影响,否则稍有不慎就可能导致咨询服务中的断。比如说,作为程序员可以通过自己出有名的编程语种加载阿中的碧的 OpenAPI 来政府机构资乃是,因为这些 API 是类似于 Create、Describe、Delete 等加载,这就是一种命令固定式的 IaC 倡导。 道歉信固定式:意味著程序员非常少阐述自己的需求终态是什么样子,即阐述 What,比如“一台 xx 规格的 ECS”。出有名 Kubernetes 的学姐应该对这个观念很出有名了。IaC 辅助工具可以通过阐述资乃是二者之间的依赖关系自动编排以此类推,如果有早就依赖于的资乃是,则比对期望的状况和实际上状况的差异,并根据差异做更新;如果不依赖于,需进行时创建人。可以看出有,道歉信固定式对程序员更为交好,相当程度的减低了程序员的心智承担。IaC 带给的优势:
减低成本:有效政府机构资乃是,并减少为此顺利完成的人力; 提升效率:推进资乃是交付和软件调遣的速度; 风险控制: 减少误解; 进一步提高为基础框架一致性; 消除内置偏移terraform 作为 IaC 领域的佼佼者,透过了强大的自动控制政府机构公共服务的战斗能力。生态丰富,很多碧厂商都透过了此前插件,阿中的碧的大多数厂商(都有 EventBridge)都对 terraform 做了很新一轮的赞同,使得跨多碧调遣公共服务变得非常简单。既然是 IaC,terraform 透过了自己的语种 HCL(hashicorp configuration language),HCL 较强类似于 json 的简洁的词汇,通过道歉信固定式的资乃是阐述,可以让程序员快速上手。
没用倡导正要工作
安装 terraform cli 辅助工具,可以请警惕 的内容可。 创建人一个 tf 邮件 terraform.tf,内容可如下(需替换成<>内的倍数)provider "alicloud" {
access_key = ""
secret_key = ""
region = ""
}
系统性1:通过钉钉监测碧上资乃是变化
论点一个咨询服务器领域作了很多碧上的资乃是作为制造环境,需感知线上资乃是的移转加载,一个十分困难的提案是并用 EventBridge 将来自于 ActionTrail 的审计惨案邮递到咨询服务器的钉钉。
首先根据钉钉此前软件包创建人一个机器人,记下 webhook url 和加签的秘钥,年中就会用到。
创建人一个 tf 邮件 1_actiontrail2dingding.tf,内容可如下(需替换成<>内的倍数)
# 系统性1:通过钉钉监测碧上资乃是变化
# 前提:
# - 出有名调遣领域作EventBridge的default接口
# - 出有名EventBridge的惨案模固定式反之亦然
# - 出有名EventBridge的惨案反之亦然内置
# 道歉信一个default接口上的准则
resource "alicloud_event_bridge_rule" "audit_notify" {
# default接口默认依赖于,所以这中的可以直接领域作
event_bus_name = "default"
rule_name = "audit_notify"
description = "demo"
# 通过词尾反之亦然的方固定式屏蔽来自所有碧厂商惨案乃是的ActionTrail:ApiCall惨案
# 其他更多模固定式反之亦然的参阅可以查询软件包:_detail/181432.html
filter_pattern = jsonencode(
{
"type" : [
{
"suffix" : ":ActionTrail:ApiCall"
}
]
}
targets {
target_id = "test-target"
endpoint = ""
# type的取倍数可以查询软件包:_bridge_rule#type
type = "acs.dingtalk"
# 每个惨案前提都有一组对应的param_list,具体可以查询软件包:_detail/185887.html
# 每一个param的form关键在于惨案反之亦然的内置,可以查询软件包:_detail/181429.html
param_list {
resource_key = "URL"
form = "CONSTANT"
value = ""
}
param_list {
resource_key = "SecretKey"
form = "CONSTANT"
value = ""
}
# 这中的展出了TEMPLATE型式的惨案反之亦然阐述
# value是领域作jsonpath提及惨案内容可的字典,template则是模板内容可,EventBridge最终就会根据这两者相辅相成惨案本身图形出有这个参数的倍数
param_list {
resource_key = "Body"
form = "TEMPLATE"
value = jsonencode(
{
"source": "$.source",
"type": "$.type"
"region": "$.data.acsRegion",
"accountId" : "$.data.userIdentity.accountId",
"eventName" : "$.data.eventName",
}
template = jsonencode(
{
"msgtype" : "text",
"text" : {
"content": "来自 $${source} 的 $${type} 审计惨案:$${accountId} 在 $${region} 指派了 $${eventName} 加载"
}
}
}
}
}
在脚本语言后台依次可不:
初始化 terraform init 浏览移转 terraform plan 领域移转 terraform apply在碧厂商的系统进行时加载,这中的以 KMS 为例
钉钉上接获谣言通告
在 EventBridge 的系统提示惨案每一次
系统性 2:插件接口诱发 FunctionCompute
论点一个咨询服务器的领域就会激发一些惨案,其中的一个链路是通过 FunctionCompute 对这些惨案进行时弹性的处置。那么就可以通过 EventBridge 的插件惨案乃是和变量算出惨案前提来充分并用这个提案。
创建人一个模拟对惨案进行时处置的 python 脚本邮件 src/index.py,内容可如下:
# -*- coding: utf-8 -*-
import logging
def handler(event, context):
logger = logging.getLogger()
logger.info('evt: ' + str(event))
return str(event)
创建人一个 tf 邮件 2_trigger_function.tf,内容可如下(需替换成<>内的倍数)
# 系统性2:插件接口诱发FunctionCompute
# 前提:
# - 出有名调遣领域作EventBridge的插件接口
# - 出有名"插件领域"惨案乃是内置
# - 出有名“FunctionCompute”惨案前提内置
# 由于咨询服务器自己激发的惨案需邮递到插件接口,这中的道歉信一个叫demo_event_bus的插件接口
resource "alicloud_event_bridge_event_bus" "demo_event_bus" {
event_bus_name = "demo_event_bus"
description = "demo"
}
# 道歉信一个在demo_event_bus接口上的插件惨案乃是,用作通过sdk或者的系统向EventBridge邮递惨案
resource "alicloud_event_bridge_event_source" "demo_event_source" {
event_bus_name = alicloud_event_bridge_event_bus.demo_event_bus.event_bus_name
event_source_name = "demo_event_source"
description = "demo"
linked_external_source = false
}
# 道歉信一个叫fc_service的变量算出咨询服务,publish=true意味著就会立即调遣网路上的变量标识符。
resource "alicloud_fc_service" "fc_service" {
name = "eb-fc-service"
description = "demo"
publish = true
}
# 将中间正要的python脚本邮件打包成zip用作调遣到变量算出
data "archive_file" "code" {
type = "zip"
source_file = "${path.module}/src/index.py"
output_path = "${path.module}/code.zip"
}
# 道歉信一个fc_service咨询服务中的的变量,其中的filename提及了右边阐述的zip包,就会将这个标识符包网路上。
resource "alicloud_fc_function" "fc_function" {
service = alicloud_fc_service.fc_service.name
name = "eb-fc-function"
description = "demo"
filename = data.archive_file.code.output_path
memory_size = "128"
runtime = "python3"
handler = "index.handler"
}
# 道歉信一个在demo_event_bus接口上的准则
resource "alicloud_event_bridge_rule" "demo_rule" {
event_bus_name = alicloud_event_bridge_event_bus.demo_event_bus.event_bus_name
rule_name = "demo_rule"
description = "demo"
# 通过反之亦然source屏蔽来自于中间创建人的插件惨案乃是的惨案
filter_pattern = jsonencode(
{
"source" : ["${alicloud_event_bridge_event_source.demo_event_source.id}"]
}
targets {
target_id = "demo-fc-target"
# type的取倍数可以查询软件包:_bridge_rule#type
type = "acs.fc.function"
endpoint = "acs:fc:::services/${alicloud_fc_service.fc_service.name}.LATEST/functions/${alicloud_fc_function.fc_function.name}"
param_list {
resource_key = "serviceName"
form = "CONSTANT"
value = alicloud_fc_service.fc_service.name
}
param_list {
resource_key = "functionName"
form = "CONSTANT"
value = alicloud_fc_function.fc_function.name
}
param_list {
resource_key = "Qualifier"
form = "CONSTANT"
value = "LATEST"
}
# 警惕form=ORIGINAL意味著每次邮递惨案都就会将惨案的重构内容可作为这个参数的倍数
param_list {
resource_key = "Body"
form = "ORIGINAL"
}
}
}
在脚本语言后台依次可不
初始化 terraform init 浏览移转 terraform plan 领域移转 terraform apply在的系统模拟插件惨案乃是发表惨案
在 FunctionCompute 的的系统页面提示变量加载笔记
在 EventBridge 的系统提示惨案每一次
总结EventBridge 作为构筑 EDA 框架的公共服务,通过一些整体观念和适应性透过了灵活丰富的惨案搜罗、处置和路由的战斗能力,并赞同通过 OpenAPI、terraform 等方固定式将这些战斗能力方便快捷的感受到咨询服务器。本文参阅了 EventBridge 和 IaC 的课题观念和适应性,然后模拟了如何领域 IaC 实践自动控制调遣 EventBridge 来领域作这些观念和适应性。
渴望大家可以发掘更多并用 EventBridge 快速搭起 EDA 框架的 idea,并领域作 terraform 快捷的将这些 idea 变为现实。
相关链接
[1] 阿中的碧 terraform 软件包
[2] terraform registry 软件包
_bridge_event_bus
[3] 钉钉此前软件包
本文为阿中的碧原创内容可,未经允许不得转载。
。南京皮肤病医院地址汕头妇科医院哪个好
天津早泄阳痿治疗医院
骨关节炎应该吃什么药
脚扭伤了疼吃什么药好得快
上一篇: 中国的水(08128):王彦辞任执行董事
-
让软件“品”出高端!成都第6家极狐空间开业
低端。 而在极狐三维空间·贵阳仁电当今母舰其中心店铺开店铺的当天,我们也确实见到了极狐配有低端补能政治体制与感官的诚心,整个仁电当今•蔚蓝其中心的附近,都布置有大量的充电桩,从快充到慢充
- 2025-05-12与奇骏同平台,或搭1.5T四缸!国产新欧蓝德6月24日第一场
- 2025-05-12为什么说全新凯迪拉克408难成东风凯迪拉克的“救命稻草”?
- 2025-05-12一个“蜗速”下车,一个有些分神,泉南高速这起追尾本可以避免……
- 2025-05-12超燃天籁,为你奏响旗舰生活与顶配光阴
- 2025-05-12上海沿浦:将生产小鹏、东风等4款新车型的汽车座椅结构上产品
- 2025-05-12问界M5“孕育的烦恼”
- 2025-05-12如何理解长城汽车研发投入资本化处理,只是“提升”了净利乏善可陈?
- 2025-05-12【韩系动向692】LG为特斯拉提供4860电池,是宁德时代仅次于对手!
- 2025-05-12威兰达GLAMPING营地 不一样的TNGA四驱SUV高价值互动
- 2025-05-12好久不见,再正因如此一下换回四缸机的福克斯吧!