AWS::IoTEvents::AlarmModel AlarmAction
Specifies one of the following actions to receive notifications when the alarm state changes.
Syntax
To declare this entity in your AWS CloudFormation template, use the following syntax:
JSON
{ "DynamoDB" :
DynamoDB
, "DynamoDBv2" :DynamoDBv2
, "Firehose" :Firehose
, "IotEvents" :IotEvents
, "IotSiteWise" :IotSiteWise
, "IotTopicPublish" :IotTopicPublish
, "Lambda" :Lambda
, "Sns" :Sns
, "Sqs" :Sqs
}
YAML
DynamoDB:
DynamoDB
DynamoDBv2:DynamoDBv2
Firehose:Firehose
IotEvents:IotEvents
IotSiteWise:IotSiteWise
IotTopicPublish:IotTopicPublish
Lambda:Lambda
Sns:Sns
Sqs:Sqs
Properties
DynamoDB
-
Defines an action to write to the Amazon DynamoDB table that you created. The standard action payload contains all the information about the detector model instance and the event that triggered the action. You can customize the payload. One column of the DynamoDB table receives all attribute-value pairs in the payload that you specify.
You must use expressions for all parameters in
DynamoDBAction
. The expressions accept literals, operators, functions, references, and substitution templates.Examples
-
For literal values, the expressions must contain single quotes. For example, the value for the
hashKeyType
parameter can be'STRING'
. -
For references, you must specify either variables or input values. For example, the value for the
hashKeyField
parameter can be$input.GreenhouseInput.name
. -
For a substitution template, you must use
${}
, and the template must be in single quotes. A substitution template can also contain a combination of literals, operators, functions, references, and substitution templates.In the following example, the value for the
hashKeyValue
parameter uses a substitution template.'${$input.GreenhouseInput.temperature * 6 / 5 + 32} in Fahrenheit'
-
For a string concatenation, you must use
+
. A string concatenation can also contain a combination of literals, operators, functions, references, and substitution templates.In the following example, the value for the
tableName
parameter uses a string concatenation.'GreenhouseTemperatureTable ' + $input.GreenhouseInput.date
For more information, see Expressions in the AWS IoT Events Developer Guide.
If the defined payload type is a string,
DynamoDBAction
writes non-JSON data to the DynamoDB table as binary data. The DynamoDB console displays the data as Base64-encoded text. The value for thepayloadField
parameter is<payload-field>_raw
.Required: No
Type: DynamoDB
Update requires: No interruption
-
DynamoDBv2
-
Defines an action to write to the Amazon DynamoDB table that you created. The default action payload contains all the information about the detector model instance and the event that triggered the action. You can customize the payload. A separate column of the DynamoDB table receives one attribute-value pair in the payload that you specify.
You must use expressions for all parameters in
DynamoDBv2Action
. The expressions accept literals, operators, functions, references, and substitution templates.Examples
-
For literal values, the expressions must contain single quotes. For example, the value for the
tableName
parameter can be'GreenhouseTemperatureTable'
. -
For references, you must specify either variables or input values. For example, the value for the
tableName
parameter can be$variable.ddbtableName
. -
For a substitution template, you must use
${}
, and the template must be in single quotes. A substitution template can also contain a combination of literals, operators, functions, references, and substitution templates.In the following example, the value for the
contentExpression
parameter inPayload
uses a substitution template.'{\"sensorID\": \"${$input.GreenhouseInput.sensor_id}\", \"temperature\": \"${$input.GreenhouseInput.temperature * 9 / 5 + 32}\"}'
-
For a string concatenation, you must use
+
. A string concatenation can also contain a combination of literals, operators, functions, references, and substitution templates.In the following example, the value for the
tableName
parameter uses a string concatenation.'GreenhouseTemperatureTable ' + $input.GreenhouseInput.date
For more information, see Expressions in the AWS IoT Events Developer Guide.
The value for the
type
parameter inPayload
must beJSON
.Required: No
Type: DynamoDBv2
Update requires: No interruption
-
Firehose
-
Sends information about the detector model instance and the event that triggered the action to an Amazon Kinesis Data Firehose delivery stream.
Required: No
Type: Firehose
Update requires: No interruption
IotEvents
-
Sends an AWS IoT Events input, passing in information about the detector model instance and the event that triggered the action.
Required: No
Type: IotEvents
Update requires: No interruption
IotSiteWise
-
Sends information about the detector model instance and the event that triggered the action to a specified asset property in AWS IoT SiteWise.
You must use expressions for all parameters in
IotSiteWiseAction
. The expressions accept literals, operators, functions, references, and substitutions templates.Examples
-
For literal values, the expressions must contain single quotes. For example, the value for the
propertyAlias
parameter can be'/company/windfarm/3/turbine/7/temperature'
. -
For references, you must specify either variables or input values. For example, the value for the
assetId
parameter can be$input.TurbineInput.assetId1
. -
For a substitution template, you must use
${}
, and the template must be in single quotes. A substitution template can also contain a combination of literals, operators, functions, references, and substitution templates.In the following example, the value for the
propertyAlias
parameter uses a substitution template.'company/windfarm/${$input.TemperatureInput.sensorData.windfarmID}/turbine/ ${$input.TemperatureInput.sensorData.turbineID}/temperature'
You must specify either
propertyAlias
or bothassetId
andpropertyId
to identify the target asset property in AWS IoT SiteWise.For more information, see Expressions in the AWS IoT Events Developer Guide.
Required: No
Type: IotSiteWise
Update requires: No interruption
-
IotTopicPublish
-
Information required to publish the MQTT message through the AWS IoT message broker.
Required: No
Type: IotTopicPublish
Update requires: No interruption
Lambda
-
Calls a Lambda function, passing in information about the detector model instance and the event that triggered the action.
Required: No
Type: Lambda
Update requires: No interruption
Sns
-
Information required to publish the Amazon SNS message.
Required: No
Type: Sns
Update requires: No interruption
Sqs
-
Sends information about the detector model instance and the event that triggered the action to an Amazon SQS queue.
Required: No
Type: Sqs
Update requires: No interruption