UpdateDetectorModel - AWS IoT Events

UpdateDetectorModel

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 AWS 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 AWS SDKs, see the following: