UpdateDetectorModel
Important
End of support notice: On May 20,2026, Amazon will end support for Amazon IoT Events. After May 20,2026, you will no longer be able to access the Amazon IoT Events console or Amazon IoT Events resources. For more information, see Amazon IoT Events end of support.
Updates a detector model. Detectors (instances) spawned by the previous version are deleted and then re-created as new inputs arrive.
Request Syntax
POST /detector-models/detectorModelName
HTTP/1.1
Content-type: application/json
{
"detectorModelDefinition": {
"initialStateName": "string
",
"states": [
{
"onEnter": {
"events": [
{
"actions": [
{
"clearTimer": {
"timerName": "string
"
},
"dynamoDB": {
"hashKeyField": "string
",
"hashKeyType": "string
",
"hashKeyValue": "string
",
"operation": "string
",
"payload": {
"contentExpression": "string
",
"type": "string
"
},
"payloadField": "string
",
"rangeKeyField": "string
",
"rangeKeyType": "string
",
"rangeKeyValue": "string
",
"tableName": "string
"
},
"dynamoDBv2": {
"payload": {
"contentExpression": "string
",
"type": "string
"
},
"tableName": "string
"
},
"firehose": {
"deliveryStreamName": "string
",
"payload": {
"contentExpression": "string
",
"type": "string
"
},
"separator": "string
"
},
"iotEvents": {
"inputName": "string
",
"payload": {
"contentExpression": "string
",
"type": "string
"
}
},
"iotSiteWise": {
"assetId": "string
",
"entryId": "string
",
"propertyAlias": "string
",
"propertyId": "string
",
"propertyValue": {
"quality": "string
",
"timestamp": {
"offsetInNanos": "string
",
"timeInSeconds": "string
"
},
"value": {
"booleanValue": "string
",
"doubleValue": "string
",
"integerValue": "string
",
"stringValue": "string
"
}
}
},
"iotTopicPublish": {
"mqttTopic": "string
",
"payload": {
"contentExpression": "string
",
"type": "string
"
}
},
"lambda": {
"functionArn": "string
",
"payload": {
"contentExpression": "string
",
"type": "string
"
}
},
"resetTimer": {
"timerName": "string
"
},
"setTimer": {
"durationExpression": "string
",
"seconds": number
,
"timerName": "string
"
},
"setVariable": {
"value": "string
",
"variableName": "string
"
},
"sns": {
"payload": {
"contentExpression": "string
",
"type": "string
"
},
"targetArn": "string
"
},
"sqs": {
"payload": {
"contentExpression": "string
",
"type": "string
"
},
"queueUrl": "string
",
"useBase64": boolean
}
}
],
"condition": "string
",
"eventName": "string
"
}
]
},
"onExit": {
"events": [
{
"actions": [
{
"clearTimer": {
"timerName": "string
"
},
"dynamoDB": {
"hashKeyField": "string
",
"hashKeyType": "string
",
"hashKeyValue": "string
",
"operation": "string
",
"payload": {
"contentExpression": "string
",
"type": "string
"
},
"payloadField": "string
",
"rangeKeyField": "string
",
"rangeKeyType": "string
",
"rangeKeyValue": "string
",
"tableName": "string
"
},
"dynamoDBv2": {
"payload": {
"contentExpression": "string
",
"type": "string
"
},
"tableName": "string
"
},
"firehose": {
"deliveryStreamName": "string
",
"payload": {
"contentExpression": "string
",
"type": "string
"
},
"separator": "string
"
},
"iotEvents": {
"inputName": "string
",
"payload": {
"contentExpression": "string
",
"type": "string
"
}
},
"iotSiteWise": {
"assetId": "string
",
"entryId": "string
",
"propertyAlias": "string
",
"propertyId": "string
",
"propertyValue": {
"quality": "string
",
"timestamp": {
"offsetInNanos": "string
",
"timeInSeconds": "string
"
},
"value": {
"booleanValue": "string
",
"doubleValue": "string
",
"integerValue": "string
",
"stringValue": "string
"
}
}
},
"iotTopicPublish": {
"mqttTopic": "string
",
"payload": {
"contentExpression": "string
",
"type": "string
"
}
},
"lambda": {
"functionArn": "string
",
"payload": {
"contentExpression": "string
",
"type": "string
"
}
},
"resetTimer": {
"timerName": "string
"
},
"setTimer": {
"durationExpression": "string
",
"seconds": number
,
"timerName": "string
"
},
"setVariable": {
"value": "string
",
"variableName": "string
"
},
"sns": {
"payload": {
"contentExpression": "string
",
"type": "string
"
},
"targetArn": "string
"
},
"sqs": {
"payload": {
"contentExpression": "string
",
"type": "string
"
},
"queueUrl": "string
",
"useBase64": boolean
}
}
],
"condition": "string
",
"eventName": "string
"
}
]
},
"onInput": {
"events": [
{
"actions": [
{
"clearTimer": {
"timerName": "string
"
},
"dynamoDB": {
"hashKeyField": "string
",
"hashKeyType": "string
",
"hashKeyValue": "string
",
"operation": "string
",
"payload": {
"contentExpression": "string
",
"type": "string
"
},
"payloadField": "string
",
"rangeKeyField": "string
",
"rangeKeyType": "string
",
"rangeKeyValue": "string
",
"tableName": "string
"
},
"dynamoDBv2": {
"payload": {
"contentExpression": "string
",
"type": "string
"
},
"tableName": "string
"
},
"firehose": {
"deliveryStreamName": "string
",
"payload": {
"contentExpression": "string
",
"type": "string
"
},
"separator": "string
"
},
"iotEvents": {
"inputName": "string
",
"payload": {
"contentExpression": "string
",
"type": "string
"
}
},
"iotSiteWise": {
"assetId": "string
",
"entryId": "string
",
"propertyAlias": "string
",
"propertyId": "string
",
"propertyValue": {
"quality": "string
",
"timestamp": {
"offsetInNanos": "string
",
"timeInSeconds": "string
"
},
"value": {
"booleanValue": "string
",
"doubleValue": "string
",
"integerValue": "string
",
"stringValue": "string
"
}
}
},
"iotTopicPublish": {
"mqttTopic": "string
",
"payload": {
"contentExpression": "string
",
"type": "string
"
}
},
"lambda": {
"functionArn": "string
",
"payload": {
"contentExpression": "string
",
"type": "string
"
}
},
"resetTimer": {
"timerName": "string
"
},
"setTimer": {
"durationExpression": "string
",
"seconds": number
,
"timerName": "string
"
},
"setVariable": {
"value": "string
",
"variableName": "string
"
},
"sns": {
"payload": {
"contentExpression": "string
",
"type": "string
"
},
"targetArn": "string
"
},
"sqs": {
"payload": {
"contentExpression": "string
",
"type": "string
"
},
"queueUrl": "string
",
"useBase64": boolean
}
}
],
"condition": "string
",
"eventName": "string
"
}
],
"transitionEvents": [
{
"actions": [
{
"clearTimer": {
"timerName": "string
"
},
"dynamoDB": {
"hashKeyField": "string
",
"hashKeyType": "string
",
"hashKeyValue": "string
",
"operation": "string
",
"payload": {
"contentExpression": "string
",
"type": "string
"
},
"payloadField": "string
",
"rangeKeyField": "string
",
"rangeKeyType": "string
",
"rangeKeyValue": "string
",
"tableName": "string
"
},
"dynamoDBv2": {
"payload": {
"contentExpression": "string
",
"type": "string
"
},
"tableName": "string
"
},
"firehose": {
"deliveryStreamName": "string
",
"payload": {
"contentExpression": "string
",
"type": "string
"
},
"separator": "string
"
},
"iotEvents": {
"inputName": "string
",
"payload": {
"contentExpression": "string
",
"type": "string
"
}
},
"iotSiteWise": {
"assetId": "string
",
"entryId": "string
",
"propertyAlias": "string
",
"propertyId": "string
",
"propertyValue": {
"quality": "string
",
"timestamp": {
"offsetInNanos": "string
",
"timeInSeconds": "string
"
},
"value": {
"booleanValue": "string
",
"doubleValue": "string
",
"integerValue": "string
",
"stringValue": "string
"
}
}
},
"iotTopicPublish": {
"mqttTopic": "string
",
"payload": {
"contentExpression": "string
",
"type": "string
"
}
},
"lambda": {
"functionArn": "string
",
"payload": {
"contentExpression": "string
",
"type": "string
"
}
},
"resetTimer": {
"timerName": "string
"
},
"setTimer": {
"durationExpression": "string
",
"seconds": number
,
"timerName": "string
"
},
"setVariable": {
"value": "string
",
"variableName": "string
"
},
"sns": {
"payload": {
"contentExpression": "string
",
"type": "string
"
},
"targetArn": "string
"
},
"sqs": {
"payload": {
"contentExpression": "string
",
"type": "string
"
},
"queueUrl": "string
",
"useBase64": boolean
}
}
],
"condition": "string
",
"eventName": "string
",
"nextState": "string
"
}
]
},
"stateName": "string
"
}
]
},
"detectorModelDescription": "string
",
"evaluationMethod": "string
",
"roleArn": "string
"
}
URI Request Parameters
The request uses the following URI parameters.
- detectorModelName
-
The name of the detector model that is updated.
Length Constraints: Minimum length of 1. Maximum length of 128.
Pattern:
^[a-zA-Z0-9_-]+$
Required: Yes
Request Body
The request accepts the following data in JSON format.
- detectorModelDefinition
-
Information that defines how a detector operates.
Type: DetectorModelDefinition object
Required: Yes
- detectorModelDescription
-
A brief description of the detector model.
Type: String
Length Constraints: Maximum length of 1024.
Required: No
- evaluationMethod
-
Information about the order in which events are evaluated and how actions are executed.
Type: String
Valid Values:
BATCH | SERIAL
Required: No
- roleArn
-
The ARN of the role that grants permission to Amazon IoT Events to perform its operations.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 2048.
Required: Yes
Response Syntax
HTTP/1.1 200
Content-type: application/json
{
"detectorModelConfiguration": {
"creationTime": number,
"detectorModelArn": "string",
"detectorModelDescription": "string",
"detectorModelName": "string",
"detectorModelVersion": "string",
"evaluationMethod": "string",
"key": "string",
"lastUpdateTime": number,
"roleArn": "string",
"status": "string"
}
}
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
The following data is returned in JSON format by the service.
- detectorModelConfiguration
-
Information about how the detector model is configured.
Type: DetectorModelConfiguration object
Errors
For information about the errors that are common to all actions, see Common Errors.
- InternalFailureException
-
An internal failure occurred.
HTTP Status Code: 500
- InvalidRequestException
-
The request was invalid.
HTTP Status Code: 400
- ResourceInUseException
-
The resource is in use.
HTTP Status Code: 409
- ResourceNotFoundException
-
The resource was not found.
HTTP Status Code: 404
- ServiceUnavailableException
-
The service is currently unavailable.
HTTP Status Code: 503
- ThrottlingException
-
The request could not be completed due to throttling.
HTTP Status Code: 429
See Also
For more information about using this API in one of the language-specific Amazon SDKs, see the following: