使用无服务器框架将 CloudWatch 计时器设置为资源

Set CloudWatch timers as a resource using the Serverless Framework

我正在使用无服务器框架 v1.9

我有许多需要最小延迟的 Lambda 函数。当前的最佳实践似乎是设置 CloudWatch 计时器来 ping 函数,以便它们保持温暖,正如您可以在这篇博客中看到的那样 post:How to Keep Your Lambda Functions Warm.

目前,我在部署新功能后手动设置这些计时器,但理想情况下,我想将 cloudwatch 计时器设置为随每个功能自动部署的资源。

这可能吗?这会成为可能吗?

据我了解您的问题,您希望自动部署新的 CloudWatch 资源以避免手动设置资源的麻烦,并且以免有时忘记配置它们。

在这种情况下,当前框架没有为此提供自动解决方案,您需要通过 CloudFormation 堆栈进行手动配置.您需要添加一个插件来简化此任务,我相信还没有人为此创建一个插件。

但是,您可以使用 Lambda 计划来触发所有其他函数,而不是使用 CloudWatch 让您的函数保持温暖。这个设置挺好的,已经有一个plugin for that. You can read detailed instructions in this blog post.

总结:

安装插件

npm install serverless-plugin-warmup --save-dev

引用 serverless.yml 文件中的插件

plugins:
  - serverless-plugin-warmup

所有要保温的功能都加warmup: true

functions:
  hello:
    warmup: true