CDK Constructs for deploying AWS Events Rule that invokes AWS Step Functions
Project description
aws-eventbridge-stepfunctions module
---Reference Documentation: | https://docs.aws.amazon.com/solutions/latest/constructs/ |
---|
Language | Package |
---|---|
aws_solutions_constructs.aws_eventbridge_stepfunctions |
|
@aws-solutions-constructs/aws-eventbridge-stepfunctions |
|
software.amazon.awsconstructs.services.eventbridgestepfunctions |
Overview
This AWS Solutions Construct implements an AWS Events rule and an AWS Step Functions State Machine
Here is a minimal deployable pattern definition:
Typescript
import { Construct } from 'constructs';
import { Stack, StackProps, Duration } from 'aws-cdk-lib';
import { EventbridgeToStepfunctions, EventbridgeToStepfunctionsProps } from '@aws-solutions-constructs/aws-eventbridge-stepfunctions';
import * as stepfunctions from 'aws-cdk-lib/aws-stepfunctions';
import * as events from 'aws-cdk-lib/aws-events';
const startState = new stepfunctions.Pass(this, 'StartState');
const constructProps: EventbridgeToStepfunctionsProps = {
stateMachineProps: {
definition: startState
},
eventRuleProps: {
schedule: events.Schedule.rate(Duration.minutes(5))
}
};
new EventbridgeToStepfunctions(this, 'test-eventbridge-stepfunctions-stack', constructProps);
Python
from aws_solutions_constructs.aws_eventbridge_stepfunctions import EventbridgeToStepfunctions, EventbridgeToStepfunctionsProps
from aws_cdk import (
aws_stepfunctions as stepfunctions,
aws_events as events,
Duration,
Stack
)
from constructs import Construct
startState = stepfunctions.Pass(self, 'StartState')
EventbridgeToStepfunctions(self, 'test-eventbridge-stepfunctions-stack',
state_machine_props=stepfunctions.StateMachineProps(
definition=startState
),
event_rule_props=events.RuleProps(
schedule=events.Schedule.rate(
Duration.minutes(5))
))
Java
import software.constructs.Construct;
import software.amazon.awscdk.Stack;
import software.amazon.awscdk.StackProps;
import software.amazon.awscdk.Duration;
import software.amazon.awscdk.services.events.*;
import software.amazon.awscdk.services.stepfunctions.*;
import software.amazon.awsconstructs.services.eventbridgestepfunctions.*;
final Pass startState = new Pass(this, "StartState");
new EventbridgeToStepfunctions(this,
"test-eventbridge-stepfunctions-stack",
new EventbridgeToStepfunctionsProps.Builder()
.stateMachineProps(new StateMachineProps.Builder()
.definition(startState)
.build())
.eventRuleProps(new RuleProps.Builder()
.schedule(Schedule.rate(Duration.minutes(5)))
.build())
.build());
Pattern Construct Props
Name | Type | Description |
---|---|---|
stateMachineProps | sfn.StateMachineProps |
Optional user provided props to override the default props for sfn.StateMachine |
existingEventBusInterface? | events.IEventBus |
Optional user-provided custom EventBus for construct to use. Providing both this and eventBusProps results an error. |
eventBusProps? | events.EventBusProps |
Optional user-provided properties to override the default properties when creating a custom EventBus. Setting this value to {} will create a custom EventBus using all default properties. If neither this nor existingEventBusInterface is provided the construct will use the default EventBus. Providing both this and existingEventBusInterface results an error. |
eventRuleProps | events.RuleProps |
User provided eventRuleProps to override the defaults |
createCloudWatchAlarms | boolean |
Whether to create recommended CloudWatch alarms |
logGroupProps? | logs.LogGroupProps |
User provided props to override the default props for for the CloudWatchLogs LogGroup. |
Pattern Properties
Name | Type | Description |
---|---|---|
eventBus? | events.IEventBus |
Returns the instance of events.IEventBus used by the construct |
eventsRule | events.Rule |
Returns an instance of events.Rule created by the construct |
stateMachine | sfn.StateMachine |
Returns an instance of sfn.StateMachine created by the construct |
stateMachineLogGroup | logs.ILogGroup |
Returns an instance of the ILogGroup created by the construct for StateMachine |
cloudwatchAlarms? | cloudwatch.Alarm[] |
Returns a list of cloudwatch.Alarm created by the construct |
Default settings
Out of the box implementation of the Construct without any override will set the following defaults:
Amazon CloudWatch Events Rule
- Grant least privilege permissions to CloudWatch Events to trigger the Lambda Function
AWS Step Function
- Enable CloudWatch logging for API Gateway
- Deploy best practices CloudWatch Alarms for the Step Function
Architecture
© Copyright 2022 Amazon.com, Inc. or its affiliates. All Rights Reserved.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Close
Hashes for aws-solutions-constructs.aws-eventbridge-stepfunctions-2.14.0.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 303883539e46d6fd8eeb98fe9a1db364b01d767d92aa41687e5b4c804e3405a1 |
|
MD5 | 2d1cb1d326661f46026bb448ae89499b |
|
BLAKE2b-256 | 113c507baeeb7f7c756aba90e832ad139f759a681c651af6b86b90251332dda2 |
Close
Hashes for aws_solutions_constructs.aws_eventbridge_stepfunctions-2.14.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 70f985f5a3c13d7987bf5712ff115612d971444ebe3349f514b89387754f52cd |
|
MD5 | 1defd4e52e3bef65f494234678e25747 |
|
BLAKE2b-256 | 6682d872982d65aa0ff0c0c2cc64c5a3663b1110edf81a179f034524863206f3 |