AWS 实现eventbridge 发送消息触发lamda

server/2024/10/23 9:33:33/

1 创建一个lamda函数,运行时选择python

贴入下面代码并点击deploy

 
import jsondef lambda_handler(event, context):# 打印接收到的事件print("Received event: " + json.dumps(event, indent=2))# 可以在这里添加其他处理逻辑# 例如,提取某些信息并进行处理# 返回响应return {'statusCode': 200,'body': json.dumps({'message': 'Event processed successfully'})}

2 创建事件总线

名字写上就可以保存了

在总线下进行规则创建

Event 有三种来源

AWS事件,合作伙伴事件,输入自己的

通过选择不同的事件来源,后面我们可以通过事件构造去匹配这种格式的event

比如选择自定义

在事件模式填入对应json然后点击测试,绿色说明测试成功可以匹配到该event

 
{"source": [{"wildcard": "*"}],"detail-type": [{"wildcard": "*"}],"detail": {"EventSource": [{"wildcard": "*"}],"eventSource": [{"wildcard": "*"}],"key1": [{"wildcard": "*"}]}
}

在本地准备python 代码, 其中EventBusName 指定event送到哪个总线里进行处理

import boto3
import json
from datetime import datetime# 创建 EventBridge 客户端
client = boto3.client('events')# 定义事件
event = {'Source': 'my.custom.source.test.bili.mysql',  # 事件来源'DetailType': 'AWS API Call via CloudTrail good or bad',  # 事件类型'Detail': json.dumps({"EventSource": "bili.custom.source","eventSource": "bili.custom.source","key1": "value1"}),'EventBusName': 'event-bus',  # 指定事件总线'Time': datetime.utcnow()  # 事件时间,使用 UTC
}# 发送事件
try:response = client.put_events(Entries=[event])print("Event sent! Response:", response)
except Exception as e:print("Error sending event:", e)

在lamda里添加监听器,选择evnetbridge-rule

观察指标

总线的监控看收到的event 总数

rule的监控看匹配到的event数

cloudwatch里看lamda日志

同理可以在lamda触发源上配置API gateway

访问网关在这里

使用postman去请求

查看日志


http://www.ppmy.cn/server/134136.html

相关文章

2024年电子信息与信号处理国际学术研讨会(EISP 2024,2024年11月15-17日)

2024年电子信息与信号处理国际学术研讨会(EISP 2024) 2024 International Symposium on Electronic Information and Signal Processing 官方信息 会议官网:www.eiect.org 2024 International Symposium on Electronic Information and Sig…

redis报错(error) NOAUTH Authentication required.

redis报错(error) NOAUTH Authentication required. # 进入redis-cl所在目录 rootc257083a0d7f:/# cd /usr/local/bin rootc257083a0d7f:/usr/local/bin# ls docker-entrypoint.sh gosu redis-benchmark redis-check-aof redis-check-rdb redis-cli redis-sentinel red…

别让数据蒙蔽双眼:用消费者决策旅程照亮数字营销之路

来源:Vollrath, M. D., & Villegas, S. G. (2022). Avoiding digital marketing analytics myopia: Revisiting the customer decision journey as a strategic marketing framework. Journal of Marketing Analytics, 10(2), 106-113. https://go.exlibris.lin…

Java 20新特性概述

Java 20发布于2023年3月21日,共七个新特性: JEP 429:Scoped Values (Incubator)作用域值 (第一轮孵化) JEP 432:Record Patterns (Second Preview)记录模式 (第二次预览) JEP 433&…

2024年水利水电安全员考试题库及答案

一、判断题 1.职业禁忌指员工从事特定职业或者接触特定职业危害因素时,比一般职业人更易于遭受职业危害的侵袭和罹患职业病,或者可能导致原有自身疾病的病情加重,或者在从事作业过程中诱发可能导致对他人生命健康构成危险的疾病的个人特殊生…

OpenCV视觉分析之运动分析(4)背景减除类:BackgroundSubtractorKNN的一系列set函数的使用

操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 BackgroundSubtractorKNN类有一系列的set函数,下面我们一一列举他们的名字和用法。 一系列set函数 函数setDetectShadows() setDe…

LinkAndroid v0.0.12 发布,手机连接助手,日志查看、投屏设置、多处问题修复

LinkAndroid 是一个全能手机连接助手,方便快捷的连接 Android 和电脑,连接手机后可投屏、GIF/MP4录屏、截屏、文件管理、手机操作等功能。 功能特性 支持多手机连接,方便快捷控制多个手机 支持投屏,基于 scrcpy,支持手…

Qt记录使用QtAwesome

Qt记录使用QtAwesome 基本使用 基本使用 pro文件添加 CONFIG fontAwesomeFree include(QtAwesome/QtAwesome.pri) //实例化QtAwesome fa::QtAwesome* awesome new fa::QtAwesome(this); awesome->initFontAwesome();//设置外置适应 图标ICON的颜色color QVariantMap opt…