AWS Lambda@Edge 调试
AWS Lambda@Edge debugging
我目前正在研究 lambda@edge 函数。
我在 CloudWatch 或其他调试选项上找不到任何日志。
当 运行 lambda 使用 "Test" 按钮时,日志将写入 CloudWatch。
当 CloudFront 事件触发 lambda 函数时,不会写入日志。
我 100% 肯定事件触发器有效,因为我可以看到它的结果。
知道如何进行吗?
谢谢,
约西
1) 确保您已为 lambda 提供将日志发送到 cloudwatch 的权限。下面是 AWSLambdaBasicExecutionRole 策略,您需要将其附加到您用于 lambda 函数的执行角色。
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"logs:CreateLogGroup",
"logs:CreateLogStream",
"logs:PutLogEvents"
],
"Resource": "*"
}
]
}
2) Lambda 在 CloudWatch Logs 区域 最接近执行函数 的位置创建 CloudWatch Logs 日志流。每个日志流的名称格式为 /aws/lambda/us-east-1.function-name 其中 function-name 是您为创建它时的功能。因此,请确保您在正确的 REGION.
中检查 cloudwatch 日志
以防万一有人觉得有用。
AWS 在您的函数名称前加上前缀,这会破坏内置的 "CloudWatch at a glance" 仪表板,而且 Lambda@Edge 跨多个区域运行这一事实激发了我创建 this CloudWatch Dashboard template 的想法,它为您提供了对所有区域的类似标准监控一个仪表板。
我目前正在研究 lambda@edge 函数。 我在 CloudWatch 或其他调试选项上找不到任何日志。
当 运行 lambda 使用 "Test" 按钮时,日志将写入 CloudWatch。
当 CloudFront 事件触发 lambda 函数时,不会写入日志。
我 100% 肯定事件触发器有效,因为我可以看到它的结果。
知道如何进行吗?
谢谢,
约西
1) 确保您已为 lambda 提供将日志发送到 cloudwatch 的权限。下面是 AWSLambdaBasicExecutionRole 策略,您需要将其附加到您用于 lambda 函数的执行角色。
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"logs:CreateLogGroup",
"logs:CreateLogStream",
"logs:PutLogEvents"
],
"Resource": "*"
}
]
}
2) Lambda 在 CloudWatch Logs 区域 最接近执行函数 的位置创建 CloudWatch Logs 日志流。每个日志流的名称格式为 /aws/lambda/us-east-1.function-name 其中 function-name 是您为创建它时的功能。因此,请确保您在正确的 REGION.
中检查 cloudwatch 日志以防万一有人觉得有用。 AWS 在您的函数名称前加上前缀,这会破坏内置的 "CloudWatch at a glance" 仪表板,而且 Lambda@Edge 跨多个区域运行这一事实激发了我创建 this CloudWatch Dashboard template 的想法,它为您提供了对所有区域的类似标准监控一个仪表板。