【发布时间】:2019-11-07 19:22:20
【问题描述】:
我使用 aws-wsgi 将 Flask 应用程序部署到 AWS Lambda。我在 AWS API Gateway 中创建了几个资源,并将它们的方法映射到我的 lambda。我现在可以 POST/GET 到这些资源并得到“响应”(见下文)。我了解此响应在某些 WSGI 标准中,但我想将其翻译为“只是一个响应”。现在我的端点返回 JSON,但我想灵活地支持我的 Flask 应用程序可能返回的其他内容类型。如何在 API 网关的响应中配置映射以适当地重新格式化响应?我有默认的“集成响应”(输出直通:是),但我不知道在“方法响应”中做什么。
这是我得到的回复:
{
"isBase64Encoded": false,
"statusCode": "200",
"headers": {
"Content-Type": "application/json",
"Content-Length": "47"
},
"body": "{\n \"key1\": 1, \n \"key2\": 3, \n \"key3\": 2\n}\n"
}
我正在使用 Flask 和 aws-wsgi (https://pypi.org/project/aws-wsgi/),没有什么特别的原因,我看到还有其他类似的项目(例如 https://github.com/adamchainz/apig-wsgi),我愿意尝试替代方案。
【问题讨论】:
标签: python amazon-web-services flask aws-api-gateway wsgi