for*_*aka 11 amazon-web-services amazon-cloudfront aws-lambda aws-lambda-edge
正如文档中所解释的,我为Lambfront触发器设置了Lambda @ edge Viewer Response.
lambda函数代码:
'use strict';
exports.handler = (event, context, callback) => {
console.log('----EXECUTED------');
const response = event.Records[0].cf.response;
console.log(event.Records[0].cf_response);
callback(null, response);
};
Run Code Online (Sandbox Code Playgroud)
我已经为Viewer Response事件设置了适当的触发器.
现在,当我通过cloudfront发出请求时,必须将其记录在cloudwatch中,但事实并非如此.
如果我做一个简单的Test Lambda Function(使用Button),它会被正确记录.
这可能是什么问题?
Kan*_*yan 35
当你部署拉姆达@边功能,它被部署到各地区在世界各地与LAMBDA边缘功能的它们的版本副本.
当用户请求最近的pop/edge时,将调用与最近区域相关联的lambda.与这些区域关联的Lambda的所有日志都将在其区域云监视日志中.
对于Eg,
如果用户正在击中us-east-1区域,则其关联日志将为us-east-1.
要准确了解您的函数记录的位置(在哪个区域),您可以运行此AWS CLI脚本:
FUNCTION_NAME=function_name_without_qualifiers
for region in $(aws --output text ec2 describe-regions | cut -f 3)
do
for loggroup in $(aws --output text logs describe-log-groups --log-group-name "/aws/lambda/us-east-1.$FUNCTION_NAME" --region $region --query 'logGroups[].logGroupName')
do
echo $region $loggroup
done
done
Run Code Online (Sandbox Code Playgroud)
您必须使用lambda @ edge的名称替换"function_name_without_qualifiers".链接
希望能帮助到你.
Yev*_*nyk 15
对于那些也搜索过日志但无法使用@Kannaiyan 提供的脚本找到它们的人。
TL; 博士
将此 IAM 角色用于您的 Lambda 函数
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "logs:CreateLogGroup",
"Resource": "arn:aws:logs:*:*:*"
},
{
"Effect": "Allow",
"Action": [
"logs:CreateLogStream",
"logs:PutLogEvents"
],
"Resource": [
"arn:aws:logs:*:*:log-group:*:*"
]
}
]
}
Run Code Online (Sandbox Code Playgroud)
====
确保您拥有正确的 IAM 角色。如果您先创建了 Lambda,然后将其部署到 Lambda@Edge,则自动生成的 IAM 角色将仅具有将单个区域中的数据记录到以 Lambda 函数命名的日志组中的权限,而使用 Lambda@Edge 意味着它将尝试将不同区域的数据记录到“/aws/lambda/”中。日志组。因此,有必要更改 IAM 角色以允许在不同区域中创建日志组和写入访问权限。在 TL;DR 部分,我提供了示例 IAM 角色,但请确保缩小对生产中特定日志组列表的访问范围
Lambda@Edge 日志以及请求执行的区域可以在 AWS CloudFront 控制台中找到,尽管路径很复杂,而且 AWS 在记录步骤方面做得非常糟糕。
以下是截至本文发布时有效的步骤:
然后,您可以使用“调用”图来确定在哪个区域执行了 Lambda 函数的特定调用。获得区域后,您终于可以使用“查看函数日志”下拉菜单来查看特定区域的 Lambda 函数日志。
我通过在控制台中研究了很长时间才发现了这一点。此日志记录的“文档”位于此处,但似乎没有解释如何实际查找特定区域的 Lambda@Edge 日志。
如果有人碰巧找到了有关此内容的正确文档,请更新该帖子。
| 归档时间: |
|
| 查看次数: |
3445 次 |
| 最近记录: |