使用SQS触发AWS Lambda后查看CloudWatch日志报Log group does not exist错误
报错翻译
原英文报错对应中文含义:
日志组不存在 指定的日志组:/aws/lambda/configurationTest 不存在于当前账号或区域
可能的原因及排查方向
Lambda执行角色缺少CloudWatch日志相关权限
Lambda运行时需要主动创建日志组、写入日志数据,默认的AWSLambdaBasicExecutionRole系统权限策略已经覆盖所需权限,如果你的configurationTest函数绑定的执行角色没有附加该策略,或者自定义权限策略未放开logs:CreateLogGroup、logs:CreateLogStream、logs:PutLogEvents三个权限,Lambda就无法自动创建对应的日志组,也就会出现该报错。Lambda函数实际没有被触发运行
即使你已经配置了SQS触发器,也可能存在配置问题导致SQS收到消息后没有成功调用Lambda,自然不会生成日志:- SQS触发器处于禁用状态,没有正常启用
- Lambda的资源访问策略未允许SQS服务调用该函数,SQS的调用请求被拒绝
- SQS配置了死信队列规则,你发送的消息被直接转发到死信队列,没有触发Lambda调用
日志组曾被手动删除
如果之前该Lambda正常生成过日志,但后续/aws/lambda/configurationTest日志组被人为删除,那么在Lambda下一次被成功触发运行、自动重建日志组之前,CloudWatch都会提示日志组不存在。你可以直接在Lambda控制台发起一次测试调用,等待1-2分钟后再刷新CloudWatch页面确认。账号不一致问题
即使区域匹配,如果你当前登录的AWS账号和Lambda函数所属的账号不是同一个,也会出现该报错,可核对当前登录账号与Lambda所属账号ARN是否一致。
内容的提问来源于stack exchange,提问作者WCY
相关产品推荐
相关产品推荐

