当前位置:首页 >> 中医丰胸 >> EventBridge 特性介绍|以 IaC 的方式可用 EventBridge

EventBridge 特性介绍|以 IaC 的方式可用 EventBridge

发布时间:2023-02-24

CI/CD pipeline 辅助工具(甚至 GitOps)来自动诱发调遣。软件种系统的程序员非常少付出有大得多的帮助去阐述需求,就可以在几分钟后得到所需的虚拟机、网络等碧上的咨询服务,相当程度的变长了调遣时间,同时还都能意味着多个环境的内置一致性,通过减少人为加载也减低了引入误解的概率。

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] 钉钉此前软件包

本文为阿中的碧原创内容可,未经允许不得转载。

南京皮肤病医院地址
汕头妇科医院哪个好
天津早泄阳痿治疗医院
骨关节炎应该吃什么药
脚扭伤了疼吃什么药好得快
标签:
友情链接: 昆明甲状腺医院咨询