SfnStateMachine

class aws_cdk.aws_events_targets.SfnStateMachine(machine, *, input=None, role=None, dead_letter_queue=None, max_event_age=None, retry_attempts=None)

Bases: object

Use a StepFunctions state machine as a target for Amazon EventBridge rules.

Example:

import aws_cdk.aws_iam as iam
import aws_cdk.aws_stepfunctions as sfn


rule = events.Rule(self, "Rule",
    schedule=events.Schedule.rate(cdk.Duration.minutes(1))
)

dlq = sqs.Queue(self, "DeadLetterQueue")

role = iam.Role(self, "Role",
    assumed_by=iam.ServicePrincipal("events.amazonaws.com")
)
state_machine = sfn.StateMachine(self, "SM",
    definition=sfn.Wait(self, "Hello", time=sfn.WaitTime.duration(cdk.Duration.seconds(10))),
    role=role
)

rule.add_target(targets.SfnStateMachine(state_machine,
    input=events.RuleTargetInput.from_object({"SomeParam": "SomeValue"}),
    dead_letter_queue=dlq
))
Parameters
  • machine (IStateMachine) –

  • input (Optional[RuleTargetInput]) – The input to the state machine execution. Default: the entire EventBridge event

  • role (Optional[IRole]) – The IAM role to be assumed to execute the State Machine. Default: - a new role will be created

  • dead_letter_queue (Optional[IQueue]) – The SQS queue to be used as deadLetterQueue. Check out the considerations for using a dead-letter queue. The events not successfully delivered are automatically retried for a specified period of time, depending on the retry policy of the target. If an event is not delivered before all retry attempts are exhausted, it will be sent to the dead letter queue. Default: - no dead-letter queue

  • max_event_age (Optional[Duration]) – The maximum age of a request that Lambda sends to a function for processing. Minimum value of 60. Maximum value of 86400. Default: Duration.hours(24)

  • retry_attempts (Union[int, float, None]) – The maximum number of times to retry when the function returns an error. Minimum value of 0. Maximum value of 185. Default: 185

Methods

bind(_rule, _id=None)

Returns a properties that are used in an Rule to trigger this State Machine.

Parameters
  • _rule (IRule) –

  • _id (Optional[str]) –

See

https://docs.aws.amazon.com/eventbridge/latest/userguide/resource-based-policies-eventbridge.html#sns-permissions

Return type

RuleTargetConfig

Attributes

machine
Return type

IStateMachine