AWS API Gateway按标头信息调用Lambda版本

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了AWS API Gateway按标头信息调用Lambda版本相关的知识,希望对你有一定的参考价值。

我已经阅读了许多用于将AWS API Gateway与Lambda函数集成的API版本提示。但是大多数人都使用URL来提供版本号,例如/v1/orders

但我不想使用这种模式。相反,我想评估标题信息以检索所请求的版本。

我想做的是以下内容:

  • 配置API网关(通过CloudFormation)以便仅定义/orders
  • 使用请求映射来读取标题'版本'
  • 调用lambda函数,例如getOrders:v1如果'version'标题设置为'v1'

AWS Api Gateway可以实现吗?或者是否有类似的方法不使用URL来区分版本?

我通过使用阶段变量看到了一个解决方案:https://dzone.com/articles/api-versioning-approach-with-aws-api-gateway

关于这种方法:标题是否有相当于${stageVariables.v1fn}?例如。 ${request.headers.version}

答案

一种可能的解决方案是使用lambda将请求分派给相关的lambda,不幸的是,API Gateway每个端点只支持一个lambda和方法

以上是关于AWS API Gateway按标头信息调用Lambda版本的主要内容,如果未能解决你的问题,请参考以下文章

AWS API Gateway 429 响应 - 没有 CORS 标头

AWS API Gateway 不存在“Access-Control-Allow-Origin”标头

无服务器框架 AWS REST API Gateway - 403 CORS 错误

AWS API Gateway:如果响应未授权,则添加标头

AWS API Gateway 集成响应

使用 HTTP 代理访问 AWS API Gateway 中的标头?