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.180.0.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9730101aecd5789747061b993f14c5d9baddab6f8e39ef2d25a48fef68f9626e |
|
MD5 | 06695068f23a67c2c12e1359a98d7b4c |
|
BLAKE2b-256 | 5b1131e242ec7b9866a5f25f5871508e38e6d43d05920a0ce12ea6b5ebe60211 |
Close
Hashes for aws_solutions_constructs.aws_eventbridge_stepfunctions-1.180.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 07088c8c8f2ca655a20d7734f3fe96e87ef9262fb4fa161e6e8b8e97124772cb |
|
MD5 | ad84dd1c9c137f5f8444f48074207dc8 |
|
BLAKE2b-256 | 08da6f17785f733811093073820bedcc1d02158894229084ff061f21be72e20e |