AWS Lambda @ Edge调试

Yos*_*vid 10 amazon-web-services amazon-cloudwatch aws-lambda aws-xray aws-lambda-edge

我目前正在研究lambda @ edge函数.我在CloudWatch或其他调试选项上找不到任何日志.

使用"测试"按钮运行lambda时,日志将写入CloudWatch.

当CloudFront事件触发lambda函数时,不会写入日志.

我100%肯定事件触发器有效,因为我可以看到它的结果.

知道怎么办吗?

谢谢,
Yossi

Mad*_*aju 19

1)确保您已经为lambda提供了将日志发送到cloudwatch的权限.下面是您需要附加到您用于lambda函数的exection角色的AWSLambdaBasicExecutionRole策略.

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "logs:CreateLogGroup",
                "logs:CreateLogStream",
                "logs:PutLogEvents"
            ],
            "Resource": "*"
        }
    ]
}
Run Code Online (Sandbox Code Playgroud)

2)Lambda在最接近执行功能的位置的CloudWatch Logs区域中创建CloudWatch Logs日志流.每个日志流的名称格式为/aws/lambda/us-east-1.function-name,其中function-name是您在创建函数时为该函数指定的名称.因此,请确保您在正确的REGION中检查cloudwatch日志.

  • 另请注意,*"最接近执行函数的位置"*表示*最接近向CloudFront*发出请求的浏览器的区域.(从技术上讲,"最优化",往往是地理上最接近浏览器的区域,但不一定.) (7认同)