2020/03/10 - AWS IoT Events - 3 updated api methods
Changes API update that adds a new parameter, durationExpression, to SetTimerAction, and deprecates seconds
{'detectorModelDefinition': {'states': {'onEnter': {'events': {'actions': {'setTimer': {'durationExpression': 'string'}}}}, 'onExit': {'events': {'actions': {'setTimer': {'durationExpression': 'string'}}}}, 'onInput': {'events': {'actions': {'setTimer': {'durationExpression': 'string'}}}, 'transitionEvents': {'actions': {'setTimer': {'durationExpression': 'string'}}}}}}}
Creates a detector model.
See also: AWS API Documentation
Request Syntax
client.create_detector_model( detectorModelName='string', detectorModelDefinition={ 'states': [ { 'stateName': 'string', 'onInput': { 'events': [ { 'eventName': 'string', 'condition': 'string', 'actions': [ { 'setVariable': { 'variableName': 'string', 'value': 'string' }, 'sns': { 'targetArn': 'string' }, 'iotTopicPublish': { 'mqttTopic': 'string' }, 'setTimer': { 'timerName': 'string', 'seconds': 123, 'durationExpression': 'string' }, 'clearTimer': { 'timerName': 'string' }, 'resetTimer': { 'timerName': 'string' }, 'lambda': { 'functionArn': 'string' }, 'iotEvents': { 'inputName': 'string' }, 'sqs': { 'queueUrl': 'string', 'useBase64': True|False }, 'firehose': { 'deliveryStreamName': 'string', 'separator': 'string' } }, ] }, ], 'transitionEvents': [ { 'eventName': 'string', 'condition': 'string', 'actions': [ { 'setVariable': { 'variableName': 'string', 'value': 'string' }, 'sns': { 'targetArn': 'string' }, 'iotTopicPublish': { 'mqttTopic': 'string' }, 'setTimer': { 'timerName': 'string', 'seconds': 123, 'durationExpression': 'string' }, 'clearTimer': { 'timerName': 'string' }, 'resetTimer': { 'timerName': 'string' }, 'lambda': { 'functionArn': 'string' }, 'iotEvents': { 'inputName': 'string' }, 'sqs': { 'queueUrl': 'string', 'useBase64': True|False }, 'firehose': { 'deliveryStreamName': 'string', 'separator': 'string' } }, ], 'nextState': 'string' }, ] }, 'onEnter': { 'events': [ { 'eventName': 'string', 'condition': 'string', 'actions': [ { 'setVariable': { 'variableName': 'string', 'value': 'string' }, 'sns': { 'targetArn': 'string' }, 'iotTopicPublish': { 'mqttTopic': 'string' }, 'setTimer': { 'timerName': 'string', 'seconds': 123, 'durationExpression': 'string' }, 'clearTimer': { 'timerName': 'string' }, 'resetTimer': { 'timerName': 'string' }, 'lambda': { 'functionArn': 'string' }, 'iotEvents': { 'inputName': 'string' }, 'sqs': { 'queueUrl': 'string', 'useBase64': True|False }, 'firehose': { 'deliveryStreamName': 'string', 'separator': 'string' } }, ] }, ] }, 'onExit': { 'events': [ { 'eventName': 'string', 'condition': 'string', 'actions': [ { 'setVariable': { 'variableName': 'string', 'value': 'string' }, 'sns': { 'targetArn': 'string' }, 'iotTopicPublish': { 'mqttTopic': 'string' }, 'setTimer': { 'timerName': 'string', 'seconds': 123, 'durationExpression': 'string' }, 'clearTimer': { 'timerName': 'string' }, 'resetTimer': { 'timerName': 'string' }, 'lambda': { 'functionArn': 'string' }, 'iotEvents': { 'inputName': 'string' }, 'sqs': { 'queueUrl': 'string', 'useBase64': True|False }, 'firehose': { 'deliveryStreamName': 'string', 'separator': 'string' } }, ] }, ] } }, ], 'initialStateName': 'string' }, detectorModelDescription='string', key='string', roleArn='string', tags=[ { 'key': 'string', 'value': 'string' }, ], evaluationMethod='BATCH'|'SERIAL' )
string
[REQUIRED]
The name of the detector model.
dict
[REQUIRED]
Information that defines how the detectors operate.
states (list) -- [REQUIRED]
Information about the states of the detector.
(dict) --
Information that defines a state of a detector.
stateName (string) -- [REQUIRED]
The name of the state.
onInput (dict) --
When an input is received and the condition is TRUE, perform the specified actions .
events (list) --
Specifies the actions performed when the condition evaluates to TRUE.
(dict) --
Specifies the actions to be performed when the condition evaluates to TRUE.
eventName (string) -- [REQUIRED]
The name of the event.
condition (string) --
Optional. The Boolean expression that, when TRUE, causes the actions to be performed. If not present, the actions are performed (=TRUE). If the expression result is not a Boolean value, the actions are not performed (=FALSE).
actions (list) --
The actions to be performed.
(dict) --
An action to be performed when the condition is TRUE.
setVariable (dict) --
Sets a variable to a specified value.
variableName (string) -- [REQUIRED]
The name of the variable.
value (string) -- [REQUIRED]
The new value of the variable.
sns (dict) --
Sends an Amazon SNS message.
targetArn (string) -- [REQUIRED]
The ARN of the Amazon SNS target where the message is sent.
iotTopicPublish (dict) --
Publishes an MQTT message with the given topic to the AWS IoT message broker.
mqttTopic (string) -- [REQUIRED]
The MQTT topic of the message. You can use a string expression that includes variables ($variable.<variable-name> ) and input values ($input.<input-name>.<path-to-datum> ) as the topic string.
setTimer (dict) --
Information needed to set the timer.
timerName (string) -- [REQUIRED]
The name of the timer.
seconds (integer) --
The number of seconds until the timer expires. The minimum value is 60 seconds to ensure accuracy.
durationExpression (string) --
The duration of the timer, in seconds. You can use a string expression that includes numbers, variables ($variable.<variable-name> ), and input values ($input.<input-name>.<path-to-datum> ) as the duration. The range of the duration is 1-31622400 seconds. To ensure accuracy, the minimum duration is 60 seconds. The evaluated result of the duration is rounded down to the nearest whole number.
clearTimer (dict) --
Information needed to clear the timer.
timerName (string) -- [REQUIRED]
The name of the timer to clear.
resetTimer (dict) --
Information needed to reset the timer.
timerName (string) -- [REQUIRED]
The name of the timer to reset.
lambda (dict) --
Calls a Lambda function, passing in information about the detector model instance and the event that triggered the action.
functionArn (string) -- [REQUIRED]
The ARN of the Lambda function that is executed.
iotEvents (dict) --
Sends an AWS IoT Events input, passing in information about the detector model instance and the event that triggered the action.
inputName (string) -- [REQUIRED]
The name of the AWS IoT Events input where the data is sent.
sqs (dict) --
Sends information about the detector model instance and the event that triggered the action to an Amazon SQS queue.
queueUrl (string) -- [REQUIRED]
The URL of the SQS queue where the data is written.
useBase64 (boolean) --
Set this to TRUE if you want the data to be base-64 encoded before it is written to the queue.
firehose (dict) --
Sends information about the detector model instance and the event that triggered the action to an Amazon Kinesis Data Firehose delivery stream.
deliveryStreamName (string) -- [REQUIRED]
The name of the Kinesis Data Firehose delivery stream where the data is written.
separator (string) --
A character separator that is used to separate records written to the Kinesis Data Firehose delivery stream. Valid values are: 'n' (newline), 't' (tab), 'rn' (Windows newline), ',' (comma).
transitionEvents (list) --
Specifies the actions performed, and the next state entered, when a condition evaluates to TRUE.
(dict) --
Specifies the actions performed and the next state entered when a condition evaluates to TRUE.
eventName (string) -- [REQUIRED]
The name of the transition event.
condition (string) -- [REQUIRED]
Required. A Boolean expression that when TRUE causes the actions to be performed and the nextState to be entered.
actions (list) --
The actions to be performed.
(dict) --
An action to be performed when the condition is TRUE.
setVariable (dict) --
Sets a variable to a specified value.
variableName (string) -- [REQUIRED]
The name of the variable.
value (string) -- [REQUIRED]
The new value of the variable.
sns (dict) --
Sends an Amazon SNS message.
targetArn (string) -- [REQUIRED]
The ARN of the Amazon SNS target where the message is sent.
iotTopicPublish (dict) --
Publishes an MQTT message with the given topic to the AWS IoT message broker.
mqttTopic (string) -- [REQUIRED]
The MQTT topic of the message. You can use a string expression that includes variables ($variable.<variable-name> ) and input values ($input.<input-name>.<path-to-datum> ) as the topic string.
setTimer (dict) --
Information needed to set the timer.
timerName (string) -- [REQUIRED]
The name of the timer.
seconds (integer) --
The number of seconds until the timer expires. The minimum value is 60 seconds to ensure accuracy.
durationExpression (string) --
The duration of the timer, in seconds. You can use a string expression that includes numbers, variables ($variable.<variable-name> ), and input values ($input.<input-name>.<path-to-datum> ) as the duration. The range of the duration is 1-31622400 seconds. To ensure accuracy, the minimum duration is 60 seconds. The evaluated result of the duration is rounded down to the nearest whole number.
clearTimer (dict) --
Information needed to clear the timer.
timerName (string) -- [REQUIRED]
The name of the timer to clear.
resetTimer (dict) --
Information needed to reset the timer.
timerName (string) -- [REQUIRED]
The name of the timer to reset.
lambda (dict) --
Calls a Lambda function, passing in information about the detector model instance and the event that triggered the action.
functionArn (string) -- [REQUIRED]
The ARN of the Lambda function that is executed.
iotEvents (dict) --
Sends an AWS IoT Events input, passing in information about the detector model instance and the event that triggered the action.
inputName (string) -- [REQUIRED]
The name of the AWS IoT Events input where the data is sent.
sqs (dict) --
Sends information about the detector model instance and the event that triggered the action to an Amazon SQS queue.
queueUrl (string) -- [REQUIRED]
The URL of the SQS queue where the data is written.
useBase64 (boolean) --
Set this to TRUE if you want the data to be base-64 encoded before it is written to the queue.
firehose (dict) --
Sends information about the detector model instance and the event that triggered the action to an Amazon Kinesis Data Firehose delivery stream.
deliveryStreamName (string) -- [REQUIRED]
The name of the Kinesis Data Firehose delivery stream where the data is written.
separator (string) --
A character separator that is used to separate records written to the Kinesis Data Firehose delivery stream. Valid values are: 'n' (newline), 't' (tab), 'rn' (Windows newline), ',' (comma).
nextState (string) -- [REQUIRED]
The next state to enter.
onEnter (dict) --
When entering this state, perform these actions if the condition is TRUE.
events (list) --
Specifies the actions that are performed when the state is entered and the condition is TRUE.
(dict) --
Specifies the actions to be performed when the condition evaluates to TRUE.
eventName (string) -- [REQUIRED]
The name of the event.
condition (string) --
Optional. The Boolean expression that, when TRUE, causes the actions to be performed. If not present, the actions are performed (=TRUE). If the expression result is not a Boolean value, the actions are not performed (=FALSE).
actions (list) --
The actions to be performed.
(dict) --
An action to be performed when the condition is TRUE.
setVariable (dict) --
Sets a variable to a specified value.
variableName (string) -- [REQUIRED]
The name of the variable.
value (string) -- [REQUIRED]
The new value of the variable.
sns (dict) --
Sends an Amazon SNS message.
targetArn (string) -- [REQUIRED]
The ARN of the Amazon SNS target where the message is sent.
iotTopicPublish (dict) --
Publishes an MQTT message with the given topic to the AWS IoT message broker.
mqttTopic (string) -- [REQUIRED]
The MQTT topic of the message. You can use a string expression that includes variables ($variable.<variable-name> ) and input values ($input.<input-name>.<path-to-datum> ) as the topic string.
setTimer (dict) --
Information needed to set the timer.
timerName (string) -- [REQUIRED]
The name of the timer.
seconds (integer) --
The number of seconds until the timer expires. The minimum value is 60 seconds to ensure accuracy.
durationExpression (string) --
The duration of the timer, in seconds. You can use a string expression that includes numbers, variables ($variable.<variable-name> ), and input values ($input.<input-name>.<path-to-datum> ) as the duration. The range of the duration is 1-31622400 seconds. To ensure accuracy, the minimum duration is 60 seconds. The evaluated result of the duration is rounded down to the nearest whole number.
clearTimer (dict) --
Information needed to clear the timer.
timerName (string) -- [REQUIRED]
The name of the timer to clear.
resetTimer (dict) --
Information needed to reset the timer.
timerName (string) -- [REQUIRED]
The name of the timer to reset.
lambda (dict) --
Calls a Lambda function, passing in information about the detector model instance and the event that triggered the action.
functionArn (string) -- [REQUIRED]
The ARN of the Lambda function that is executed.
iotEvents (dict) --
Sends an AWS IoT Events input, passing in information about the detector model instance and the event that triggered the action.
inputName (string) -- [REQUIRED]
The name of the AWS IoT Events input where the data is sent.
sqs (dict) --
Sends information about the detector model instance and the event that triggered the action to an Amazon SQS queue.
queueUrl (string) -- [REQUIRED]
The URL of the SQS queue where the data is written.
useBase64 (boolean) --
Set this to TRUE if you want the data to be base-64 encoded before it is written to the queue.
firehose (dict) --
Sends information about the detector model instance and the event that triggered the action to an Amazon Kinesis Data Firehose delivery stream.
deliveryStreamName (string) -- [REQUIRED]
The name of the Kinesis Data Firehose delivery stream where the data is written.
separator (string) --
A character separator that is used to separate records written to the Kinesis Data Firehose delivery stream. Valid values are: 'n' (newline), 't' (tab), 'rn' (Windows newline), ',' (comma).
onExit (dict) --
When exiting this state, perform these actions if the specified condition is TRUE.
events (list) --
Specifies the actions that are performed when the state is exited and the condition is TRUE.
(dict) --
Specifies the actions to be performed when the condition evaluates to TRUE.
eventName (string) -- [REQUIRED]
The name of the event.
condition (string) --
Optional. The Boolean expression that, when TRUE, causes the actions to be performed. If not present, the actions are performed (=TRUE). If the expression result is not a Boolean value, the actions are not performed (=FALSE).
actions (list) --
The actions to be performed.
(dict) --
An action to be performed when the condition is TRUE.
setVariable (dict) --
Sets a variable to a specified value.
variableName (string) -- [REQUIRED]
The name of the variable.
value (string) -- [REQUIRED]
The new value of the variable.
sns (dict) --
Sends an Amazon SNS message.
targetArn (string) -- [REQUIRED]
The ARN of the Amazon SNS target where the message is sent.
iotTopicPublish (dict) --
Publishes an MQTT message with the given topic to the AWS IoT message broker.
mqttTopic (string) -- [REQUIRED]
The MQTT topic of the message. You can use a string expression that includes variables ($variable.<variable-name> ) and input values ($input.<input-name>.<path-to-datum> ) as the topic string.
setTimer (dict) --
Information needed to set the timer.
timerName (string) -- [REQUIRED]
The name of the timer.
seconds (integer) --
The number of seconds until the timer expires. The minimum value is 60 seconds to ensure accuracy.
durationExpression (string) --
The duration of the timer, in seconds. You can use a string expression that includes numbers, variables ($variable.<variable-name> ), and input values ($input.<input-name>.<path-to-datum> ) as the duration. The range of the duration is 1-31622400 seconds. To ensure accuracy, the minimum duration is 60 seconds. The evaluated result of the duration is rounded down to the nearest whole number.
clearTimer (dict) --
Information needed to clear the timer.
timerName (string) -- [REQUIRED]
The name of the timer to clear.
resetTimer (dict) --
Information needed to reset the timer.
timerName (string) -- [REQUIRED]
The name of the timer to reset.
lambda (dict) --
Calls a Lambda function, passing in information about the detector model instance and the event that triggered the action.
functionArn (string) -- [REQUIRED]
The ARN of the Lambda function that is executed.
iotEvents (dict) --
Sends an AWS IoT Events input, passing in information about the detector model instance and the event that triggered the action.
inputName (string) -- [REQUIRED]
The name of the AWS IoT Events input where the data is sent.
sqs (dict) --
Sends information about the detector model instance and the event that triggered the action to an Amazon SQS queue.
queueUrl (string) -- [REQUIRED]
The URL of the SQS queue where the data is written.
useBase64 (boolean) --
Set this to TRUE if you want the data to be base-64 encoded before it is written to the queue.
firehose (dict) --
Sends information about the detector model instance and the event that triggered the action to an Amazon Kinesis Data Firehose delivery stream.
deliveryStreamName (string) -- [REQUIRED]
The name of the Kinesis Data Firehose delivery stream where the data is written.
separator (string) --
A character separator that is used to separate records written to the Kinesis Data Firehose delivery stream. Valid values are: 'n' (newline), 't' (tab), 'rn' (Windows newline), ',' (comma).
initialStateName (string) -- [REQUIRED]
The state that is entered at the creation of each detector (instance).
string
A brief description of the detector model.
string
The input attribute key used to identify a device or system to create a detector (an instance of the detector model) and then to route each input received to the appropriate detector (instance). This parameter uses a JSON-path expression in the message payload of each input to specify the attribute-value pair that is used to identify the device associated with the input.
string
[REQUIRED]
The ARN of the role that grants permission to AWS IoT Events to perform its operations.
list
Metadata that can be used to manage the detector model.
(dict) --
Metadata that can be used to manage the resource.
key (string) -- [REQUIRED]
The tag's key.
value (string) -- [REQUIRED]
The tag's value.
string
Information about the order in which events are evaluated and how actions are executed.
dict
Response Syntax
{ 'detectorModelConfiguration': { 'detectorModelName': 'string', 'detectorModelVersion': 'string', 'detectorModelDescription': 'string', 'detectorModelArn': 'string', 'roleArn': 'string', 'creationTime': datetime(2015, 1, 1), 'lastUpdateTime': datetime(2015, 1, 1), 'status': 'ACTIVE'|'ACTIVATING'|'INACTIVE'|'DEPRECATED'|'DRAFT'|'PAUSED'|'FAILED', 'key': 'string', 'evaluationMethod': 'BATCH'|'SERIAL' } }
Response Structure
(dict) --
detectorModelConfiguration (dict) --
Information about how the detector model is configured.
detectorModelName (string) --
The name of the detector model.
detectorModelVersion (string) --
The version of the detector model.
detectorModelDescription (string) --
A brief description of the detector model.
detectorModelArn (string) --
The ARN of the detector model.
roleArn (string) --
The ARN of the role that grants permission to AWS IoT Events to perform its operations.
creationTime (datetime) --
The time the detector model was created.
lastUpdateTime (datetime) --
The time the detector model was last updated.
status (string) --
The status of the detector model.
key (string) --
The input attribute key used to identify a device or system to create a detector (an instance of the detector model) and then to route each input received to the appropriate detector (instance). This parameter uses a JSON-path expression in the message payload of each input to specify the attribute-value pair that is used to identify the device associated with the input.
evaluationMethod (string) --
Information about the order in which events are evaluated and how actions are executed.
{'detectorModel': {'detectorModelDefinition': {'states': {'onEnter': {'events': {'actions': {'setTimer': {'durationExpression': 'string'}}}}, 'onExit': {'events': {'actions': {'setTimer': {'durationExpression': 'string'}}}}, 'onInput': {'events': {'actions': {'setTimer': {'durationExpression': 'string'}}}, 'transitionEvents': {'actions': {'setTimer': {'durationExpression': 'string'}}}}}}}}
Describes a detector model. If the version parameter is not specified, information about the latest version is returned.
See also: AWS API Documentation
Request Syntax
client.describe_detector_model( detectorModelName='string', detectorModelVersion='string' )
string
[REQUIRED]
The name of the detector model.
string
The version of the detector model.
dict
Response Syntax
{ 'detectorModel': { 'detectorModelDefinition': { 'states': [ { 'stateName': 'string', 'onInput': { 'events': [ { 'eventName': 'string', 'condition': 'string', 'actions': [ { 'setVariable': { 'variableName': 'string', 'value': 'string' }, 'sns': { 'targetArn': 'string' }, 'iotTopicPublish': { 'mqttTopic': 'string' }, 'setTimer': { 'timerName': 'string', 'seconds': 123, 'durationExpression': 'string' }, 'clearTimer': { 'timerName': 'string' }, 'resetTimer': { 'timerName': 'string' }, 'lambda': { 'functionArn': 'string' }, 'iotEvents': { 'inputName': 'string' }, 'sqs': { 'queueUrl': 'string', 'useBase64': True|False }, 'firehose': { 'deliveryStreamName': 'string', 'separator': 'string' } }, ] }, ], 'transitionEvents': [ { 'eventName': 'string', 'condition': 'string', 'actions': [ { 'setVariable': { 'variableName': 'string', 'value': 'string' }, 'sns': { 'targetArn': 'string' }, 'iotTopicPublish': { 'mqttTopic': 'string' }, 'setTimer': { 'timerName': 'string', 'seconds': 123, 'durationExpression': 'string' }, 'clearTimer': { 'timerName': 'string' }, 'resetTimer': { 'timerName': 'string' }, 'lambda': { 'functionArn': 'string' }, 'iotEvents': { 'inputName': 'string' }, 'sqs': { 'queueUrl': 'string', 'useBase64': True|False }, 'firehose': { 'deliveryStreamName': 'string', 'separator': 'string' } }, ], 'nextState': 'string' }, ] }, 'onEnter': { 'events': [ { 'eventName': 'string', 'condition': 'string', 'actions': [ { 'setVariable': { 'variableName': 'string', 'value': 'string' }, 'sns': { 'targetArn': 'string' }, 'iotTopicPublish': { 'mqttTopic': 'string' }, 'setTimer': { 'timerName': 'string', 'seconds': 123, 'durationExpression': 'string' }, 'clearTimer': { 'timerName': 'string' }, 'resetTimer': { 'timerName': 'string' }, 'lambda': { 'functionArn': 'string' }, 'iotEvents': { 'inputName': 'string' }, 'sqs': { 'queueUrl': 'string', 'useBase64': True|False }, 'firehose': { 'deliveryStreamName': 'string', 'separator': 'string' } }, ] }, ] }, 'onExit': { 'events': [ { 'eventName': 'string', 'condition': 'string', 'actions': [ { 'setVariable': { 'variableName': 'string', 'value': 'string' }, 'sns': { 'targetArn': 'string' }, 'iotTopicPublish': { 'mqttTopic': 'string' }, 'setTimer': { 'timerName': 'string', 'seconds': 123, 'durationExpression': 'string' }, 'clearTimer': { 'timerName': 'string' }, 'resetTimer': { 'timerName': 'string' }, 'lambda': { 'functionArn': 'string' }, 'iotEvents': { 'inputName': 'string' }, 'sqs': { 'queueUrl': 'string', 'useBase64': True|False }, 'firehose': { 'deliveryStreamName': 'string', 'separator': 'string' } }, ] }, ] } }, ], 'initialStateName': 'string' }, 'detectorModelConfiguration': { 'detectorModelName': 'string', 'detectorModelVersion': 'string', 'detectorModelDescription': 'string', 'detectorModelArn': 'string', 'roleArn': 'string', 'creationTime': datetime(2015, 1, 1), 'lastUpdateTime': datetime(2015, 1, 1), 'status': 'ACTIVE'|'ACTIVATING'|'INACTIVE'|'DEPRECATED'|'DRAFT'|'PAUSED'|'FAILED', 'key': 'string', 'evaluationMethod': 'BATCH'|'SERIAL' } } }
Response Structure
(dict) --
detectorModel (dict) --
Information about the detector model.
detectorModelDefinition (dict) --
Information that defines how a detector operates.
states (list) --
Information about the states of the detector.
(dict) --
Information that defines a state of a detector.
stateName (string) --
The name of the state.
onInput (dict) --
When an input is received and the condition is TRUE, perform the specified actions .
events (list) --
Specifies the actions performed when the condition evaluates to TRUE.
(dict) --
Specifies the actions to be performed when the condition evaluates to TRUE.
eventName (string) --
The name of the event.
condition (string) --
Optional. The Boolean expression that, when TRUE, causes the actions to be performed. If not present, the actions are performed (=TRUE). If the expression result is not a Boolean value, the actions are not performed (=FALSE).
actions (list) --
The actions to be performed.
(dict) --
An action to be performed when the condition is TRUE.
setVariable (dict) --
Sets a variable to a specified value.
variableName (string) --
The name of the variable.
value (string) --
The new value of the variable.
sns (dict) --
Sends an Amazon SNS message.
targetArn (string) --
The ARN of the Amazon SNS target where the message is sent.
iotTopicPublish (dict) --
Publishes an MQTT message with the given topic to the AWS IoT message broker.
mqttTopic (string) --
The MQTT topic of the message. You can use a string expression that includes variables ($variable.<variable-name> ) and input values ($input.<input-name>.<path-to-datum> ) as the topic string.
setTimer (dict) --
Information needed to set the timer.
timerName (string) --
The name of the timer.
seconds (integer) --
The number of seconds until the timer expires. The minimum value is 60 seconds to ensure accuracy.
durationExpression (string) --
The duration of the timer, in seconds. You can use a string expression that includes numbers, variables ($variable.<variable-name> ), and input values ($input.<input-name>.<path-to-datum> ) as the duration. The range of the duration is 1-31622400 seconds. To ensure accuracy, the minimum duration is 60 seconds. The evaluated result of the duration is rounded down to the nearest whole number.
clearTimer (dict) --
Information needed to clear the timer.
timerName (string) --
The name of the timer to clear.
resetTimer (dict) --
Information needed to reset the timer.
timerName (string) --
The name of the timer to reset.
lambda (dict) --
Calls a Lambda function, passing in information about the detector model instance and the event that triggered the action.
functionArn (string) --
The ARN of the Lambda function that is executed.
iotEvents (dict) --
Sends an AWS IoT Events input, passing in information about the detector model instance and the event that triggered the action.
inputName (string) --
The name of the AWS IoT Events input where the data is sent.
sqs (dict) --
Sends information about the detector model instance and the event that triggered the action to an Amazon SQS queue.
queueUrl (string) --
The URL of the SQS queue where the data is written.
useBase64 (boolean) --
Set this to TRUE if you want the data to be base-64 encoded before it is written to the queue.
firehose (dict) --
Sends information about the detector model instance and the event that triggered the action to an Amazon Kinesis Data Firehose delivery stream.
deliveryStreamName (string) --
The name of the Kinesis Data Firehose delivery stream where the data is written.
separator (string) --
A character separator that is used to separate records written to the Kinesis Data Firehose delivery stream. Valid values are: 'n' (newline), 't' (tab), 'rn' (Windows newline), ',' (comma).
transitionEvents (list) --
Specifies the actions performed, and the next state entered, when a condition evaluates to TRUE.
(dict) --
Specifies the actions performed and the next state entered when a condition evaluates to TRUE.
eventName (string) --
The name of the transition event.
condition (string) --
Required. A Boolean expression that when TRUE causes the actions to be performed and the nextState to be entered.
actions (list) --
The actions to be performed.
(dict) --
An action to be performed when the condition is TRUE.
setVariable (dict) --
Sets a variable to a specified value.
variableName (string) --
The name of the variable.
value (string) --
The new value of the variable.
sns (dict) --
Sends an Amazon SNS message.
targetArn (string) --
The ARN of the Amazon SNS target where the message is sent.
iotTopicPublish (dict) --
Publishes an MQTT message with the given topic to the AWS IoT message broker.
mqttTopic (string) --
The MQTT topic of the message. You can use a string expression that includes variables ($variable.<variable-name> ) and input values ($input.<input-name>.<path-to-datum> ) as the topic string.
setTimer (dict) --
Information needed to set the timer.
timerName (string) --
The name of the timer.
seconds (integer) --
The number of seconds until the timer expires. The minimum value is 60 seconds to ensure accuracy.
durationExpression (string) --
The duration of the timer, in seconds. You can use a string expression that includes numbers, variables ($variable.<variable-name> ), and input values ($input.<input-name>.<path-to-datum> ) as the duration. The range of the duration is 1-31622400 seconds. To ensure accuracy, the minimum duration is 60 seconds. The evaluated result of the duration is rounded down to the nearest whole number.
clearTimer (dict) --
Information needed to clear the timer.
timerName (string) --
The name of the timer to clear.
resetTimer (dict) --
Information needed to reset the timer.
timerName (string) --
The name of the timer to reset.
lambda (dict) --
Calls a Lambda function, passing in information about the detector model instance and the event that triggered the action.
functionArn (string) --
The ARN of the Lambda function that is executed.
iotEvents (dict) --
Sends an AWS IoT Events input, passing in information about the detector model instance and the event that triggered the action.
inputName (string) --
The name of the AWS IoT Events input where the data is sent.
sqs (dict) --
Sends information about the detector model instance and the event that triggered the action to an Amazon SQS queue.
queueUrl (string) --
The URL of the SQS queue where the data is written.
useBase64 (boolean) --
Set this to TRUE if you want the data to be base-64 encoded before it is written to the queue.
firehose (dict) --
Sends information about the detector model instance and the event that triggered the action to an Amazon Kinesis Data Firehose delivery stream.
deliveryStreamName (string) --
The name of the Kinesis Data Firehose delivery stream where the data is written.
separator (string) --
A character separator that is used to separate records written to the Kinesis Data Firehose delivery stream. Valid values are: 'n' (newline), 't' (tab), 'rn' (Windows newline), ',' (comma).
nextState (string) --
The next state to enter.
onEnter (dict) --
When entering this state, perform these actions if the condition is TRUE.
events (list) --
Specifies the actions that are performed when the state is entered and the condition is TRUE.
(dict) --
Specifies the actions to be performed when the condition evaluates to TRUE.
eventName (string) --
The name of the event.
condition (string) --
Optional. The Boolean expression that, when TRUE, causes the actions to be performed. If not present, the actions are performed (=TRUE). If the expression result is not a Boolean value, the actions are not performed (=FALSE).
actions (list) --
The actions to be performed.
(dict) --
An action to be performed when the condition is TRUE.
setVariable (dict) --
Sets a variable to a specified value.
variableName (string) --
The name of the variable.
value (string) --
The new value of the variable.
sns (dict) --
Sends an Amazon SNS message.
targetArn (string) --
The ARN of the Amazon SNS target where the message is sent.
iotTopicPublish (dict) --
Publishes an MQTT message with the given topic to the AWS IoT message broker.
mqttTopic (string) --
The MQTT topic of the message. You can use a string expression that includes variables ($variable.<variable-name> ) and input values ($input.<input-name>.<path-to-datum> ) as the topic string.
setTimer (dict) --
Information needed to set the timer.
timerName (string) --
The name of the timer.
seconds (integer) --
The number of seconds until the timer expires. The minimum value is 60 seconds to ensure accuracy.
durationExpression (string) --
The duration of the timer, in seconds. You can use a string expression that includes numbers, variables ($variable.<variable-name> ), and input values ($input.<input-name>.<path-to-datum> ) as the duration. The range of the duration is 1-31622400 seconds. To ensure accuracy, the minimum duration is 60 seconds. The evaluated result of the duration is rounded down to the nearest whole number.
clearTimer (dict) --
Information needed to clear the timer.
timerName (string) --
The name of the timer to clear.
resetTimer (dict) --
Information needed to reset the timer.
timerName (string) --
The name of the timer to reset.
lambda (dict) --
Calls a Lambda function, passing in information about the detector model instance and the event that triggered the action.
functionArn (string) --
The ARN of the Lambda function that is executed.
iotEvents (dict) --
Sends an AWS IoT Events input, passing in information about the detector model instance and the event that triggered the action.
inputName (string) --
The name of the AWS IoT Events input where the data is sent.
sqs (dict) --
Sends information about the detector model instance and the event that triggered the action to an Amazon SQS queue.
queueUrl (string) --
The URL of the SQS queue where the data is written.
useBase64 (boolean) --
Set this to TRUE if you want the data to be base-64 encoded before it is written to the queue.
firehose (dict) --
Sends information about the detector model instance and the event that triggered the action to an Amazon Kinesis Data Firehose delivery stream.
deliveryStreamName (string) --
The name of the Kinesis Data Firehose delivery stream where the data is written.
separator (string) --
A character separator that is used to separate records written to the Kinesis Data Firehose delivery stream. Valid values are: 'n' (newline), 't' (tab), 'rn' (Windows newline), ',' (comma).
onExit (dict) --
When exiting this state, perform these actions if the specified condition is TRUE.
events (list) --
Specifies the actions that are performed when the state is exited and the condition is TRUE.
(dict) --
Specifies the actions to be performed when the condition evaluates to TRUE.
eventName (string) --
The name of the event.
condition (string) --
Optional. The Boolean expression that, when TRUE, causes the actions to be performed. If not present, the actions are performed (=TRUE). If the expression result is not a Boolean value, the actions are not performed (=FALSE).
actions (list) --
The actions to be performed.
(dict) --
An action to be performed when the condition is TRUE.
setVariable (dict) --
Sets a variable to a specified value.
variableName (string) --
The name of the variable.
value (string) --
The new value of the variable.
sns (dict) --
Sends an Amazon SNS message.
targetArn (string) --
The ARN of the Amazon SNS target where the message is sent.
iotTopicPublish (dict) --
Publishes an MQTT message with the given topic to the AWS IoT message broker.
mqttTopic (string) --
The MQTT topic of the message. You can use a string expression that includes variables ($variable.<variable-name> ) and input values ($input.<input-name>.<path-to-datum> ) as the topic string.
setTimer (dict) --
Information needed to set the timer.
timerName (string) --
The name of the timer.
seconds (integer) --
The number of seconds until the timer expires. The minimum value is 60 seconds to ensure accuracy.
durationExpression (string) --
The duration of the timer, in seconds. You can use a string expression that includes numbers, variables ($variable.<variable-name> ), and input values ($input.<input-name>.<path-to-datum> ) as the duration. The range of the duration is 1-31622400 seconds. To ensure accuracy, the minimum duration is 60 seconds. The evaluated result of the duration is rounded down to the nearest whole number.
clearTimer (dict) --
Information needed to clear the timer.
timerName (string) --
The name of the timer to clear.
resetTimer (dict) --
Information needed to reset the timer.
timerName (string) --
The name of the timer to reset.
lambda (dict) --
Calls a Lambda function, passing in information about the detector model instance and the event that triggered the action.
functionArn (string) --
The ARN of the Lambda function that is executed.
iotEvents (dict) --
Sends an AWS IoT Events input, passing in information about the detector model instance and the event that triggered the action.
inputName (string) --
The name of the AWS IoT Events input where the data is sent.
sqs (dict) --
Sends information about the detector model instance and the event that triggered the action to an Amazon SQS queue.
queueUrl (string) --
The URL of the SQS queue where the data is written.
useBase64 (boolean) --
Set this to TRUE if you want the data to be base-64 encoded before it is written to the queue.
firehose (dict) --
Sends information about the detector model instance and the event that triggered the action to an Amazon Kinesis Data Firehose delivery stream.
deliveryStreamName (string) --
The name of the Kinesis Data Firehose delivery stream where the data is written.
separator (string) --
A character separator that is used to separate records written to the Kinesis Data Firehose delivery stream. Valid values are: 'n' (newline), 't' (tab), 'rn' (Windows newline), ',' (comma).
initialStateName (string) --
The state that is entered at the creation of each detector (instance).
detectorModelConfiguration (dict) --
Information about how the detector is configured.
detectorModelName (string) --
The name of the detector model.
detectorModelVersion (string) --
The version of the detector model.
detectorModelDescription (string) --
A brief description of the detector model.
detectorModelArn (string) --
The ARN of the detector model.
roleArn (string) --
The ARN of the role that grants permission to AWS IoT Events to perform its operations.
creationTime (datetime) --
The time the detector model was created.
lastUpdateTime (datetime) --
The time the detector model was last updated.
status (string) --
The status of the detector model.
key (string) --
The input attribute key used to identify a device or system to create a detector (an instance of the detector model) and then to route each input received to the appropriate detector (instance). This parameter uses a JSON-path expression in the message payload of each input to specify the attribute-value pair that is used to identify the device associated with the input.
evaluationMethod (string) --
Information about the order in which events are evaluated and how actions are executed.
{'detectorModelDefinition': {'states': {'onEnter': {'events': {'actions': {'setTimer': {'durationExpression': 'string'}}}}, 'onExit': {'events': {'actions': {'setTimer': {'durationExpression': 'string'}}}}, 'onInput': {'events': {'actions': {'setTimer': {'durationExpression': 'string'}}}, 'transitionEvents': {'actions': {'setTimer': {'durationExpression': 'string'}}}}}}}
Updates a detector model. Detectors (instances) spawned by the previous version are deleted and then re-created as new inputs arrive.
See also: AWS API Documentation
Request Syntax
client.update_detector_model( detectorModelName='string', detectorModelDefinition={ 'states': [ { 'stateName': 'string', 'onInput': { 'events': [ { 'eventName': 'string', 'condition': 'string', 'actions': [ { 'setVariable': { 'variableName': 'string', 'value': 'string' }, 'sns': { 'targetArn': 'string' }, 'iotTopicPublish': { 'mqttTopic': 'string' }, 'setTimer': { 'timerName': 'string', 'seconds': 123, 'durationExpression': 'string' }, 'clearTimer': { 'timerName': 'string' }, 'resetTimer': { 'timerName': 'string' }, 'lambda': { 'functionArn': 'string' }, 'iotEvents': { 'inputName': 'string' }, 'sqs': { 'queueUrl': 'string', 'useBase64': True|False }, 'firehose': { 'deliveryStreamName': 'string', 'separator': 'string' } }, ] }, ], 'transitionEvents': [ { 'eventName': 'string', 'condition': 'string', 'actions': [ { 'setVariable': { 'variableName': 'string', 'value': 'string' }, 'sns': { 'targetArn': 'string' }, 'iotTopicPublish': { 'mqttTopic': 'string' }, 'setTimer': { 'timerName': 'string', 'seconds': 123, 'durationExpression': 'string' }, 'clearTimer': { 'timerName': 'string' }, 'resetTimer': { 'timerName': 'string' }, 'lambda': { 'functionArn': 'string' }, 'iotEvents': { 'inputName': 'string' }, 'sqs': { 'queueUrl': 'string', 'useBase64': True|False }, 'firehose': { 'deliveryStreamName': 'string', 'separator': 'string' } }, ], 'nextState': 'string' }, ] }, 'onEnter': { 'events': [ { 'eventName': 'string', 'condition': 'string', 'actions': [ { 'setVariable': { 'variableName': 'string', 'value': 'string' }, 'sns': { 'targetArn': 'string' }, 'iotTopicPublish': { 'mqttTopic': 'string' }, 'setTimer': { 'timerName': 'string', 'seconds': 123, 'durationExpression': 'string' }, 'clearTimer': { 'timerName': 'string' }, 'resetTimer': { 'timerName': 'string' }, 'lambda': { 'functionArn': 'string' }, 'iotEvents': { 'inputName': 'string' }, 'sqs': { 'queueUrl': 'string', 'useBase64': True|False }, 'firehose': { 'deliveryStreamName': 'string', 'separator': 'string' } }, ] }, ] }, 'onExit': { 'events': [ { 'eventName': 'string', 'condition': 'string', 'actions': [ { 'setVariable': { 'variableName': 'string', 'value': 'string' }, 'sns': { 'targetArn': 'string' }, 'iotTopicPublish': { 'mqttTopic': 'string' }, 'setTimer': { 'timerName': 'string', 'seconds': 123, 'durationExpression': 'string' }, 'clearTimer': { 'timerName': 'string' }, 'resetTimer': { 'timerName': 'string' }, 'lambda': { 'functionArn': 'string' }, 'iotEvents': { 'inputName': 'string' }, 'sqs': { 'queueUrl': 'string', 'useBase64': True|False }, 'firehose': { 'deliveryStreamName': 'string', 'separator': 'string' } }, ] }, ] } }, ], 'initialStateName': 'string' }, detectorModelDescription='string', roleArn='string', evaluationMethod='BATCH'|'SERIAL' )
string
[REQUIRED]
The name of the detector model that is updated.
dict
[REQUIRED]
Information that defines how a detector operates.
states (list) -- [REQUIRED]
Information about the states of the detector.
(dict) --
Information that defines a state of a detector.
stateName (string) -- [REQUIRED]
The name of the state.
onInput (dict) --
When an input is received and the condition is TRUE, perform the specified actions .
events (list) --
Specifies the actions performed when the condition evaluates to TRUE.
(dict) --
Specifies the actions to be performed when the condition evaluates to TRUE.
eventName (string) -- [REQUIRED]
The name of the event.
condition (string) --
Optional. The Boolean expression that, when TRUE, causes the actions to be performed. If not present, the actions are performed (=TRUE). If the expression result is not a Boolean value, the actions are not performed (=FALSE).
actions (list) --
The actions to be performed.
(dict) --
An action to be performed when the condition is TRUE.
setVariable (dict) --
Sets a variable to a specified value.
variableName (string) -- [REQUIRED]
The name of the variable.
value (string) -- [REQUIRED]
The new value of the variable.
sns (dict) --
Sends an Amazon SNS message.
targetArn (string) -- [REQUIRED]
The ARN of the Amazon SNS target where the message is sent.
iotTopicPublish (dict) --
Publishes an MQTT message with the given topic to the AWS IoT message broker.
mqttTopic (string) -- [REQUIRED]
The MQTT topic of the message. You can use a string expression that includes variables ($variable.<variable-name> ) and input values ($input.<input-name>.<path-to-datum> ) as the topic string.
setTimer (dict) --
Information needed to set the timer.
timerName (string) -- [REQUIRED]
The name of the timer.
seconds (integer) --
The number of seconds until the timer expires. The minimum value is 60 seconds to ensure accuracy.
durationExpression (string) --
The duration of the timer, in seconds. You can use a string expression that includes numbers, variables ($variable.<variable-name> ), and input values ($input.<input-name>.<path-to-datum> ) as the duration. The range of the duration is 1-31622400 seconds. To ensure accuracy, the minimum duration is 60 seconds. The evaluated result of the duration is rounded down to the nearest whole number.
clearTimer (dict) --
Information needed to clear the timer.
timerName (string) -- [REQUIRED]
The name of the timer to clear.
resetTimer (dict) --
Information needed to reset the timer.
timerName (string) -- [REQUIRED]
The name of the timer to reset.
lambda (dict) --
Calls a Lambda function, passing in information about the detector model instance and the event that triggered the action.
functionArn (string) -- [REQUIRED]
The ARN of the Lambda function that is executed.
iotEvents (dict) --
Sends an AWS IoT Events input, passing in information about the detector model instance and the event that triggered the action.
inputName (string) -- [REQUIRED]
The name of the AWS IoT Events input where the data is sent.
sqs (dict) --
Sends information about the detector model instance and the event that triggered the action to an Amazon SQS queue.
queueUrl (string) -- [REQUIRED]
The URL of the SQS queue where the data is written.
useBase64 (boolean) --
Set this to TRUE if you want the data to be base-64 encoded before it is written to the queue.
firehose (dict) --
Sends information about the detector model instance and the event that triggered the action to an Amazon Kinesis Data Firehose delivery stream.
deliveryStreamName (string) -- [REQUIRED]
The name of the Kinesis Data Firehose delivery stream where the data is written.
separator (string) --
A character separator that is used to separate records written to the Kinesis Data Firehose delivery stream. Valid values are: 'n' (newline), 't' (tab), 'rn' (Windows newline), ',' (comma).
transitionEvents (list) --
Specifies the actions performed, and the next state entered, when a condition evaluates to TRUE.
(dict) --
Specifies the actions performed and the next state entered when a condition evaluates to TRUE.
eventName (string) -- [REQUIRED]
The name of the transition event.
condition (string) -- [REQUIRED]
Required. A Boolean expression that when TRUE causes the actions to be performed and the nextState to be entered.
actions (list) --
The actions to be performed.
(dict) --
An action to be performed when the condition is TRUE.
setVariable (dict) --
Sets a variable to a specified value.
variableName (string) -- [REQUIRED]
The name of the variable.
value (string) -- [REQUIRED]
The new value of the variable.
sns (dict) --
Sends an Amazon SNS message.
targetArn (string) -- [REQUIRED]
The ARN of the Amazon SNS target where the message is sent.
iotTopicPublish (dict) --
Publishes an MQTT message with the given topic to the AWS IoT message broker.
mqttTopic (string) -- [REQUIRED]
The MQTT topic of the message. You can use a string expression that includes variables ($variable.<variable-name> ) and input values ($input.<input-name>.<path-to-datum> ) as the topic string.
setTimer (dict) --
Information needed to set the timer.
timerName (string) -- [REQUIRED]
The name of the timer.
seconds (integer) --
The number of seconds until the timer expires. The minimum value is 60 seconds to ensure accuracy.
durationExpression (string) --
The duration of the timer, in seconds. You can use a string expression that includes numbers, variables ($variable.<variable-name> ), and input values ($input.<input-name>.<path-to-datum> ) as the duration. The range of the duration is 1-31622400 seconds. To ensure accuracy, the minimum duration is 60 seconds. The evaluated result of the duration is rounded down to the nearest whole number.
clearTimer (dict) --
Information needed to clear the timer.
timerName (string) -- [REQUIRED]
The name of the timer to clear.
resetTimer (dict) --
Information needed to reset the timer.
timerName (string) -- [REQUIRED]
The name of the timer to reset.
lambda (dict) --
Calls a Lambda function, passing in information about the detector model instance and the event that triggered the action.
functionArn (string) -- [REQUIRED]
The ARN of the Lambda function that is executed.
iotEvents (dict) --
Sends an AWS IoT Events input, passing in information about the detector model instance and the event that triggered the action.
inputName (string) -- [REQUIRED]
The name of the AWS IoT Events input where the data is sent.
sqs (dict) --
Sends information about the detector model instance and the event that triggered the action to an Amazon SQS queue.
queueUrl (string) -- [REQUIRED]
The URL of the SQS queue where the data is written.
useBase64 (boolean) --
Set this to TRUE if you want the data to be base-64 encoded before it is written to the queue.
firehose (dict) --
Sends information about the detector model instance and the event that triggered the action to an Amazon Kinesis Data Firehose delivery stream.
deliveryStreamName (string) -- [REQUIRED]
The name of the Kinesis Data Firehose delivery stream where the data is written.
separator (string) --
A character separator that is used to separate records written to the Kinesis Data Firehose delivery stream. Valid values are: 'n' (newline), 't' (tab), 'rn' (Windows newline), ',' (comma).
nextState (string) -- [REQUIRED]
The next state to enter.
onEnter (dict) --
When entering this state, perform these actions if the condition is TRUE.
events (list) --
Specifies the actions that are performed when the state is entered and the condition is TRUE.
(dict) --
Specifies the actions to be performed when the condition evaluates to TRUE.
eventName (string) -- [REQUIRED]
The name of the event.
condition (string) --
Optional. The Boolean expression that, when TRUE, causes the actions to be performed. If not present, the actions are performed (=TRUE). If the expression result is not a Boolean value, the actions are not performed (=FALSE).
actions (list) --
The actions to be performed.
(dict) --
An action to be performed when the condition is TRUE.
setVariable (dict) --
Sets a variable to a specified value.
variableName (string) -- [REQUIRED]
The name of the variable.
value (string) -- [REQUIRED]
The new value of the variable.
sns (dict) --
Sends an Amazon SNS message.
targetArn (string) -- [REQUIRED]
The ARN of the Amazon SNS target where the message is sent.
iotTopicPublish (dict) --
Publishes an MQTT message with the given topic to the AWS IoT message broker.
mqttTopic (string) -- [REQUIRED]
The MQTT topic of the message. You can use a string expression that includes variables ($variable.<variable-name> ) and input values ($input.<input-name>.<path-to-datum> ) as the topic string.
setTimer (dict) --
Information needed to set the timer.
timerName (string) -- [REQUIRED]
The name of the timer.
seconds (integer) --
The number of seconds until the timer expires. The minimum value is 60 seconds to ensure accuracy.
durationExpression (string) --
The duration of the timer, in seconds. You can use a string expression that includes numbers, variables ($variable.<variable-name> ), and input values ($input.<input-name>.<path-to-datum> ) as the duration. The range of the duration is 1-31622400 seconds. To ensure accuracy, the minimum duration is 60 seconds. The evaluated result of the duration is rounded down to the nearest whole number.
clearTimer (dict) --
Information needed to clear the timer.
timerName (string) -- [REQUIRED]
The name of the timer to clear.
resetTimer (dict) --
Information needed to reset the timer.
timerName (string) -- [REQUIRED]
The name of the timer to reset.
lambda (dict) --
Calls a Lambda function, passing in information about the detector model instance and the event that triggered the action.
functionArn (string) -- [REQUIRED]
The ARN of the Lambda function that is executed.
iotEvents (dict) --
Sends an AWS IoT Events input, passing in information about the detector model instance and the event that triggered the action.
inputName (string) -- [REQUIRED]
The name of the AWS IoT Events input where the data is sent.
sqs (dict) --
Sends information about the detector model instance and the event that triggered the action to an Amazon SQS queue.
queueUrl (string) -- [REQUIRED]
The URL of the SQS queue where the data is written.
useBase64 (boolean) --
Set this to TRUE if you want the data to be base-64 encoded before it is written to the queue.
firehose (dict) --
Sends information about the detector model instance and the event that triggered the action to an Amazon Kinesis Data Firehose delivery stream.
deliveryStreamName (string) -- [REQUIRED]
The name of the Kinesis Data Firehose delivery stream where the data is written.
separator (string) --
A character separator that is used to separate records written to the Kinesis Data Firehose delivery stream. Valid values are: 'n' (newline), 't' (tab), 'rn' (Windows newline), ',' (comma).
onExit (dict) --
When exiting this state, perform these actions if the specified condition is TRUE.
events (list) --
Specifies the actions that are performed when the state is exited and the condition is TRUE.
(dict) --
Specifies the actions to be performed when the condition evaluates to TRUE.
eventName (string) -- [REQUIRED]
The name of the event.
condition (string) --
Optional. The Boolean expression that, when TRUE, causes the actions to be performed. If not present, the actions are performed (=TRUE). If the expression result is not a Boolean value, the actions are not performed (=FALSE).
actions (list) --
The actions to be performed.
(dict) --
An action to be performed when the condition is TRUE.
setVariable (dict) --
Sets a variable to a specified value.
variableName (string) -- [REQUIRED]
The name of the variable.
value (string) -- [REQUIRED]
The new value of the variable.
sns (dict) --
Sends an Amazon SNS message.
targetArn (string) -- [REQUIRED]
The ARN of the Amazon SNS target where the message is sent.
iotTopicPublish (dict) --
Publishes an MQTT message with the given topic to the AWS IoT message broker.
mqttTopic (string) -- [REQUIRED]
The MQTT topic of the message. You can use a string expression that includes variables ($variable.<variable-name> ) and input values ($input.<input-name>.<path-to-datum> ) as the topic string.
setTimer (dict) --
Information needed to set the timer.
timerName (string) -- [REQUIRED]
The name of the timer.
seconds (integer) --
The number of seconds until the timer expires. The minimum value is 60 seconds to ensure accuracy.
durationExpression (string) --
The duration of the timer, in seconds. You can use a string expression that includes numbers, variables ($variable.<variable-name> ), and input values ($input.<input-name>.<path-to-datum> ) as the duration. The range of the duration is 1-31622400 seconds. To ensure accuracy, the minimum duration is 60 seconds. The evaluated result of the duration is rounded down to the nearest whole number.
clearTimer (dict) --
Information needed to clear the timer.
timerName (string) -- [REQUIRED]
The name of the timer to clear.
resetTimer (dict) --
Information needed to reset the timer.
timerName (string) -- [REQUIRED]
The name of the timer to reset.
lambda (dict) --
Calls a Lambda function, passing in information about the detector model instance and the event that triggered the action.
functionArn (string) -- [REQUIRED]
The ARN of the Lambda function that is executed.
iotEvents (dict) --
Sends an AWS IoT Events input, passing in information about the detector model instance and the event that triggered the action.
inputName (string) -- [REQUIRED]
The name of the AWS IoT Events input where the data is sent.
sqs (dict) --
Sends information about the detector model instance and the event that triggered the action to an Amazon SQS queue.
queueUrl (string) -- [REQUIRED]
The URL of the SQS queue where the data is written.
useBase64 (boolean) --
Set this to TRUE if you want the data to be base-64 encoded before it is written to the queue.
firehose (dict) --
Sends information about the detector model instance and the event that triggered the action to an Amazon Kinesis Data Firehose delivery stream.
deliveryStreamName (string) -- [REQUIRED]
The name of the Kinesis Data Firehose delivery stream where the data is written.
separator (string) --
A character separator that is used to separate records written to the Kinesis Data Firehose delivery stream. Valid values are: 'n' (newline), 't' (tab), 'rn' (Windows newline), ',' (comma).
initialStateName (string) -- [REQUIRED]
The state that is entered at the creation of each detector (instance).
string
A brief description of the detector model.
string
[REQUIRED]
The ARN of the role that grants permission to AWS IoT Events to perform its operations.
string
Information about the order in which events are evaluated and how actions are executed.
dict
Response Syntax
{ 'detectorModelConfiguration': { 'detectorModelName': 'string', 'detectorModelVersion': 'string', 'detectorModelDescription': 'string', 'detectorModelArn': 'string', 'roleArn': 'string', 'creationTime': datetime(2015, 1, 1), 'lastUpdateTime': datetime(2015, 1, 1), 'status': 'ACTIVE'|'ACTIVATING'|'INACTIVE'|'DEPRECATED'|'DRAFT'|'PAUSED'|'FAILED', 'key': 'string', 'evaluationMethod': 'BATCH'|'SERIAL' } }
Response Structure
(dict) --
detectorModelConfiguration (dict) --
Information about how the detector model is configured.
detectorModelName (string) --
The name of the detector model.
detectorModelVersion (string) --
The version of the detector model.
detectorModelDescription (string) --
A brief description of the detector model.
detectorModelArn (string) --
The ARN of the detector model.
roleArn (string) --
The ARN of the role that grants permission to AWS IoT Events to perform its operations.
creationTime (datetime) --
The time the detector model was created.
lastUpdateTime (datetime) --
The time the detector model was last updated.
status (string) --
The status of the detector model.
key (string) --
The input attribute key used to identify a device or system to create a detector (an instance of the detector model) and then to route each input received to the appropriate detector (instance). This parameter uses a JSON-path expression in the message payload of each input to specify the attribute-value pair that is used to identify the device associated with the input.
evaluationMethod (string) --
Information about the order in which events are evaluated and how actions are executed.