AWS 实现eventbridge 发送消息触发lamda

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

贴入下面代码并点击deploy

复制代码
复制代码
import json

def 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去请求

查看日志

相关推荐
峰顶听歌的鲸鱼43 分钟前
Zabbix监控系统
linux·运维·笔记·安全·云计算·zabbix·学习方法
TG_yunshuguoji4 小时前
亚马逊云代理商:如何监控AWS RDS使用率并设置报警?
运维·云计算·aws
菜鸟别浪6 小时前
内存管理-第1章-Linux 内核内存管理概述
linux·运维·云计算·虚拟化·内存管理
灿宝宝lo8 小时前
阿里云OSS视频自动转码的配置详细步骤
阿里云·云计算·音视频
打码人的日常分享9 小时前
双碳智慧园区建设方案(PPT)
大数据·运维·网络·云计算·制造
翼龙云_cloud9 小时前
阿里云渠道商:如何选择适合的预留实例类型和数量?
服务器·阿里云·云计算
翼龙云_cloud10 小时前
亚马逊云代理商:如何在 AWS 控制台上手动重启主实例?
服务器·云计算·aws
没有bug.的程序员10 小时前
云服务成本优化深度进阶:AWS/Aliyun 资源监控内核、自动伸缩物理建模与 FinOps 降本实战指南
云计算·aws·finops·aliyun·自动伸缩·资源监控·物理建模
A-刘晨阳10 小时前
K8S部署kube-state-metrics + CAdvisor 并使用 Prometheus 监控 Kubernetes 指标
运维·云原生·kubernetes·云计算·prometheus·cadvisor·state-metrics
健忘的派大星13 小时前
需求激增800%!2025年第一硬通货:懂大模型、云计算和硬件的“前沿部署工程师”!
人工智能·算法·架构·langchain·云计算·大模型学习·大模型教程