我是 AWS 的新手,我刚刚成功设置了一个带有 RDS 连接的 Lambda 函数。现在我想通过 API 网关从外部访问我的新函数并传递一些参数,例如:"color": "red"
https://my-api-id.execute-api.region-id.amazonaws.com/flowers ?color=red
我已经按照 developer guide 设置了所有内容但不幸的是,我无法访问我的 Python Lambda 函数中的 GET 参数。
到目前为止我在我的 AWS API 网关中做了什么:
- 创建资源“/flowers”和 GET 方法
- GET -> 方法请求 -> URL 查询字符串参数 -> 添加“颜色”
- GET -> 集成请求 -> 类型:Lambda 函数
- GET -> 集成请求 -> URL 查询字符串参数 -> 添加了
name: color
,mapped: method.request.querystring.color
我试图访问 lambda 处理程序中的 color
参数,但事件始终为空,否则我不知道参数应该在哪里
def handler(event, context):
return event // {}
我认为我无法使用正文映射模板,除非我没有使用 GET 的请求正文。
有人知道我需要在 Python Lambda 函数中做什么才能访问我的 color
参数吗?
最佳答案
使用 Lambda 代理 作为您的集成请求类型。
在你的处理程序中,
def handler(event, context):
return {
'statusCode': 200,
'body': json.dumps(event),
}
您的查询参数应该可以作为 event['queryStringParameters']
访问。
引用:Set up a Proxy Resource with the Lambda Proxy Integration
关于python - 在 AWS Lambda 中访问 GET 参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46468861/