有什么选择可以避免在AWS API网关中为Lambda函数创建更多终端节点

时间:2019-03-11 10:15:24

标签: python api aws-lambda

没有为lambda函数创建许多API网关,而是为同一lambda创建子端点,

类似{。{3}}之后的https://api_url/test_apihttps://api_url/test_api2等,

如果有其他可用的选项,例如上述我的期望或任何其他建议,请让我。

1 个答案:

答案 0 :(得分:0)

与其从控制台创建lambda函数,不如使用无服务器框架。一种这样的框架是用于Python Lambda函数的Chalice。另外,您可以使用支持Javascript的Serverless

圣杯是一个微框架,用于用python编写无服务器应用程序。它使您可以快速创建和部署使用AWS Lambda的应用程序。

Chalice可以使用一个API网关入口点,该入口点可以扇入多个lambda函数,或者您可以创建类似于示例的多个api网关路由,这些路由可以使用不同的参数或不同的函数调用相同的python函数。

Chalice之类的框架的妙处在于,整个部署,支持库,cloudformation流程等都是用代码完成的,并保存到git repo中。

以下是有关使用圣杯herehere的两个中篇文章。

here找到的文档描述了如何使用Chalice。

pip install chalice
$ chalice new-project helloworld && cd helloworld
$ cat app.py

from chalice import Chalice

app = Chalice(app_name="helloworld")

@app.route("/")
def index():
    return {"hello": "world"}

$ chalice deploy
...
https://endpoint/dev

$ curl https://endpoint/api
{"hello": "world"}

启动并运行后,您可以按照here中的文档中的示例添加其他路由。

如果您需要更多阅读内容,请查看详细的post

除了Chalice之外,我建议您使用CodeStar创建您的项目。从许多模板中选择,例如Python Webservice。 CodeStar将创建一个git存储库,构建管道和您可以编辑的部署脚本。这将使您能够创建可重用的代码,这些代码易于在开发,测试和生产等环境之间进行部署和转移。