- Navigation GuideYou are on a Command (operation) page with structural examples. Use the navigation breadcrumb if you would like to return to the Client landing page.
UpdateDetectorModelCommand
Updates a detector model. Detectors (instances) spawned by the previous version are deleted and then re-created as new inputs arrive.
Example Syntax
Use a bare-bones client and the command you need to make an API call.
import { IoTEventsClient, UpdateDetectorModelCommand } from "@aws-sdk/client-iot-events"; // ES Modules import
// const { IoTEventsClient, UpdateDetectorModelCommand } = require("@aws-sdk/client-iot-events"); // CommonJS import
const client = new IoTEventsClient(config);
const input = { // UpdateDetectorModelRequest
detectorModelName: "STRING_VALUE", // required
detectorModelDefinition: { // DetectorModelDefinition
states: [ // States // required
{ // State
stateName: "STRING_VALUE", // required
onInput: { // OnInputLifecycle
events: [ // Events
{ // Event
eventName: "STRING_VALUE", // required
condition: "STRING_VALUE",
actions: [ // Actions
{ // Action
setVariable: { // SetVariableAction
variableName: "STRING_VALUE", // required
value: "STRING_VALUE", // required
},
sns: { // SNSTopicPublishAction
targetArn: "STRING_VALUE", // required
payload: { // Payload
contentExpression: "STRING_VALUE", // required
type: "STRING" || "JSON", // required
},
},
iotTopicPublish: { // IotTopicPublishAction
mqttTopic: "STRING_VALUE", // required
payload: {
contentExpression: "STRING_VALUE", // required
type: "STRING" || "JSON", // required
},
},
setTimer: { // SetTimerAction
timerName: "STRING_VALUE", // required
seconds: Number("int"),
durationExpression: "STRING_VALUE",
},
clearTimer: { // ClearTimerAction
timerName: "STRING_VALUE", // required
},
resetTimer: { // ResetTimerAction
timerName: "STRING_VALUE", // required
},
lambda: { // LambdaAction
functionArn: "STRING_VALUE", // required
payload: {
contentExpression: "STRING_VALUE", // required
type: "STRING" || "JSON", // required
},
},
iotEvents: { // IotEventsAction
inputName: "STRING_VALUE", // required
payload: {
contentExpression: "STRING_VALUE", // required
type: "STRING" || "JSON", // required
},
},
sqs: { // SqsAction
queueUrl: "STRING_VALUE", // required
useBase64: true || false,
payload: {
contentExpression: "STRING_VALUE", // required
type: "STRING" || "JSON", // required
},
},
firehose: { // FirehoseAction
deliveryStreamName: "STRING_VALUE", // required
separator: "STRING_VALUE",
payload: "<Payload>",
},
dynamoDB: { // DynamoDBAction
hashKeyType: "STRING_VALUE",
hashKeyField: "STRING_VALUE", // required
hashKeyValue: "STRING_VALUE", // required
rangeKeyType: "STRING_VALUE",
rangeKeyField: "STRING_VALUE",
rangeKeyValue: "STRING_VALUE",
operation: "STRING_VALUE",
payloadField: "STRING_VALUE",
tableName: "STRING_VALUE", // required
payload: "<Payload>",
},
dynamoDBv2: { // DynamoDBv2Action
tableName: "STRING_VALUE", // required
payload: "<Payload>",
},
iotSiteWise: { // IotSiteWiseAction
entryId: "STRING_VALUE",
assetId: "STRING_VALUE",
propertyId: "STRING_VALUE",
propertyAlias: "STRING_VALUE",
propertyValue: { // AssetPropertyValue
value: { // AssetPropertyVariant
stringValue: "STRING_VALUE",
integerValue: "STRING_VALUE",
doubleValue: "STRING_VALUE",
booleanValue: "STRING_VALUE",
},
timestamp: { // AssetPropertyTimestamp
timeInSeconds: "STRING_VALUE", // required
offsetInNanos: "STRING_VALUE",
},
quality: "STRING_VALUE",
},
},
},
],
},
],
transitionEvents: [ // TransitionEvents
{ // TransitionEvent
eventName: "STRING_VALUE", // required
condition: "STRING_VALUE", // required
actions: [
{
setVariable: {
variableName: "STRING_VALUE", // required
value: "STRING_VALUE", // required
},
sns: {
targetArn: "STRING_VALUE", // required
payload: "<Payload>",
},
iotTopicPublish: {
mqttTopic: "STRING_VALUE", // required
payload: "<Payload>",
},
setTimer: {
timerName: "STRING_VALUE", // required
seconds: Number("int"),
durationExpression: "STRING_VALUE",
},
clearTimer: {
timerName: "STRING_VALUE", // required
},
resetTimer: {
timerName: "STRING_VALUE", // required
},
lambda: {
functionArn: "STRING_VALUE", // required
payload: "<Payload>",
},
iotEvents: {
inputName: "STRING_VALUE", // required
payload: "<Payload>",
},
sqs: {
queueUrl: "STRING_VALUE", // required
useBase64: true || false,
payload: "<Payload>",
},
firehose: {
deliveryStreamName: "STRING_VALUE", // required
separator: "STRING_VALUE",
payload: "<Payload>",
},
dynamoDB: {
hashKeyType: "STRING_VALUE",
hashKeyField: "STRING_VALUE", // required
hashKeyValue: "STRING_VALUE", // required
rangeKeyType: "STRING_VALUE",
rangeKeyField: "STRING_VALUE",
rangeKeyValue: "STRING_VALUE",
operation: "STRING_VALUE",
payloadField: "STRING_VALUE",
tableName: "STRING_VALUE", // required
payload: "<Payload>",
},
dynamoDBv2: {
tableName: "STRING_VALUE", // required
payload: "<Payload>",
},
iotSiteWise: {
entryId: "STRING_VALUE",
assetId: "STRING_VALUE",
propertyId: "STRING_VALUE",
propertyAlias: "STRING_VALUE",
propertyValue: {
value: {
stringValue: "STRING_VALUE",
integerValue: "STRING_VALUE",
doubleValue: "STRING_VALUE",
booleanValue: "STRING_VALUE",
},
timestamp: {
timeInSeconds: "STRING_VALUE", // required
offsetInNanos: "STRING_VALUE",
},
quality: "STRING_VALUE",
},
},
},
],
nextState: "STRING_VALUE", // required
},
],
},
onEnter: { // OnEnterLifecycle
events: [
{
eventName: "STRING_VALUE", // required
condition: "STRING_VALUE",
actions: [
{
setVariable: {
variableName: "STRING_VALUE", // required
value: "STRING_VALUE", // required
},
sns: {
targetArn: "STRING_VALUE", // required
payload: "<Payload>",
},
iotTopicPublish: {
mqttTopic: "STRING_VALUE", // required
payload: "<Payload>",
},
setTimer: {
timerName: "STRING_VALUE", // required
seconds: Number("int"),
durationExpression: "STRING_VALUE",
},
clearTimer: {
timerName: "STRING_VALUE", // required
},
resetTimer: {
timerName: "STRING_VALUE", // required
},
lambda: {
functionArn: "STRING_VALUE", // required
payload: "<Payload>",
},
iotEvents: {
inputName: "STRING_VALUE", // required
payload: "<Payload>",
},
sqs: {
queueUrl: "STRING_VALUE", // required
useBase64: true || false,
payload: "<Payload>",
},
firehose: {
deliveryStreamName: "STRING_VALUE", // required
separator: "STRING_VALUE",
payload: "<Payload>",
},
dynamoDB: {
hashKeyType: "STRING_VALUE",
hashKeyField: "STRING_VALUE", // required
hashKeyValue: "STRING_VALUE", // required
rangeKeyType: "STRING_VALUE",
rangeKeyField: "STRING_VALUE",
rangeKeyValue: "STRING_VALUE",
operation: "STRING_VALUE",
payloadField: "STRING_VALUE",
tableName: "STRING_VALUE", // required
payload: "<Payload>",
},
dynamoDBv2: {
tableName: "STRING_VALUE", // required
payload: "<Payload>",
},
iotSiteWise: {
entryId: "STRING_VALUE",
assetId: "STRING_VALUE",
propertyId: "STRING_VALUE",
propertyAlias: "STRING_VALUE",
propertyValue: {
value: {
stringValue: "STRING_VALUE",
integerValue: "STRING_VALUE",
doubleValue: "STRING_VALUE",
booleanValue: "STRING_VALUE",
},
timestamp: {
timeInSeconds: "STRING_VALUE", // required
offsetInNanos: "STRING_VALUE",
},
quality: "STRING_VALUE",
},
},
},
],
},
],
},
onExit: { // OnExitLifecycle
events: [
{
eventName: "STRING_VALUE", // required
condition: "STRING_VALUE",
actions: [
{
setVariable: {
variableName: "STRING_VALUE", // required
value: "STRING_VALUE", // required
},
sns: {
targetArn: "STRING_VALUE", // required
payload: "<Payload>",
},
iotTopicPublish: {
mqttTopic: "STRING_VALUE", // required
payload: "<Payload>",
},
setTimer: {
timerName: "STRING_VALUE", // required
seconds: Number("int"),
durationExpression: "STRING_VALUE",
},
clearTimer: {
timerName: "STRING_VALUE", // required
},
resetTimer: {
timerName: "STRING_VALUE", // required
},
lambda: {
functionArn: "STRING_VALUE", // required
payload: "<Payload>",
},
iotEvents: {
inputName: "STRING_VALUE", // required
payload: "<Payload>",
},
sqs: {
queueUrl: "STRING_VALUE", // required
useBase64: true || false,
payload: "<Payload>",
},
firehose: {
deliveryStreamName: "STRING_VALUE", // required
separator: "STRING_VALUE",
payload: "<Payload>",
},
dynamoDB: {
hashKeyType: "STRING_VALUE",
hashKeyField: "STRING_VALUE", // required
hashKeyValue: "STRING_VALUE", // required
rangeKeyType: "STRING_VALUE",
rangeKeyField: "STRING_VALUE",
rangeKeyValue: "STRING_VALUE",
operation: "STRING_VALUE",
payloadField: "STRING_VALUE",
tableName: "STRING_VALUE", // required
payload: "<Payload>",
},
dynamoDBv2: {
tableName: "STRING_VALUE", // required
payload: "<Payload>",
},
iotSiteWise: {
entryId: "STRING_VALUE",
assetId: "STRING_VALUE",
propertyId: "STRING_VALUE",
propertyAlias: "STRING_VALUE",
propertyValue: {
value: {
stringValue: "STRING_VALUE",
integerValue: "STRING_VALUE",
doubleValue: "STRING_VALUE",
booleanValue: "STRING_VALUE",
},
timestamp: {
timeInSeconds: "STRING_VALUE", // required
offsetInNanos: "STRING_VALUE",
},
quality: "STRING_VALUE",
},
},
},
],
},
],
},
},
],
initialStateName: "STRING_VALUE", // required
},
detectorModelDescription: "STRING_VALUE",
roleArn: "STRING_VALUE", // required
evaluationMethod: "BATCH" || "SERIAL",
};
const command = new UpdateDetectorModelCommand(input);
const response = await client.send(command);
// { // UpdateDetectorModelResponse
// detectorModelConfiguration: { // DetectorModelConfiguration
// detectorModelName: "STRING_VALUE",
// detectorModelVersion: "STRING_VALUE",
// detectorModelDescription: "STRING_VALUE",
// detectorModelArn: "STRING_VALUE",
// roleArn: "STRING_VALUE",
// creationTime: new Date("TIMESTAMP"),
// lastUpdateTime: new Date("TIMESTAMP"),
// status: "ACTIVE" || "ACTIVATING" || "INACTIVE" || "DEPRECATED" || "DRAFT" || "PAUSED" || "FAILED",
// key: "STRING_VALUE",
// evaluationMethod: "BATCH" || "SERIAL",
// },
// };
UpdateDetectorModelCommand Input
Parameter | Type | Description |
---|
Parameter | Type | Description |
---|---|---|
detectorModelDefinition Required | DetectorModelDefinition | undefined | Information that defines how a detector operates. |
detectorModelName Required | string | undefined | The name of the detector model that is updated. |
roleArn Required | string | undefined | The ARN of the role that grants permission to AWS IoT Events to perform its operations. |
detectorModelDescription | string | undefined | A brief description of the detector model. |
evaluationMethod | EvaluationMethod | undefined | Information about the order in which events are evaluated and how actions are executed. |
UpdateDetectorModelCommand Output
Parameter | Type | Description |
---|
Parameter | Type | Description |
---|---|---|
$metadata Required | ResponseMetadata | Metadata pertaining to this request. |
detectorModelConfiguration | DetectorModelConfiguration | undefined | Information about how the detector model is configured. |
Throws
Name | Fault | Details |
---|
Name | Fault | Details |
---|---|---|
InternalFailureException | server | An internal failure occurred. |
InvalidRequestException | client | The request was invalid. |
ResourceInUseException | client | The resource is in use. |
ResourceNotFoundException | client | The resource was not found. |
ServiceUnavailableException | server | The service is currently unavailable. |
ThrottlingException | client | The request could not be completed due to throttling. |
IoTEventsServiceException | Base exception class for all service exceptions from IoTEvents service. |