Package software.amazon.awscdk.services.iotevents
AWS::IoTEvents Construct Library
---
All classes with the
Cfn
prefix in this module (CFN Resources) are always stable and safe to use.
The APIs of higher level constructs in this module are experimental and under active development. They are subject to non-backward compatible changes or removal in any future version. These are not subject to the Semantic Versioning model and breaking changes will be announced in the release notes. This means that while you may use them, you may need to update your source code when upgrading to a newer version of this package.
AWS IoT Events enables you to monitor your equipment or device fleets for failures or changes in operation, and to trigger actions when such events occur.
Installation
Install the module:
$ npm i @aws-cdk/aws-iotevents
Import it into your code:
import software.amazon.awscdk.services.iotevents.*;
DetectorModel
The following example creates an AWS IoT Events detector model to your stack. The detector model need a reference to at least one AWS IoT Events input. AWS IoT Events inputs enable the detector to get MQTT payload values from IoT Core rules.
You can define built-in actions to use a timer or set a variable, or send data to other AWS resources. See also @aws-cdk/aws-iotevents-actions for other actions.
import software.amazon.awscdk.services.iotevents.*; import software.amazon.awscdk.services.iotevents.actions.*; import software.amazon.awscdk.services.lambda.*; IFunction func; Input input = Input.Builder.create(this, "MyInput") .inputName("my_input") // optional .attributeJsonPaths(List.of("payload.deviceId", "payload.temperature")) .build(); State warmState = State.Builder.create() .stateName("warm") .onEnter(List.of(Event.builder() .eventName("test-enter-event") .condition(Expression.currentInput(input)) .actions(List.of(new LambdaInvokeAction(func))) .build())) .onInput(List.of(Event.builder() // optional .eventName("test-input-event") .actions(List.of(new LambdaInvokeAction(func))).build())) .onExit(List.of(Event.builder() // optional .eventName("test-exit-event") .actions(List.of(new LambdaInvokeAction(func))).build())) .build(); State coldState = State.Builder.create() .stateName("cold") .build(); // transit to coldState when temperature is less than 15 warmState.transitionTo(coldState, TransitionOptions.builder() .eventName("to_coldState") // optional property, default by combining the names of the States .when(Expression.lt(Expression.inputAttribute(input, "payload.temperature"), Expression.fromString("15"))) .executing(List.of(new LambdaInvokeAction(func))) .build()); // transit to warmState when temperature is greater than or equal to 15 coldState.transitionTo(warmState, TransitionOptions.builder() .when(Expression.gte(Expression.inputAttribute(input, "payload.temperature"), Expression.fromString("15"))) .build()); DetectorModel.Builder.create(this, "MyDetectorModel") .detectorModelName("test-detector-model") // optional .description("test-detector-model-description") // optional property, default is none .evaluationMethod(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) .build();
To grant permissions to put messages in the input,
you can use the grantWrite()
method:
import software.amazon.awscdk.services.iam.*; import software.amazon.awscdk.services.iotevents.*; IGrantable grantable; IInput input = Input.fromInputName(this, "MyInput", "my_input"); input.grantWrite(grantable);
-
ClassDescription(experimental) Options when binding a Action to a detector model.A builder for
ActionBindOptions
An implementation forActionBindOptions
(experimental) Properties for a AWS IoT Events action.A builder forActionConfig
An implementation forActionConfig
A CloudFormation `AWS::IoTEvents::AlarmModel`.Specifies whether to get notified for alarm state changes.A builder forCfnAlarmModel.AcknowledgeFlowProperty
An implementation forCfnAlarmModel.AcknowledgeFlowProperty
Specifies one of the following actions to receive notifications when the alarm state changes.A builder forCfnAlarmModel.AlarmActionProperty
An implementation forCfnAlarmModel.AlarmActionProperty
Contains the configuration information of alarm state changes.A builder forCfnAlarmModel.AlarmCapabilitiesProperty
An implementation forCfnAlarmModel.AlarmCapabilitiesProperty
Contains information about one or more alarm actions.A builder forCfnAlarmModel.AlarmEventActionsProperty
An implementation forCfnAlarmModel.AlarmEventActionsProperty
Defines when your alarm is invoked.A builder forCfnAlarmModel.AlarmRuleProperty
An implementation forCfnAlarmModel.AlarmRuleProperty
A structure that contains timestamp information.A builder forCfnAlarmModel.AssetPropertyTimestampProperty
An implementation forCfnAlarmModel.AssetPropertyTimestampProperty
A structure that contains value information.A builder forCfnAlarmModel.AssetPropertyValueProperty
An implementation forCfnAlarmModel.AssetPropertyValueProperty
A structure that contains an asset property value.A builder forCfnAlarmModel.AssetPropertyVariantProperty
An implementation forCfnAlarmModel.AssetPropertyVariantProperty
A fluent builder forCfnAlarmModel
.Defines an action to write to the Amazon DynamoDB table that you created.A builder forCfnAlarmModel.DynamoDBProperty
An implementation forCfnAlarmModel.DynamoDBProperty
Defines an action to write to the Amazon DynamoDB table that you created.A builder forCfnAlarmModel.DynamoDBv2Property
An implementation forCfnAlarmModel.DynamoDBv2Property
Sends information about the detector model instance and the event that triggered the action to an Amazon Kinesis Data Firehose delivery stream.A builder forCfnAlarmModel.FirehoseProperty
An implementation forCfnAlarmModel.FirehoseProperty
Specifies the default alarm state.A builder forCfnAlarmModel.InitializationConfigurationProperty
An implementation forCfnAlarmModel.InitializationConfigurationProperty
Sends an AWS IoT Events input, passing in information about the detector model instance and the event that triggered the action.A builder forCfnAlarmModel.IotEventsProperty
An implementation forCfnAlarmModel.IotEventsProperty
Sends information about the detector model instance and the event that triggered the action to a specified asset property in AWS IoT SiteWise .A builder forCfnAlarmModel.IotSiteWiseProperty
An implementation forCfnAlarmModel.IotSiteWiseProperty
Information required to publish the MQTT message through the AWS IoT message broker.A builder forCfnAlarmModel.IotTopicPublishProperty
An implementation forCfnAlarmModel.IotTopicPublishProperty
Calls a Lambda function, passing in information about the detector model instance and the event that triggered the action.A builder forCfnAlarmModel.LambdaProperty
An implementation forCfnAlarmModel.LambdaProperty
Information needed to configure the payload.A builder forCfnAlarmModel.PayloadProperty
An implementation forCfnAlarmModel.PayloadProperty
A rule that compares an input property value to a threshold value with a comparison operator.A builder forCfnAlarmModel.SimpleRuleProperty
An implementation forCfnAlarmModel.SimpleRuleProperty
Information required to publish the Amazon SNS message.A builder forCfnAlarmModel.SnsProperty
An implementation forCfnAlarmModel.SnsProperty
Sends information about the detector model instance and the event that triggered the action to an Amazon SQS queue.A builder forCfnAlarmModel.SqsProperty
An implementation forCfnAlarmModel.SqsProperty
Properties for defining a `CfnAlarmModel`.A builder forCfnAlarmModelProps
An implementation forCfnAlarmModelProps
A CloudFormation `AWS::IoTEvents::DetectorModel`.An action to be performed when the `condition` is TRUE.A builder forCfnDetectorModel.ActionProperty
An implementation forCfnDetectorModel.ActionProperty
A structure that contains timestamp information.A builder forCfnDetectorModel.AssetPropertyTimestampProperty
An implementation forCfnDetectorModel.AssetPropertyTimestampProperty
A structure that contains value information.A builder forCfnDetectorModel.AssetPropertyValueProperty
An implementation forCfnDetectorModel.AssetPropertyValueProperty
A structure that contains an asset property value.A builder forCfnDetectorModel.AssetPropertyVariantProperty
An implementation forCfnDetectorModel.AssetPropertyVariantProperty
A fluent builder forCfnDetectorModel
.Information needed to clear the timer.A builder forCfnDetectorModel.ClearTimerProperty
An implementation forCfnDetectorModel.ClearTimerProperty
Information that defines how a detector operates.A builder forCfnDetectorModel.DetectorModelDefinitionProperty
An implementation forCfnDetectorModel.DetectorModelDefinitionProperty
Defines an action to write to the Amazon DynamoDB table that you created.A builder forCfnDetectorModel.DynamoDBProperty
An implementation forCfnDetectorModel.DynamoDBProperty
Defines an action to write to the Amazon DynamoDB table that you created.A builder forCfnDetectorModel.DynamoDBv2Property
An implementation forCfnDetectorModel.DynamoDBv2Property
Specifies the `actions` to be performed when the `condition` evaluates to TRUE.A builder forCfnDetectorModel.EventProperty
An implementation forCfnDetectorModel.EventProperty
Sends information about the detector model instance and the event that triggered the action to an Amazon Kinesis Data Firehose delivery stream.A builder forCfnDetectorModel.FirehoseProperty
An implementation forCfnDetectorModel.FirehoseProperty
Sends an AWS IoT Events input, passing in information about the detector model instance and the event that triggered the action.A builder forCfnDetectorModel.IotEventsProperty
An implementation forCfnDetectorModel.IotEventsProperty
Sends information about the detector model instance and the event that triggered the action to a specified asset property in AWS IoT SiteWise .A builder forCfnDetectorModel.IotSiteWiseProperty
An implementation forCfnDetectorModel.IotSiteWiseProperty
Information required to publish the MQTT message through the AWS IoT message broker.A builder forCfnDetectorModel.IotTopicPublishProperty
An implementation forCfnDetectorModel.IotTopicPublishProperty
Calls a Lambda function, passing in information about the detector model instance and the event that triggered the action.A builder forCfnDetectorModel.LambdaProperty
An implementation forCfnDetectorModel.LambdaProperty
When entering this state, perform these `actions` if the `condition` is TRUE.A builder forCfnDetectorModel.OnEnterProperty
An implementation forCfnDetectorModel.OnEnterProperty
When exiting this state, perform these `actions` if the specified `condition` is `TRUE` .A builder forCfnDetectorModel.OnExitProperty
An implementation forCfnDetectorModel.OnExitProperty
Specifies the actions performed when the `condition` evaluates to TRUE.A builder forCfnDetectorModel.OnInputProperty
An implementation forCfnDetectorModel.OnInputProperty
Information needed to configure the payload.A builder forCfnDetectorModel.PayloadProperty
An implementation forCfnDetectorModel.PayloadProperty
Information required to reset the timer.A builder forCfnDetectorModel.ResetTimerProperty
An implementation forCfnDetectorModel.ResetTimerProperty
Information needed to set the timer.A builder forCfnDetectorModel.SetTimerProperty
An implementation forCfnDetectorModel.SetTimerProperty
Information about the variable and its new value.A builder forCfnDetectorModel.SetVariableProperty
An implementation forCfnDetectorModel.SetVariableProperty
Information required to publish the Amazon SNS message.A builder forCfnDetectorModel.SnsProperty
An implementation forCfnDetectorModel.SnsProperty
Sends information about the detector model instance and the event that triggered the action to an Amazon SQS queue.A builder forCfnDetectorModel.SqsProperty
An implementation forCfnDetectorModel.SqsProperty
Information that defines a state of a detector.A builder forCfnDetectorModel.StateProperty
An implementation forCfnDetectorModel.StateProperty
Specifies the actions performed and the next state entered when a `condition` evaluates to TRUE.A builder forCfnDetectorModel.TransitionEventProperty
An implementation forCfnDetectorModel.TransitionEventProperty
Properties for defining a `CfnDetectorModel`.A builder forCfnDetectorModelProps
An implementation forCfnDetectorModelProps
A CloudFormation `AWS::IoTEvents::Input`.The attributes from the JSON payload that are made available by the input.A builder forCfnInput.AttributeProperty
An implementation forCfnInput.AttributeProperty
A fluent builder forCfnInput
.The definition of the input.A builder forCfnInput.InputDefinitionProperty
An implementation forCfnInput.InputDefinitionProperty
Properties for defining a `CfnInput`.A builder forCfnInputProps
An implementation forCfnInputProps
(experimental) Defines an AWS IoT Events detector model in this stack.(experimental) A fluent builder forDetectorModel
.(experimental) Properties for defining an AWS IoT Events detector model.A builder forDetectorModelProps
An implementation forDetectorModelProps
(experimental) Specifies the actions to be performed when the condition evaluates to `true`.A builder forEvent
An implementation forEvent
(experimental) Information about the order in which events are evaluated and how actions are executed.(experimental) Expression for events in Detector Model state.(experimental) An abstract action for DetectorModel.Internal default implementation forIAction
.A proxy class which represents a concrete javascript instance of this type.(experimental) Represents an AWS IoT Events detector model.Internal default implementation forIDetectorModel
.A proxy class which represents a concrete javascript instance of this type.(experimental) Represents an AWS IoT Events input.Internal default implementation forIInput
.A proxy class which represents a concrete javascript instance of this type.(experimental) Defines an AWS IoT Events input in this stack.(experimental) A fluent builder forInput
.(experimental) Properties for defining an AWS IoT Events input.A builder forInputProps
An implementation forInputProps
(experimental) Defines a state of a detector.(experimental) A fluent builder forState
.(experimental) Properties for defining a state of a detector.A builder forStateProps
An implementation forStateProps
(experimental) Properties for options of state transition.A builder forTransitionOptions
An implementation forTransitionOptions