如何为 AWS Lambda Python API 生成 Swagger 文档?

11

我有一个基于AWS-lambda的API,使用Python编写。数据存储在Elastic Search中。Python代码基本上是用户和ES之间的接口。

我需要添加Swagger文档。

我可以手动创建swagger.json文件,但我希望有一些自动化的过程,以便跟上未来的变化。

是否有任何库可以帮助我自动生成Swagger文档?

我进行了搜寻,并找到了多个适用于Flask的库,但我并没有使用Flask。


您可以创建API端点并部署。部署API端点后,您将获得下载Swagger文件的选项。 - Avinash Dalvi
我在哪里/怎样才能得到那个选项? - eternal_student
2个回答

5

从AWS API网关获取swagger详细信息的步骤:

  1. 前往API网关
  2. 点击阶段
  3. 选择需要获取的阶段
  4. 选择“Export”选项卡
  5. 选择所需选项,如导出为Swagger

Swagger export images


谢谢。问题在于我正在本地进行开发。我有一个本地的SAM环境,可以为我模拟API网关。 - eternal_student
好的。如果这篇文章对您有帮助,请不要忘记点赞并接受为答案。 - Avinash Dalvi
可以在本地完成吗? - eternal_student

4
在API Gateway中,您可以创建REST API或HTTP API,有关差异请参见此处
@aviboy2006的答案适用于较旧的标准REST API。
如果您正在使用较新的HTTP API,则只能以OpenAPI 3.0格式导出(Swagger将导入此格式,除非您使用的是旧版本),并且必须使用AWS CLI导出。
aws apigatewayv2 export-api \
    --api-id api-id  \
    --output-type YAML  \
    --specification OAS30 \
    --stage-name prod \
    stage-definition.yaml

输出类型可以选择 JSONYAML 之间。
来源:https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-export.html

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接