这个问题通常是由于Lambda没有正确处理异常而导致的。Lambda应该在发生异常时返回正确的HTTP响应代码。以下是一个示例代码,用于在Lambda函数中正确处理异常并返回正确的HTTP响应代码。
import json
def lambda_handler(event, context):
try:
# Your Lambda function code here
return {
'statusCode': 200,
'body': json.dumps('Success')
}
except Exception as e:
print(e)
return {
'statusCode': 500,
'body': json.dumps('Internal Server Error')
}
在这个示例代码中,当发生异常时,Lambda函数将捕获异常并返回一个带有500错误代码的HTTP响应。这将防止API Gateway在遇到Lambda异常时返回一个默认的500错误代码。