I am new to aws and trying to figure out a problem. I have to create a lambda which should get triggered every 5th and (5+1)th minute.
I m using event bridge and have create two rules. First one works fine but second rule doesn't. Please find some sample code below. Any suggestions would be helpful.
Rule.Builder.create(stack.getStack(), id + "QueueEventsRuleN")
.ruleName("my-rule-n-" + stack.getParameter(EParameter.APP_NAME).getValueAsString()
+ "-" + stack.getParameter(EParameter.TARGET_ENVIRONMENT).getValueAsString() + "-cdk" + stack.getDeploymentSuffix())
.description("schedule events to trigger Lambda every "+n+" minutes")
.schedule(Schedule.expression("rate("+n+" minutes)"))
.targets(singletonList(LambdaFunction.Builder.create(function).build()))
.build();
int scheduleTime = n+1;
Rule.Builder.create(stack.getStack(), id + "QueueEventsRuleNPlusOne")
.ruleName("my-rule-n-plus-one" + stack.getParameter(EParameter.APP_NAME).getValueAsString()
+ "-" + stack.getParameter(EParameter.TARGET_ENVIRONMENT).getValueAsString() + "-cdk" + stack.getDeploymentSuffix())
.description("schedule events to trigger Lambda every "+scheduleTime+" minutes")
.schedule(Schedule.expression("rate("+scheduleTime+" minutes)"))
.targets(singletonList(LambdaFunction.Builder.create(function).build()))
.build();