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

查看日志

相关推荐
Akamai中国1 小时前
私有IP、VLAN和VPC,分别适合哪些场景你知道吗?
网络·网络协议·tcp/ip·云计算·云服务·云平台·vpc
KubeSphere 云原生2 小时前
云原生周刊:K8s 生产环境架构设计及成本分析
云计算·k8s·容器平台·kubesphere
江中散人2 小时前
【云原生布道系列】第三篇:“软”饭“硬”吃的计算
云原生·云计算
一水鉴天3 小时前
为AI聊天工具添加一个知识系统 之49 “‘之47’和蒙板有关的术语”的腾讯云 AI 代码助手答问(部分)
人工智能·云计算
MiniFlyZt4 小时前
图片头像上传(阿里云OSS)
阿里云·云计算
佛州小李哥8 小时前
在亚马逊云科技上高效蒸馏低成本、高精度的Llama 3.1 405B模型(上篇)
人工智能·科技·ai·语言模型·云计算·aws·亚马逊云科技
火山引擎边缘云17 小时前
揭秘字节跳动内部流量调度与容灾实践【上】
后端·云计算·dns
Norris Huang21 小时前
Amazon MSK 开启 Public 访问 SASL 配置的方法
kafka·aws
gsls2008081 天前
阿里云安装mikrotik7配置内网互通
阿里云·云计算
阿里云云原生1 天前
阿里云 Serverless 助力盟主直播:高并发下的稳定性和成本优化
阿里云·serverless·云计算