这通常是由于API Gateway和Lambda使用的是不同格式的事件引起的。API Gateway使用的是Lambda代理集成,因此事件将传递为一个包含请求内容的“event”对象。为了显示请求上下文(requestContext),需要在API Gateway集成设置中启用Lambda代理集成,并确保返回响应时包括“requestContext”字段。
以下是一个示例代码来检查输出是否包含“requestContext”字段:
def handler(event, context):
print("Request Context: ", event.get("requestContext", {}))
# other code
return { "statusCode": 200, "body": "Success" }
如果API Gateway仍然无法显示“requestContext”,可能还需要检查IAM角色和API网关资源策略是否正确配置,以允许API Gateway访问Lambda函数的权限。