gpt4 book ai didi

amazon-web-services - Lambda@Edge 未登录云前端请求

转载 作者:行者123 更新时间:2023-12-04 01:21:21 24 4
gpt4 key购买 nike

Docs 中所述,我为 Viewer Response 的云前端触发器设置了 Lambda@edge .

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);
};

我已经为 Viewer Response 适本地设置了触发器事件。

现在,当我通过 cloudfront 发出请求时,它必须登录到 cloudwatch,但它没有。
如果我做一个简单的 Test Lambda Function (使用按钮),它被正确记录。

这里可能有什么问题?

最佳答案

当您部署 Lambda@Edge 函数时,它被部署到 所有边缘缓存区域 世界各地的 Lambda Edge 函数的副本。 Regional edge caches是主要 AWS 区域和边缘站点的子集。
当用户请求最近的 pop/edge 时,与边缘缓存区域关联的 lambda 会被调用。与这些区域关联的所有 Lambda 日志都将在它们的 中。边缘缓存区域 CloudWatch 日志。
例如:
如果用户点击 us-east-1 region 那么它的相关日志将在 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
您必须将“function_name_without_qualifiers”替换为 lambda@edge 的名称。 Link
希望能帮助到你。

关于amazon-web-services - Lambda@Edge 未登录云前端请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46503108/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com