通过 API-Gateway 将动态路径传递给 AWS-Lambda

Posted

技术标签:

【中文标题】通过 API-Gateway 将动态路径传递给 AWS-Lambda【英文标题】:Pass dynamic path via API-Gateway to AWS-Lambda 【发布时间】:2020-10-15 13:00:43 【问题描述】:

我根据本教程在 AWS-Lambda 上运行 Flask 应用程序: https://andrewgriffithsonline.com/blog/180412-deploy-flask-api-any-serverless-cloud-platform/#create-flask-app

我现在的问题是这个设置对于定义的主路径(“/”)非常有效,但是每当我打电话时,例如“/user/7” API-Gatway 返回 403,因为它不知道路由,尽管它是在 Flask-Lambda 中定义的。

是否有可能设置 API-Gateway 以将整个请求传递到 Lambda,而不管请求的路径如何?

【问题讨论】:

【参考方案1】:

您可以使用proxy+ 路径充当 API 网关的全部功能。

通过创建proxy resource,任何与前缀匹配的东西都将自动使用该资源,如果将其添加到根资源,那么它将处理所有其他与特定 URL 模式不匹配的请求。

您还可以在路径资源名称中使用变量,例如,对于您的用户方法,路径最终会是 /user/userId。这是首选解决方案,因为它仍然特定于请求类型。

更多信息请见here。

【讨论】:

以上是关于通过 API-Gateway 将动态路径传递给 AWS-Lambda的主要内容,如果未能解决你的问题,请参考以下文章

将PHP变量传递给jQuery函数

将动态值传递给路由 URI

通过字典将参数动态传递给气流算子

作为由相对路径加载的绝对路径传递给链接器的动态库?

如何给url传递动态参数值?

Javascript:通过将路径作为字符串传递给对象来从对象中获取深层价值[重复]