我正在研究Lambda FAAS,并且尝试通过将数据写入恰好是CloudTrail日志流的“日志”进行调试。
在nodejs中,我可以将以下内容简单地放入Lambda FAAS中,并在CloudTrail日志流中看到该特定调用的内容:
log(“这将被写入cloudtrail日志流中”)
我如何在Lambda中的Python 3中执行以下操作?任何帮助将不胜感激。
答案 0 :(得分:1)
import logging
在代码中添加:
logging.debug('This is a debug message')
logging.info('This is an info message')
logging.warning('This is a warning message')
logging.error('This is an error message')
logging.critical('This is a critical message')
答案 1 :(得分:1)
您可以使用日志记录模块,也可以只使用打印语句。 AWS文档通过示例详细解释了它
https://docs.aws.amazon.com/lambda/latest/dg/python-logging.html
from __future__ import print_function
def lambda_handler(event, context):
print('this will also show up in cloud watch')
返回'Hello World!'
答案 2 :(得分:0)
只要在lambda函数中配置的角色有权写入云监视日志,AWS就会自动拾取发送到日志或发送到std的所有消息(打印语句)并将其推送到cloudWach。 Lambda承担此角色,并使用权限策略来访问CloudWatch Logs以写入日志。
您将需要一个附加到以下角色的策略,或者可以附加一个名为“ AWSLambdaBasicExecutionRole”的AWS策略:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "logs:CreateLogGroup", "logs:CreateLogStream", "logs:PutLogEvents", "logs:DescribeLogStreams" ], "Resource": [ "arn:aws:logs:*:*:*" ] } ] }
没有正确的权限,您将在CloudWatch中看到错误“加载日志流时出错。请刷新此页面,然后重试。”
此视频将演示权限问题,并查看云监视中的日志。 https://studio.youtube.com/video/0VPTlPSfFiE/edit
参考: https://geektopia.tech/post.php?blogpost=Write_To_CloudWatch_Logs_From_Lambda https://docs.aws.amazon.com/lambda/latest/dg/monitoring-functions.html