【发布时间】:2020-02-14 20:56:03
【问题描述】:
我已从 cdk 的初始版本迁移到最新版本。由于发生了很多变化,我不得不更改很多代码。我有一个事件规则,它在特定的时间表上触发 lambda。在旧版本中,我可以使用 json 输入模板将 lambda 添加为目标。
您如何使用最新版本来做到这一点。我正在用 Java 开发
Function lambdaFunction = new Function(this, functionName + "lambda", FunctionProps.builder()
.handler(functionName + ".handler")
.functionName(functionName + "-" + parameter.getValueAsString())
.runtime(Runtime.NODEJS_8_10)
.code(Code.bucket(lambdaS3Bucket, collectPaymentsS3BucketKey.getValueAsString()))
.role(lambdaExecutionRole)
.timeout(Duration.seconds(60))
.environment(environmentMap)
.build());
Rule cloudwatchRule = new Rule(this, "id", RuleProps.builder()
.description("this triggers to collect installment payments scheduled everyday")
.ruleName("smartpay-schedule-payments" + "-" + parameter.getValueAsString())
.schedule(Schedule.expression("0/5 * * * ? *"))
.build());
我正在尝试这个
cloudwatchRule.addTarget(lambdaFunction);
但它不起作用。如何在 aws cdk java 中创建 IRuleTarget 对象。
【问题讨论】: