“functions.app.events[0]”处的无服务器配置警告:不支持的函数事件
Posted
技术标签:
【中文标题】“functions.app.events[0]”处的无服务器配置警告:不支持的函数事件【英文标题】:Serverless Configuration warning at 'functions.app.events[0]': unsupported function event 【发布时间】:2021-01-12 10:07:06 【问题描述】:我正在尝试使用 serverless.com 部署 AWS API
当我这样做时:
sls --stage=dev --aws-profile=myprofile deploy --force
我收到以下警告:
Configuration warning at 'functions.app.events[0]': unsupported function event
我的 serverless.yml 包含以下部分:
functions:
app:
handler: src/index.handler
memorySize: 3008
events:
- httpApi:
method: '*'
path: '*'
authorizer:
name: serviceAuthorizer
scopes: # Optional
- user.id
- user.email
事件部分有什么问题?
【问题讨论】:
为什么路径是“*”?你是说'/'吗? 我希望所有路径都由这个函数处理。无论如何,如果我使用 path: '/' 我仍然会收到警告 由于您试图捕获所有方法和任何路径,请尝试events: - httpApi: '*'
,如此处所述 - serverless.com/framework/docs/providers/aws/events/http-api/…
删除了方法和路径并添加了通配符。有了这个我得到:'functions.app.events [0]'的配置警告:无法识别的属性'authorizer'
Authorizer 配置可能不支持全部捕获和任何场景?不过我不确定,文档中的任何地方都没有这样说。
【参考方案1】:
我遇到了类似的问题。问题在于缩进。尝试像这样修复它:
- httpApi:
method: '*'
path: '*'
【讨论】:
【参考方案2】:问题确实是缩进。这方面的缩进很奇怪,所以我将在下面解释。每个·
都是一个空格:
functions:
··hello:
····handler: handler.hello
····events:
······- http:
··········path: /hello
··········method: get
一些提示:
- http:
连字符后有一个空格。
下一行的缩进很奇怪 - 这就是导致问题的原因。在定义我们的事件类型(在我的例子中是 http)之后,不仅仅是两个缩进空格,实际上有 4 个。我不知道为什么,但这就是它所要求的。
另一个提示:如果您发现您的文本编辑器正在自动格式化您的 YAML 文件并将空格缩进替换为制表符或其他内容,请使用以下设置将 .editorconfig
文件添加到根目录:
[*.yml]
indent_size = 2
indent_style = spaces
【讨论】:
你拯救了我的一天...现在让某人告诉我寻找丢失的;
比寻找丢失的两个空格更大的问题...我今天几乎拔掉了一半的头发。
老兄。你让我今天很开心。它只需要以下 4 个空格 - http:非常感谢
我的英雄,认真的。以上是关于“functions.app.events[0]”处的无服务器配置警告:不支持的函数事件的主要内容,如果未能解决你的问题,请参考以下文章