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

查看日志

相关推荐
boonya5 小时前
阿里云效一站式DevOps解决方案
阿里云·云计算·devops·阿里云效·一站式服务
方安乐5 小时前
超简单腾讯云免费部署vue项目
云计算·腾讯云
全栈视界师5 小时前
[AWS IoT 实战3] 设备事件报警 上传图片到 DynamoDB 和 S3功能
物联网·struts·aws
Akamai中国6 小时前
加速采用安全的企业级 Kubernetes 环境
人工智能·云计算·云服务·云存储
wanhengidc6 小时前
云手机如何进行数据备份
运维·服务器·科技·智能手机·云计算
云计算小黄同学6 小时前
【基于阿里云ACK】详细介绍k8s日志系统的设计与部署
阿里云·kubernetes·云计算
阿里云通信6 小时前
国内如何合规接入 WhatsApp Business API?阿里云作为 Meta Premier BSP 的完整技术指南
阿里云·云计算·whatsapp api·whatsapp bsp·whatsapp 服务商
翼龙云_cloud6 小时前
阿里云渠道商:连接无影云电脑时最常见的问题有哪些?
服务器·阿里云·云计算·电脑·玩游戏
weixin_307779139 小时前
Jenkins GitHub插件1.45.0:深度集成与实践指南
运维·云原生·云计算·jenkins