interface TransitionOptions
| Language | Type name |
|---|---|
.NET | Amazon.CDK.AWS.IoTEvents.Alpha.TransitionOptions |
Go | github.com/aws/aws-cdk-go/awscdkioteventsalpha/v2#TransitionOptions |
Java | software.amazon.awscdk.services.iotevents.alpha.TransitionOptions |
Python | aws_cdk.aws_iotevents_alpha.TransitionOptions |
TypeScript (source) | @aws-cdk/aws-iotevents-alpha ยป TransitionOptions |
Properties for options of state transition.
Example
import * as iotevents from '@aws-cdk/aws-iotevents-alpha';
import * as actions from '@aws-cdk/aws-iotevents-actions-alpha';
import * as lambda from 'aws-cdk-lib/aws-lambda';
declare const func: lambda.IFunction;
const input = new iotevents.Input(this, 'MyInput', {
inputName: 'my_input', // optional
attributeJsonPaths: ['payload.deviceId', 'payload.temperature'],
});
const warmState = new iotevents.State({
stateName: 'warm',
onEnter: [{
eventName: 'test-enter-event',
condition: iotevents.Expression.currentInput(input),
actions: [new actions.LambdaInvokeAction(func)], // optional
}],
onInput: [{ // optional
eventName: 'test-input-event',
actions: [new actions.LambdaInvokeAction(func)],
}],
onExit: [{ // optional
eventName: 'test-exit-event',
actions: [new actions.LambdaInvokeAction(func)],
}],
});
const coldState = new iotevents.State({
stateName: 'cold',
});
// transit to coldState when temperature is less than 15
warmState.transitionTo(coldState, {
eventName: 'to_coldState', // optional property, default by combining the names of the States
when: iotevents.Expression.lt(
iotevents.Expression.inputAttribute(input, 'payload.temperature'),
iotevents.Expression.fromString('15'),
),
executing: [new actions.LambdaInvokeAction(func)], // optional
});
// transit to warmState when temperature is greater than or equal to 15
coldState.transitionTo(warmState, {
when: iotevents.Expression.gte(
iotevents.Expression.inputAttribute(input, 'payload.temperature'),
iotevents.Expression.fromString('15'),
),
});
new iotevents.DetectorModel(this, 'MyDetectorModel', {
detectorModelName: 'test-detector-model', // optional
description: 'test-detector-model-description', // optional property, default is none
evaluationMethod: iotevents.EventEvaluation.SERIAL, // optional property, default is iotevents.EventEvaluation.BATCH
detectorKey: 'payload.deviceId', // optional property, default is none and single detector instance will be created and all inputs will be routed to it
initialState: warmState,
});
Properties
| Name | Type | Description |
|---|---|---|
| when | Expression | The condition that is used to determine to cause the state transition and the actions. |
| event | string | The name of the event. |
| executing? | IAction[] | The actions to be performed with the transition. |
when
Type:
Expression
The condition that is used to determine to cause the state transition and the actions.
When this was evaluated to true, the state transition and the actions are triggered.
eventName?
Type:
string
(optional, default: string combining the names of the States as ${originStateName}_to_${targetStateName})
The name of the event.
executing?
Type:
IAction[]
(optional, default: no actions will be performed)
The actions to be performed with the transition.

.NET
Go
Java
Python
TypeScript (