我已将查看器请求和原始响应Lambda函数部署到CloudFront发行版,这些函数正在触发,但未登录到CloudWatch。我花了很多时间研究这个主题,并浏览了其他帖子中的所有建议,包括:
有趣的是,当我有意地将错误编码到Lambda函数之一中时,我确实在名为/aws/cloudfront/LambdaEdge/<cloudfront distribution id>
的组中创建了包含错误日志的日志,但是这里的console.log语句没有输出。
我一生都无法解决如何使用console.log()将包含调试语句的所有请求(成功和失败)记录到CloudWatch的问题。
AWSServiceRoleForCloudFrontLogger包含单个策略AWSCloudFrontLogger
:
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"logs:CreateLogGroup",
"logs:CreateLogStream",
"logs:PutLogEvents"
],
"Resource": "arn:aws:logs:*:*:/aws/cloudfront/*"
}
]
}
答案 0 :(得分:1)
问题很可能是Lambda没有将日志输出到CloudWatch的权限。
您可以再次检查Lambda函数执行角色权限吗?
相关链接:Can't get AWS Lambda function to log (text output) to CloudWatch
说明
所以这里有两种日志,因此您必须在两个不同的地方提供对CloudWatch的权限。