步骤1: 确保lambda函数已添加正确的EventBridge触发器:步骤包括创建一个lambda函数以及添加一个EventBridge触发器
// 创建lambda函数
exports.handler = async (event, context) => {
console.log(event);
return {
statusCode: 200,
body: JSON.stringify('Hello from Lambda!'),
};
};
// 添加EventBridge触发器
{
"source": [
"aws.ec2"
],
"detail-type": [
"EC2 Instance State-change Notification"
],
"detail": {
"state": [
"running"
]
}
}
步骤2: 确保有适当的权限:为您的lambda函数添加相应的权限
{
"Statement": [
{
"Action": [
"logs:CreateLogGroup",
"logs:CreateLogStream",
"logs:PutLogEvents"
],
"Effect": "Allow",
"Resource": "arn:aws:logs:*:*:*"
}
],
"Version": "2012-10-17"
}
步骤3: 确保事件规则适用于lambda函数的范围:
{
"Statement": [
{
// 添加lambda函数的arn
"Resource": "arn:aws:lambda:us-west-2:1XXXXX:function:my-lambda-function",
"Effect": "Allow",
"Action": [
"lambda:InvokeFunction"
]
}
],
"Version": "2012-10-17"
}
这些步骤将确保AWS EventBridge事件在具有适当权限的lambda函数中正确触发。