本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
为其定义 Amazon IoT Events 警报 Amazon IoT SiteWise
创建 Amazon IoT Events 警报时, Amazon IoT SiteWise 会将资产属性值发送 Amazon IoT Events 到以评估警报的状态。 Amazon IoT Events 警报定义取决于您在中定义的警报模型 Amazon IoT Events。要在资产模型上定义 Amazon IoT Events 警报,您需要定义一个警报组合模型,该模型将 Amazon IoT Events 警报模型指定为其警报源属性。
Amazon IoT Events 警报取决于警报阈值和警报通知设置等输入。您可以将这些输入定义为资产模型的属性。然后,您可以根据模型在每个资产上自定义这些输入。 Amazon IoT SiteWise 控制台可以为您创建这些属性。如果您使用 Amazon CLI 或 API 定义警报,则必须在资产模型上手动定义这些属性。
您还可以定义检测到警报时发生的其他操作,例如自定义警报通知操作。例如,您可以配置向 Amazon SNS 主题发送推送通知的操作。有关您可以定义的操作的更多信息,请参阅《Amazon IoT Events 开发人员指南》中的使用其他 Amazon 服务。
更新或删除资产模型时, Amazon IoT SiteWise 可以检查中的警报模型是否 Amazon IoT Events 正在监视与该资产模型关联的资产属性。这可以防止您删除 Amazon IoT Events 警报当前正在使用的资产属性。要在中启用此功能 Amazon IoT SiteWise,您必须拥有iotevents:ListInputRoutings
权限。此权限 Amazon IoT SiteWise 允许调用所支持ListInputRoutings的 API 操作 Amazon IoT Events。有关更多信息,请参阅 (可选) ListInputRoutings 权限。
注意
警报通知功能在中国(北京)区域中不可用。
主题
定义 Amazon IoT Events 警报(Amazon IoT SiteWise 控制台)
您可以使用 Amazon IoT SiteWise 控制台在现有资产模型上定义 Amazon IoT Events 警报。要在新资产模型上定义 Amazon IoT Events 警报,请创建资产模型,然后完成以下步骤。有关更多信息,请参阅 在中创建资产模型 Amazon IoT SiteWise。
重要
每个警报都需要一个属性,来指定要与警报进行比较的阈值。必须先在资产模型上定义阈值属性,然后才能定义警报。
举例说明,如果您想定义一个警报,用于检测风力涡轮机何时超过其最大额定风速 50 英里/小时。在定义警报之前,您必须定义一个默认值为 50
的属性(最大风速)。
在资产模型上定义 Amazon IoT Events 警报
-
在导航窗格中,选择模型。
-
选择要为其定义警报的资产模型。
-
选择警报选项卡。
-
选择添加警报。
-
在警报类型选项部分,选择Amazon IoT Events 警报。
-
在基本详细信息部分中,执行以下操作:
-
输入警报的名称。
-
(可选)输入警报的描述。
-
-
在阈值定义部分,您可以定义警报何时检测以及警报的严重程度。执行以下操作:
-
选择警报检测的属性。每次此属性收到新值时,都会 Amazon IoT SiteWise 将该值发送 Amazon IoT Events 到以评估警报的状态。
-
选择用于将属性与阈值进行比较的运算符。从以下选项中进行选择:
-
小于
-
小于或等于
-
= (等于)
-
!= 不等于
-
大于或等于
-
大于
-
-
对于 “值”,选择要用作阈值的属性属性。 Amazon IoT Events 将属性的值与该属性的值进行比较。
-
输入警报的严重程度。使用您的团队能理解的数字来反映此警报的严重程度。
-
-
在默认资产状态部分,您可以设置从此资产模型创建的警报的默认状态。
注意
您可以在后续步骤中为从此资产模型创建的资产激活或停用此警报。
-
在高级设置部分,您可以配置权限、其他通知设置、警报状态操作、 SiteWise 监控器中的警报模式以及确认流。
注意
Amazon IoT Events 警报需要以下服务角色:
-
Amazon IoT Events 假定向发送警报状态值的角色 Amazon IoT SiteWise。
在附加权限策略页面上,执行以下操作:
-
对于 Amazon IoT Events 角色,请使用现有角色或创建具有所需权限的角色。此角色需要允许 iotevents.amazonaws.com 担任角色的
iotsitewise:BatchPutAssetPropertyValue
许可和信任关系。
-
-
(可选)在设置状态操作部分,执行以下操作:
-
选择编辑操作。
-
在添加警报状态操作下,添加操作。然后选择保存。
您最多可以添加 10 个操作。
Amazon IoT Events 可以在警报处于活动状态时执行操作。您可以定义内置操作以使用计时器或设置变量,或者将数据发送到其他 Amazon 资源。有关更多信息,请参阅 Amazon IoT Events 开发人员指南 中的 支持的操作。
-
-
(可选)在 “ SiteWise 监控器-可选” 中的 “管理警报模式” 下,选择 “活动” 或 “非活动”。
使用此选项可以在 M SiteWise onitorss 中更新警报模型。默认情况下,此选项处于启用状态。
-
在确认流下,选择活动或非活动。有关确认流的更多信息,请参阅 警报状态。
-
选择添加警报。
注意
Amazon IoT SiteWise 控制台发出多个 API 请求,将警报添加到资产模型中。当您选择添加警报时,控制台会打开一个对话框,显示这些 API 请求的进度。在每个 API 请求成功或一个 API 请求失败之前,请保持停留在此页面。如果请求失败,请关闭对话框,修复问题,然后选择添加警报重试。
定义 Amazon IoT Events 警报(Amazon IoT Events 控制台)
您可以使用 Amazon IoT Events 控制台在现有资产模型上定义 Amazon IoT Events 警报。要在新资产模型上定义 Amazon IoT Events 警报,请创建资产模型,然后完成以下步骤。有关更多信息,请参阅 在中创建资产模型 Amazon IoT SiteWise。
重要
每个警报都需要一个属性,来指定要与警报进行比较的阈值。必须先在资产模型上定义阈值属性,然后才能定义警报。
举例说明,如果您想定义一个警报,用于检测风力涡轮机何时超过其最大额定风速 50 英里/小时。在定义警报之前,您必须定义一个默认值为 50
的属性(最大风速)。
在资产模型上定义 Amazon IoT Events 警报
-
在导航窗格中,选择警报模型。
-
选择创建警报模型。
-
输入警报的名称。
-
(可选)输入警报的描述。
-
在 警报目标 部分,执行以下操作:
-
对于目标选项,选择Amazon IoT SiteWise 资产属性。
-
选择要为其添加警报的资产模型。
-
-
在阈值定义部分,您可以定义警报何时检测以及警报的严重程度。执行以下操作:
-
选择警报检测的属性。每次此属性收到新值时,都会 Amazon IoT SiteWise 将该值发送 Amazon IoT Events 到以评估警报的状态。
-
选择用于将属性与阈值进行比较的运算符。从以下选项中进行选择:
-
小于
-
小于或等于
-
= (等于)
-
!= 不等于
-
大于或等于
-
大于
-
-
对于 “值”,选择要用作阈值的属性属性。 Amazon IoT Events 将属性的值与该属性的值进行比较。
-
输入警报的严重程度。使用您的团队能理解的数字来反映此警报的严重程度。
-
-
在实例部分,指定此警报的默认状态。您可以在稍后的步骤中为通过该资产模型创建的所有资产激活或停用此警报。
-
在高级设置设置中,您可以配置权限、其他通知设置、警报状态操作、 SiteWise 监控器中的警报模式以及确认流。
注意
Amazon IoT Events 警报需要以下服务角色:
-
Amazon IoT Events 假定向发送警报状态值的角色 Amazon IoT SiteWise。
-
在确认流部分,选择已启用或已禁用。有关确认流的更多信息,请参阅 警报状态。
-
在附加权限策略页面上,执行以下操作:
-
对于 Amazon IoT Events 角色,请使用现有角色或创建具有所需权限的角色。此角色需要允许 iotevents.amazonaws.com 担任角色的
iotsitewise:BatchPutAssetPropertyValue
许可和信任关系。
-
-
(可选)在设置状态操作 - 可选部分中,执行以下操作:
-
在警报状态操作下,添加操作,然后选择保存。
您最多可以添加 10 个操作。
Amazon IoT Events 可以在警报处于活动状态时执行操作。您可以定义内置操作以使用计时器或设置变量,或者将数据发送到其他 Amazon 资源。有关更多信息,请参阅 Amazon IoT Events 开发人员指南 中的 支持的操作。
-
-
-
选择创建。
注意
Amazon IoT Events 控制台发出多个 API 请求,将警报添加到资产模型中。当您选择添加警报时,控制台会打开一个对话框,显示这些 API 请求的进度。在每个 API 请求成功或一个 API 请求失败之前,请保持停留在此页面。如果请求失败,请关闭对话框,修复问题,然后选择添加警报重试。
定义 Amazon IoT Events 警报 (Amazon CLI)
您可以使用 Amazon Command Line Interface (Amazon CLI) 来定义监控资产属性的 Amazon IoT Events 警报。您可以在新的或现有的资产模型上定义警报。在资产模型上定义警报后,可以在中创建警报 Amazon IoT Events 并将其连接到资产模型。在此过程中,您将执行以下操作:
步骤 1:为资产模型定义警报
向新的或现有的资产模型添加警报定义和关联属性。
在资产模型上定义警报 (CLI)
-
创建名为
asset-model-payload.json
的文件。按照其他部分中的步骤将资产模型的详细信息添加到文件中,但不要提交创建或更新资产模型的请求。在本节中,您将向asset-model-payload.json
文件中的资产模型详细信息添加警报定义。-
有关如何创建资产模型的更多信息,请参阅创建资产模型(Amazon CLI)。
-
有关如何更新现有资产模型的更多信息,请参阅 更新资产或组件模型(Amazon CLI)。
注意
您的资产模型必须定义至少一个资产属性,包括要通过警报监控的资产属性。
-
-
向资产模型添加警报复合模型 (
assetModelCompositeModels
)。 Amazon IoT Events 警报组合模型指定警报IOT_EVENTS
类型并指定警报源属性。在中创建警报模型后,您可以添加警报源属性 Amazon IoT Events。重要
警报组合模型必须与您稍后创建的 Amazon IoT Events 警报模型同名。警报模型名称只能包含字母数字字符。指定一个唯一的字母数字名称,这样您就可以对警报模型使用相同的名称。
{
...
"assetModelCompositeModels": [ { "name": "BoilerTemperatureHighAlarm", "type": "AWS/ALARM", "properties": [ { "name": "AWS/ALARM_TYPE", "dataType": "STRING", "type": { "attribute": { "defaultValue": "IOT_EVENTS" } } }, { "name": "AWS/ALARM_STATE", "dataType": "STRUCT", "dataTypeSpec": "AWS/ALARM_STATE", "type": { "measurement": {} } } ] } ] } -
向资产模型添加警报阈值属性。指定用于此阈值的默认值。您可以基于此模型覆盖每个资产的此默认值。
注意
警报阈值属性必须为
INTEGER
或DOUBLE
。{
...
"assetModelProperties": [...
{ "name": "Temperature Max Threshold", "dataType": "DOUBLE", "type": { "attribute": { "defaultValue": "105.0" } } } ] } -
创建资产模型或更新现有资产模型。请执行以下操作之一:
-
要创建资源模型,请运行以下命令。
aws iotsitewise create-asset-model --cli-input-json file://asset-model-payload.json
-
要更新现有资源模型,请运行以下命令。
asset-model-id
替换为资产模型的 ID。aws iotsitewise update-asset-model \ --asset-model-id
asset-model-id
\ --cli-input-json file://asset-model-payload.json
运行命令之后,请记下响应中的
assetModelId
。 -
以下资产模型表示报告温度数据的锅炉。该资产模型定义了一个警报,用于检测锅炉何时过热。
{ "assetModelName": "Boiler Model", "assetModelDescription": "Represents a boiler.", "assetModelProperties": [ { "name": "Temperature", "dataType": "DOUBLE", "unit": "C", "type": { "measurement": {} } }, { "name": "Temperature Max Threshold", "dataType": "DOUBLE", "type": { "attribute": { "defaultValue": "105.0" } } }, { "name": "identityStoreId", "dataType": "STRING", "type": { "attribute": { "defaultValue": "d-123EXAMPLE" } } }, { "name": "userId", "dataType": "STRING", "type": { "attribute": { "defaultValue": "123EXAMPLE-a1b2c3d4-5678-90ab-cdef-33333EXAMPLE" } } }, { "name": "senderId", "dataType": "STRING", "type": { "attribute": { "defaultValue": "MyFactory" } } }, { "name": "fromAddress", "dataType": "STRING", "type": { "attribute": { "defaultValue": "my.factory@example.com" } } }, { "name": "emailSubject", "dataType": "STRING", "type": { "attribute": { "defaultValue": "[ALERT] High boiler temperature" } } }, { "name": "additionalMessage", "dataType": "STRING", "type": { "attribute": { "defaultValue": "Turn off the power before you check the alarm." } } } ], "assetModelHierarchies": [ ], "assetModelCompositeModels": [ { "name": "BoilerTemperatureHighAlarm", "type": "AWS/ALARM", "properties": [ { "name": "AWS/ALARM_TYPE", "dataType": "STRING", "type": { "attribute": { "defaultValue": "IOT_EVENTS" } } }, { "name": "AWS/ALARM_STATE", "dataType": "STRUCT", "dataTypeSpec": "AWS/ALARM_STATE", "type": { "measurement": {} } } ] } ] }
步骤 2:定义 Amazon IoT Events 警报模型
在中创建警报模型 Amazon IoT Events。在中 Amazon IoT Events,您可以使用表达式来指定警报模型中的值。您可以使用表达式来指定 Amazon IoT SiteWise 要评估的值,并将其用作警报的输入。向警报模型 Amazon IoT SiteWise 发送资产属性值时, Amazon IoT Events 会评估表达式以获取该属性的值或资产的 ID。您可以在警报模型中使用以下表达式:
-
资产属性值
要获取资产属性的值,请使用以下表达式。
assetModelId
替换为资产模型的 ID,propertyId
替换为属性的 ID。$sitewise.assetModel.`
assetModelId
`.`propertyId
`.propertyValue.value -
资产 IDs
要获取资产的 ID,请使用以下表达式。
assetModelId
替换为资产模型的 ID,propertyId
替换为属性的 ID。$sitewise.assetModel.`
assetModelId
`.`propertyId
`.assetId
注意
创建警报模型时,您可以定义字面值,而不是计算结果为 Amazon IoT SiteWise 值的表达式。这可以减少您在资产模型上定义的属性数量。但是,如果您将值定义为文字,则无法根据资产模型自定义资产的该值。您的 Amazon IoT SiteWise Monitor 用户也无法自定义警报,因为他们只能在资产上配置警报设置。
创建 Amazon IoT Events 警报模型 (CLI)
-
在中创建警报模型时 Amazon IoT Events,必须指定警报使用的每个属性的 ID,其中包括以下内容:
-
复合资产模型中的警报状态属性
-
警报监控的属性
-
阈值属性
-
(可选)IAM Identity Center 身份存储 ID 属性
-
(可选)IAM Identity Center 用户 ID 属性
-
(可选)短信发送人 ID 属性
-
(可选)电子邮件发送人地址属性
-
(可选)电子邮件主题属性
-
(可选)附加消息属性
运行以下命令以检索资产模型上的这些属性。 IDs
asset-model-id
替换为上一步中的资产模型的 ID。aws iotsitewise describe-asset-model --asset-model-id
asset-model-id
此操作将返回包含资产模型详细信息的响应。记下警报使用的每个属性的 ID。您可以在下一步创建 Amazon IoT Events 警报模型 IDs 时使用它们。
-
-
在中创建警报模型 Amazon IoT Events。执行以下操作:
-
创建名为
alarm-model-payload.json
的文件。 -
将以下 JSON 对象复制到文件中。
-
为您的警报输入名称(
alarmModelName
)、说明(alarmModelDescription
)和严重性(severity
)。对于严重性,请指定一个反映贵公司严重性级别的整数。重要
警报模型必须与您之前在资产模型上定义的警报复合模型同名。
警报模型名称只能包含字母数字字符。
{ "alarmModelName": "
BoilerTemperatureHighAlarm
", "alarmModelDescription": "Detects when the boiler temperature is high.
", "severity":3
} -
将比较规则 (
alarmRule
) 添加到警报中。此规则定义了要监控的属性 (inputProperty
)、要比较的阈值 (threshold
) 和要使用的比较运算符 (comparisonOperator
)。-
assetModelId
替换为资产模型的 ID。 -
alarmPropertyId
替换为警报监控的属性的 ID。 -
thresholdAttributeId
替换为阈值属性的 ID。 -
替换
GREATER
为用于将属性值与阈值进行比较的运算符。从以下选项中进行选择:-
LESS
-
LESS_OR_EQUAL
-
EQUAL
-
NOT_EQUAL
-
GREATER_OR_EQUAL
-
GREATER
-
{ "alarmModelName": "
BoilerTemperatureHighAlarm
", "alarmModelDescription": "Detects when the boiler temperature is high.
", "severity":3
, "alarmRule": { "simpleRule": { "inputProperty": "$sitewise.assetModel.`assetModelId
`.`alarmPropertyId
`.propertyValue.value", "comparisonOperator": "GREATER
", "threshold": "$sitewise.assetModel.`assetModelId
`.`thresholdAttributeId
`.propertyValue.value" } } } -
-
添加一个操作 (
alarmEventActions
),当警报状态发生更改时将警报状态发送给 Amazon IoT SiteWise 。注意
对于高级配置,您可以定义警报状态更改时要执行的其他操作。例如,您可以调用 Amazon Lambda 函数或发布到 MQTT 主题。有关更多信息,请参阅《Amazon IoT Events 开发人员指南》中的使用其他 Amazon 服务。
-
assetModelId
替换为资产模型的 ID。 -
alarmPropertyId
替换为警报监控的属性的 ID。 -
alarmStatePropertyId
替换为警报复合模型中警报状态属性的 ID。
{ "alarmModelName": "
BoilerTemperatureHighAlarm
", "alarmModelDescription": "Detects when the boiler temperature is high.
", "severity":3
, "alarmRule": { "simpleRule": { "inputProperty": "$sitewise.assetModel.`assetModelId
`.`alarmPropertyId
`.propertyValue.value", "comparisonOperator": "GREATER
", "threshold": "$sitewise.assetModel.`assetModelId
`.`thresholdAttributeId
`.propertyValue.value" } }, "alarmEventActions": { "alarmActions": [ { "iotSiteWise": { "assetId": "$sitewise.assetModel.`assetModelId
`.`alarmPropertyId
`.assetId", "propertyId": "'alarmStatePropertyId
'" } } ] } } -
-
(可选)将警报功能 (
alarmCapabilities
) 添加到alarm-model-payload.json
的有效负载中。在此对象中,您可以根据资产模型指定是否启用确认流程以及资产的默认启用状态。有关确认流的更多信息,请参阅 警报状态。{ "alarmModelName": "
BoilerTemperatureHighAlarm
", "alarmModelDescription": "Detects when the boiler temperature is high.
", "severity":3
, "alarmRule": { "simpleRule": { "inputProperty": "$sitewise.assetModel.`assetModelId
`.`alarmPropertyId
`.propertyValue.value", "comparisonOperator": "GREATER
", "threshold": "$sitewise.assetModel.`assetModelId
`.`thresholdAttributeId
`.propertyValue.value" } }, "alarmEventActions": { "alarmActions": [ { "iotSiteWise": { "assetId": "$sitewise.assetModel.`assetModelId
`.`alarmPropertyId
`.assetId", "propertyId": "'alarmStatePropertyId
'" } } ] }, "alarmNotification": { "notificationActions": [ { "action": { "lambdaAction": { "functionArn": "alarmNotificationFunctionArn
" } }, "smsConfigurations": [ { "recipients": [ { "ssoIdentity": { "identityStoreId": "$sitewise.assetModel.`assetModelId
`.`identityStoreIdAttributeId
`.propertyValue.value", "userId": "$sitewise.assetModel.`assetModelId
`.`userIdAttributeId
`.propertyValue.value" } } ], "senderId": "$sitewise.assetModel.`assetModelId
`.`senderIdAttributeId
`.propertyValue.value", "additionalMessage": "$sitewise.assetModel.`assetModelId
`.`additionalMessageAttributeId
`.propertyValue.value" } ], "emailConfigurations": [ { "from": "$sitewise.assetModel.`assetModelId
`.`fromAddressAttributeId
`.propertyValue.value", "recipients": { "to": [ { "ssoIdentity": { "identityStoreId": "$sitewise.assetModel.`assetModelId
`.`identityStoreIdAttributeId
`.propertyValue.value", "userId": "$sitewise.assetModel.`assetModelId
`.`userIdAttributeId
`.propertyValue.value" } } ] }, "content": { "subject": "$sitewise.assetModel.`assetModelId
`.`emailSubjectAttributeId
`.propertyValue.value", "additionalMessage": "$sitewise.assetModel.`assetModelId
`.`additionalMessageAttributeId
`.propertyValue.value" } } ] } ] }, "alarmCapabilities": { "initializationConfiguration": { "disabledOnInitialization":false
}, "acknowledgeFlow": { "enabled":true
} } } -
添加 Amazon IoT Events 可以假设向其发送数据的 IAM 服务角色 (
roleArn
) Amazon IoT SiteWise。此角色需要iotsitewise:BatchPutAssetPropertyValue
权限以及允许iotevents.amazonaws.com
担任角色的信任关系。有关更多信息,请参阅 Amazon IoT Events 开发人员指南 中的 警报服务角色。-
将
roleArn
替换为 Amazon IoT Events 可以代入执行这些操作的角色的 ARN。
{ "alarmModelName": "
BoilerTemperatureHighAlarm
", "alarmModelDescription": "Detects when the boiler temperature is high.
", "severity":3
, "alarmRule": { "simpleRule": { "inputProperty": "$sitewise.assetModel.`assetModelId
`.`alarmPropertyId
`.propertyValue.value", "comparisonOperator": "GREATER
", "threshold": "$sitewise.assetModel.`assetModelId
`.`thresholdAttributeId
`.propertyValue.value" } }, "alarmEventActions": { "alarmActions": [ { "iotSiteWise": { "assetId": "$sitewise.assetModel.`assetModelId
`.`alarmPropertyId
`.assetId", "propertyId": "'alarmStatePropertyId
'" } } ] }, "alarmNotification": { "notificationActions": [ { "action": { "lambdaAction": { "functionArn": "alarmNotificationFunctionArn
" } }, "smsConfigurations": [ { "recipients": [ { "ssoIdentity": { "identityStoreId": "$sitewise.assetModel.`assetModelId
`.`identityStoreIdAttributeId
`.propertyValue.value", "userId": "$sitewise.assetModel.`assetModelId
`.`userIdAttributeId
`.propertyValue.value" } } ], "senderId": "$sitewise.assetModel.`assetModelId
`.`senderIdAttributeId
`.propertyValue.value", "additionalMessage": "$sitewise.assetModel.`assetModelId
`.`additionalMessageAttributeId
`.propertyValue.value" } ], "emailConfigurations": [ { "from": "$sitewise.assetModel.`assetModelId
`.`fromAddressAttributeId
`.propertyValue.value", "recipients": { "to": [ { "ssoIdentity": { "identityStoreId": "$sitewise.assetModel.`assetModelId
`.`identityStoreIdAttributeId
`.propertyValue.value", "userId": "$sitewise.assetModel.`assetModelId
`.`userIdAttributeId
`.propertyValue.value" } } ] }, "content": { "subject": "$sitewise.assetModel.`assetModelId
`.`emailSubjectAttributeId
`.propertyValue.value", "additionalMessage": "$sitewise.assetModel.`assetModelId
`.`additionalMessageAttributeId
`.propertyValue.value" } } ] } ] }, "alarmCapabilities": { "initializationConfiguration": { "disabledOnInitialization":false
}, "acknowledgeFlow": { "enabled":false
} }, "roleArn": "arn:aws:iam::123456789012
:role/MyIoTEventsAlarmRole
" } -
-
运行以下命令从中的有效负载创建 Amazon IoT Events 警报模型
alarm-model-payload.json
。aws iotevents create-alarm-model --cli-input-json file://alarm-model-payload.json
-
操作将返回响应,其中包含警报模型的 ARN,
alarmModelArn
。复制此 ARN,以便下一步在资产模型的警报定义中进行设置。
-
步骤 3:启用 Amazon IoT SiteWise 和之间的数据流 Amazon IoT Events
在 Amazon IoT SiteWise 和中创建所需资源后 Amazon IoT Events,您可以启用资源之间的数据流以启用警报。在本节中,您将更新资产模型中的警报定义以使用您在上一步中创建的警报模型。
启用 Amazon IoT SiteWise 和之间的数据流 Amazon IoT Events (CLI)
-
在资产模型中将警报模型设置为警报的来源。执行以下操作:
-
运行以下命令以检索现有资产模型定义。
asset-model-id
替换为资产模型的 ID。aws iotsitewise describe-asset-model --asset-model-id
asset-model-id
此操作将返回包含资产模型详细信息的响应。
-
创建一个名为
update-asset-model-payload.json
的文件,并将上一命令的响应复制到该文件中。 -
从
update-asset-model-payload.json
文件中删除以下键/值对:-
assetModelId
-
assetModelArn
-
assetModelCreationDate
-
assetModelLastUpdateDate
-
assetModelStatus
-
-
将警报源属性 (
AWS/ALARM_SOURCE
) 添加到您之前定义的警报复合模型中。alarmModelArn
替换为警报模型的 ARN,后者设置警报源属性的值。{
...
"assetModelCompositeModels": [...
{ "name": "BoilerTemperatureHighAlarm", "type": "AWS/ALARM", "properties": [ { "id": "a1b2c3d4-5678-90ab-cdef-11111EXAMPLE", "name": "AWS/ALARM_TYPE", "dataType": "STRING", "type": { "attribute": { "defaultValue": "IOT_EVENTS" } } }, { "id": "a1b2c3d4-5678-90ab-cdef-22222EXAMPLE", "name": "AWS/ALARM_STATE", "dataType": "STRUCT", "dataTypeSpec": "AWS/ALARM_STATE", "type": { "measurement": {} } }, { "name": "AWS/ALARM_SOURCE", "dataType": "STRING", "type": { "attribute": { "defaultValue": "alarmModelArn
" } } } ] } ] } -
运行以下命令,使用存储在
update-asset-model-payload.json
文件中的定义更新资产模型。asset-model-id
替换为资产模型的 ID。aws iotsitewise update-asset-model \ --asset-model-id
asset-model-id
\ --cli-input-json file://update-asset-model-payload.json
-
现在,您的资产模型定义了一个在 Amazon IoT Events中检测到的警报。报警根据该资产模型对所有资产中的目标属性进行监控。您可以为每项资产配置警报,以自定义每项资产的阈值或 IAM Identity Center 接收人等属性。有关更多信息,请参阅 在中为资产配置警报 Amazon IoT SiteWise。