![](/img/trans.png)
[英]How can I log lambda request id into AWS CloudWatch Api gateway log group with JSON format?
[英]How can I get log content in AWS Lambda from Cloudwatch
我有這個基本的lambda將圖像發布到Web服務器。 從CloudWatch中的事件,我可以成功記錄該lambda函數中發生的任何事情:
從這個日志組(lambda函數)我點擊Stream to AWS Lambda
,選擇了一個新的lambda函數,我期望在其中接收我的日志,並且根本沒有放置任何過濾器,所以我可以得到所有日志。
Lambda被正確觸發,但問題是當我堅持我在event
和context
對象中收到的內容時,我擁有所有CloudWatch日志流信息但我沒有看到任何日志。
我得到了什么:
我是否需要為我指定過濾器以查看任何日志? 因為在過濾器部分,如果我沒有放置任何過濾器並單擊測試過濾器,我會在預覽窗口中獲取所有日志,這似乎意味着它應該將整個日志發送到我的Lambda函數。 此外,它在我看來AWSLogs中的不可讀流以及它在Base64中的日志,但沒有得到任何試圖轉換它的結果。
是的,如jarmod所述,日志是gzip壓縮和base64編碼的。
NodeJs中用於在lambda中提取相同代碼的示例代碼將是:
var zlib = require('zlib');
exports.handler = (input, context, callback) => {
var payload = new Buffer(input.awslogs.data, 'base64');
zlib.gunzip(payload, function(e, result) {
if (e) {
context.fail(e);
} else {
result = JSON.parse(result.toString());
console.log(result);
}
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.