据我了解,使用Lambda代理集成时,必须返回statusCode
和body
才能将任何有意义的错误信息返回给HTTP客户端。
我的python代码如下:
import json
import traceback
def lambda_handler(event, context):
try:
result = business_logic()
return {
'statusCode': 200,
'body': json.dumps(result)
}
except Exception as e:
error = {
"type": e.__class__.__name__,
"message": str(e),
"traceback": traceback.format_exc()
}
return {
'statusCode': 502,
'body': json.dumps(error)
}
我的问题是,我想使用Lambda和Cloudwatch的便捷监视界面(例如能够触发lambda错误),但是由于此代码中的lambda正在处理所有错误并返回值,因此我认为lambda将错误率为0%。
有没有一种替代方法仍然使用代理集成并传递错误信息?
答案 0 :(得分:0)
我认为,如果您要检查指标,那么检查API Gateway的cloudwatch比检查Lambda更好。
除非您真的真的希望Lambda的cloudwatch监视错误者,否则您可能需要通过非代理集成