【问题标题】:How to add targets to event rule in AWS CDK java?如何在 AWS CDK java 中向事件规则添加目标?
【发布时间】: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 对象。

【问题讨论】:

    标签: java aws-cdk


    【解决方案1】:

    实际上,在我添加了 events-targets 的依赖项后,我能够弄清楚

    cloudwatchRule.addTarget(new LambdaFunction(lambdaFunction, LambdaFunctionProps.builder()
                .event(RuleTargetInput.fromText("{\"installmentStatus\" : \"SCHEDULED\" }"))
                .build()));
    

    【讨论】:

      猜你喜欢
      • 2023-01-19
      • 2021-05-13
      • 2021-12-02
      • 2022-01-22
      • 2020-03-30
      • 2020-11-24
      • 2020-10-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多