2

我目前正在研究lambda @ edge函數。 我在CloudWatch或其他調試選項上找不到任何日誌。AWS Lambda @ Edge調試

使用「測試」按鈕運行lambda時,日誌將寫入CloudWatch。

當CloudFront事件觸發lambda函數時,日誌不會寫入。

我100%肯定事件觸發器正常工作,因爲我可以看到它的結果。

任何想法如何進行?提前

感謝,
貝納

回答

8

1)確保您所提供的許可拉姆達將日誌發送到CloudWatch的。以下是您需要附加到您用於lambda函數的exection角色的策略。

{ 
    "Version": "2012-10-17", 
    "Statement": [ 
     { 
      "Effect": "Allow", 
      "Action": [ 
       "logs:CreateLogGroup", 
       "logs:CreateLogStream", 
       "logs:PutLogEvents" 
      ], 
      "Resource": "*" 
     } 
    ] 
} 

2)LAMBDA會在CloudWatch的日誌區域最接近到其中執行所述功能位置CloudWatch的日誌的日誌流。每個日誌流的名稱格式爲/aws/lambda/us-east-1.function-name其中函數名稱是您在創建函數時給出的名稱。因此,請確保您正在檢查正確的REGION中的CloudWatch日誌。

+3

還請注意*「距離執行該函數的位置最近」*表示*最接近向CloudFront *發出請求的瀏覽器的區域。 (從技術上講,「最優化」,這往往是地理上最接近瀏覽器的地區,但不一定。) –

+1

謝謝!它保留在「最靠近位置的區域」CloudWatch日誌中。感謝您的快速和有益的答案:) –