如何配置Zappa使其使用AWS API Gateway HTTP API替代REST API
Zappa配置AWS API Gateway HTTP API的方法
要在Zappa中使用成本更低的API Gateway HTTP API,只需在对应的环境配置块中添加apigateway_version: "2"配置项即可,该配置在你使用的0.53.0版本Zappa中完全支持。
配置修改说明
你原有的配置存在一处笔误(project_name后多余了双引号),修正并添加HTTP API配置后的完整示例如下:
prod: s3_bucket: mybucket project_name: myproject app_function: app.app aws_region: eu-west-3 domain: my.domain.com memory_size: 128 lambda_concurrency: 10 runtime: python3.8 timeout_seconds: 30 exception_handler: zappa_sentry.unhandled_exceptions keep_warm: false async_resources: false # 新增配置项,指定使用HTTP API(v2版本API Gateway) apigateway_version: "2"
注意事项
- 该配置仅支持全新部署的环境,已使用旧版REST API部署过的环境无法直接切换,需要先销毁旧资源再重新部署才能生效。
- 你之前遇到的
AttributeError: 'Template' object has no attribute 'add_description'报错是troposphere版本过高导致的,你限定troposphere<3的修复方案正确,和HTTP API的配置没有冲突。
操作步骤
- 按照上述示例修改
zappa_settings.yml配置文件 - 若已有部署过的prod环境,先执行销毁命令:
zappa undeploy prod -s zappa_settings.yml
- 重新部署环境,自动启用HTTP API:
zappa deploy prod -s zappa_settings.yml
- 后续配置变更可继续使用原有更新命令:
zappa update prod -s zappa_settings.yml
内容的提问来源于stack exchange,提问作者Vincent J
相关产品推荐
相关产品推荐

