我希望我的应用程序调用lambda函数。 lambda函数应该创建一个lambda函数的实例,使实例成为一个cron作业,每小时运行N次(N = 1000),并将事件键传递给lambda函数。
执行大部分工作的lambda函数的伪代码是:
上述逻辑是否可以在lambda函数中使用?如果上述情况不可能,那么备用逻辑应该是什么?
答案 0 :(得分:0)
您可能已经解决了,但是这就是我要做的 在主Lambda中,我只调用另一个Lambda函数lamda.invoke(参数:functionname ..,其他值)。 这将启动新的lambda。
答案 1 :(得分:0)
AWS-CDK允许您从代码创建lambda。 Docs
import lambda = require('@aws-cdk/aws-lambda');
const lambdaFn = new lambda.Function(this, 'MyFunction', {
runtime: lambda.Runtime.NODEJS_8_10,
handler: 'index.handler',
code: lambda.Code.fromInline('exports.handler = function(event, ctx, cb) { return cb(null, "hi"); }'),
});
您几乎可以在其中放置任何代码。
接下来需要做的是定义事件源。对于您的用例,我将使用aws-events。
这是一个示例:
import events = require('@aws-cdk/aws-events');
import targets = require('@aws-cdk/aws-events-targets');
const rule = new events.Rule(this, 'Rule', {
schedule: events.Schedule.expression('cron(0 * * * *)')
});
rule.addTarget(new targets.LambdaFunction(lambdaFn));
Here,您可以找到用TypeScript编写的示例