超出 AWSLogs 资源限制 - 无服务器“cloudwatchLog”事件
Posted
技术标签:
【中文标题】超出 AWSLogs 资源限制 - 无服务器“cloudwatchLog”事件【英文标题】:AWSLogs Resource Limit Exceeded - serverless `cloudwatchLog` event 【发布时间】:2019-01-29 05:42:45 【问题描述】:我正在尝试将 cloudwatchLog 事件添加到我的 lambda 函数中,但遇到了意外错误。错误消息不是很具有描述性。有谁知道怎么回事?
配置:
functions:
helloWorld:
handler: dist/handlers/index.helloWorld
events:
- cloudwatchLog:
logGroup: '/aws/lambda/serverless-test-package-4-dev-supWorld'
错误信息:
Serverless Error ---------------------------------------
An error occurred: HelloWorldLogsSubscriptionFilterCloudWatchLog1 -
Resource limit exceeded. (Service: AWSLogs; Status Code: 400; Error
Code: LimitExceededException; Request ID: e30b438c-a654-11e8-837a-7f86cfddec76).
Get Support --------------------------------------------
Docs: docs.serverless.com
Bugs: github.com/serverless/serverless/issues
Forums: forum.serverless.com
Chat: gitter.im/serverless/serverless
Your Environment Information -----------------------------
OS: linux
Node Version: 8.11.3
Serverless Version: 1.26.1
【问题讨论】:
你看到了吗:docs.aws.amazon.com/AmazonCloudWatch/latest/logs/…?表中的第二行 CreateLogGroup 似乎与您的错误一致。 @ninge 实际上是Subscription Filter
约束,该表的最后一行导致了错误。感谢您链接文档。
【参考方案1】:
问题是已经有一个 lambda 订阅了 CloudWatchLog 事件。 AWS 将每个 CloudWatch 日志组限制为最多一个订阅,由 the last row of this documentation 指定。
【讨论】:
我确认。我认为您可以将答案标记为已验证:)【参考方案2】:要解决此问题,您必须从日志组中删除已附加的订阅。只需从 lambda 中删除 cloudwatchLog
事件并进行部署,即可从日志组中删除订阅。然后,您可以为所需的日志组添加 cloudwatchLog
事件并再次部署它。
【讨论】:
以上是关于超出 AWSLogs 资源限制 - 无服务器“cloudwatchLog”事件的主要内容,如果未能解决你的问题,请参考以下文章
Ubuntu 16.04上的awslogs服务和CloudWatch Logs Agent问题
“system-cloudinit@-var-tmp-hostname.yml.service 的作业失败,因为超出了配置的资源限制”