AWS Lambda python 函数在输出中给出 json headers
AWS Lambda python function giving json headers in the output
我正在尝试调用 lambda 服务。当我点击 Get 方法(在 Api 网关->阶段->GET 下)调用 Url 时,我还看到了 json headers 和状态代码。但是在 acloud guru 讲座视频中,我只看到 body。谁能告诉我我在这里遗漏了什么。
这是我的 python 函数:
def lambda_handler(event, context):
print("In lambda handler")
resp = {
"statusCode": 200,
"headers": {
"Access-Control-Allow-Origin": "*",
},
"body": "myName"
}
return resp
实际输出:
{"statusCode": 200, "headers": {"Access-Control-Allow-Origin": "*"}, "body": "myName"}
预期输出:
myName
此处您使用了 lambda 代理集成,但未在 API 网关级别启用它。
有两种类型的 API 网关和 Lambda 集成
- 代理集成 - 对 API 网关的请求直接转发到 lambda,响应从 lambda 发送。我们必须在这个集成
的 lambda 内部创建具有适当状态代码和 headers 的响应 body
- Lambda 集成 - 可以在发送到 lambda 之前修改请求,并且可以使用映射模板从 API 网关级别的 lambda 响应修改响应
此博客 post 提供了有关 2 个集成的更多详细信息
https://medium.com/@lakshmanLD/lambda-proxy-vs-lambda-integration-in-aws-api-gateway-3a9397af0e6d
我正在尝试调用 lambda 服务。当我点击 Get 方法(在 Api 网关->阶段->GET 下)调用 Url 时,我还看到了 json headers 和状态代码。但是在 acloud guru 讲座视频中,我只看到 body。谁能告诉我我在这里遗漏了什么。
这是我的 python 函数:
def lambda_handler(event, context):
print("In lambda handler")
resp = {
"statusCode": 200,
"headers": {
"Access-Control-Allow-Origin": "*",
},
"body": "myName"
}
return resp
实际输出:
{"statusCode": 200, "headers": {"Access-Control-Allow-Origin": "*"}, "body": "myName"}
预期输出:
myName
此处您使用了 lambda 代理集成,但未在 API 网关级别启用它。
有两种类型的 API 网关和 Lambda 集成
- 代理集成 - 对 API 网关的请求直接转发到 lambda,响应从 lambda 发送。我们必须在这个集成 的 lambda 内部创建具有适当状态代码和 headers 的响应 body
- Lambda 集成 - 可以在发送到 lambda 之前修改请求,并且可以使用映射模板从 API 网关级别的 lambda 响应修改响应
此博客 post 提供了有关 2 个集成的更多详细信息 https://medium.com/@lakshmanLD/lambda-proxy-vs-lambda-integration-in-aws-api-gateway-3a9397af0e6d