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 |
---|---|
Python | aws_solutions_constructs.aws_eventbridge_stepfunctions |
Typescript | @aws-solutions-constructs/aws-eventbridge-stepfunctions |
Java | 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-1.176.0.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | c3876c811e710da4c7f9d3b55c52414e964624b86f0f97fa5a1bc4b773e2a189 |
|
MD5 | 21910c66f5a7131f78f4b6f98fd942a4 |
|
BLAKE2b-256 | 3a5f7e44a985cf2c6de15c1ea357c9f6957573da0fefda3131d28315e1fe4828 |
Close
Hashes for aws_solutions_constructs.aws_eventbridge_stepfunctions-1.176.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e349caa20433b768d9b75b03fcb85cd23f0331ebd7e10f63f13f9a570e1c5f47 |
|
MD5 | d8db2eaadd73ed5752e8121b2c9752d9 |
|
BLAKE2b-256 | 509249003676c38b53c99a2f5d8e21df54f35e5852488783dd19519c51e25497 |