amazon-web-services - AWS Lambda 函数和 AWS API Gateway(自定义域名)路径冗余/冲突
问题描述
我正在尝试删除在我的无服务器配置和 aws api 网关映射中使用的冗余路径。
问题:登录无服务器 yaml
serverless.yml
frameworkversion: '>1.8'
service: ${stage}-login
provider:
name: aws
runtime: nodejs10.x
timeout: 12
functions:
login:
name: login
handler: login.handler
events:
- http:
path: login
cors: true
integration: lambda
request:
passThrough: WHEN_NO_MATCH
template:
application/json:
<response omitted>
plugins:
- serverless-offline
API 映射到我的自定义域
- API - 登录开发
- 阶段 - 开发
- 路径(可选) - 登录
目标:Lambda 函数:
- 登录 - {base url}/dev/login
- 注册 - {base url}/dev/register
发生了什么:
- 登录 {base url}/dev/login/login
- 注册 - {base url}/dev/register/register
所采取的行动:
- 尝试删除路径(可选),但如果省略路径,它将不允许我添加另一个 lambda 函数。
- 尝试代理(不确定这是否按我理解的方式工作)但它不允许,因为错误表明 {login} 用于我的 lambda 函数参数之一。
- 删除了无服务器 yaml 配置文件中的路径并将其替换为空白或 / - 但对我来说不是一个选项,因为我需要保留现有配置。
很感谢任何形式的帮助。
解决方案
你有没有试过这个:
functions:
login:
name: login
handler: login.handler
events:
- http:
path: /login
......
通过在路径的开头添加“/”。
推荐阅读
- c# - Windows 10 上下文菜单中的正确滑块
- javascript - 如何使用 React 显示以 JSON 格式接收的 HTML
- python - 将轴格式更改为整数
- sql-server - dbexpress 和 SQL Server
- svg - 如何强制缩放路径以适合 svg 标签?
- java - F3 在 Eclipse 中不适用于 Scala-Java 混合 JAR
- c# - 使用 DotSpatial 直接读取压缩的 shapefile
- javascript - $(document).ready 导航到新页面时不会触发
- mysql - sql引擎如何处理不相等的连接查询?
- c - 崩溃后无法通过套接字重新连接到服务器?