我正在尝试从Cloudwatch事件调用多个lambda,我不确定如何使用serverless.yml添加其他目标lambda。 下面的代码仅添加一个目标,但我想要多个目标,从控制台,我可以在触发了不同Lambda的位置添加多个目标
error[E0597]: `fib_p` does not live long enough
--> src/main.rs:12:15
|
8 | fib = Box::new(|n: u64| {
| -------- capture occurs here
...
12 | (&fib_p.borrow())(n - 2) + (&fib_p.borrow())(n - 1)
| ^^^^^ borrowed value does not live long enough
...
19 | }
| - borrowed value dropped before borrower
|
= note: values in a scope are dropped in the opposite order they are created
答案 0 :(得分:2)
修改:
我现在知道您的目标是创建一个lambda加热系统。
您可以为此使用非常好的serverless-plugin-warmup。它确实以您尝试的方式实现了您要实现的目标。
serverless.yml中函数声明中的events属性是一个列表。您可以添加一些事件来触发您的lambda:
functions:
yourFunction:
handler: yourFunction.handler
events:
- schedule:
name: lambda-warmer-scheduler
description: 'scheduler to warmup lambdas '
rate: rate(2 minutes)
- schedule:
name: lambda-warmer-scheduler-2
description: 'scheduler to warmup lambdas '
rate: rate(5 minutes)
- schedule:
name: lambda-warmer-scheduler-3
description: 'scheduler to warmup lambdas '
rate: rate(5 hours)
events属性中的每个项目都会创建一个事件(在此示例中,仅是计划,但您可以混合使用不同的事件源,例如计划,http,流...)。