As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Defina AWS IoT Events alarmes para AWS IoT SiteWise
Quando você cria um AWS IoT Events alarme, AWS IoT SiteWise envia valores de propriedades do ativo AWS IoT Events para avaliar o estado do alarme. AWS IoT Events as definições de alarme dependem de um modelo de alarme que você define em AWS IoT Events. Para definir um AWS IoT Events alarme em um modelo de ativo, você define um modelo composto de alarme que especifica o modelo de AWS IoT Events alarme como sua propriedade de fonte de alarme.
AWS IoT Events os alarmes dependem de entradas, como limites de alarme e configurações de notificação de alarme. Você define essas entradas como atributos no modelo do ativo. Em seguida, você pode personalizar essas entradas em cada ativo com base no modelo. O AWS IoT SiteWise console pode criar esses atributos para você. Se você definir alarmes com a API AWS CLI ou, deverá definir manualmente esses atributos no modelo de ativo.
Você também pode definir outras ações que acontecem quando o alarme detecta, como ações personalizadas de notificação de alarme. Por exemplo, você pode configurar uma ação que envie uma notificação push para um tópico do Amazon SNS. Para obter mais informações sobre as ações que você pode definir, consulte Trabalhando com outros AWS serviços no Guia do AWS IoT Events desenvolvedor.
Quando você atualiza ou exclui um modelo de ativo, AWS IoT SiteWise pode verificar se um modelo de alarme AWS IoT Events está monitorando uma propriedade de ativo associada a esse modelo de ativo. Isso impede que você exclua uma propriedade do ativo que um AWS IoT Events alarme está usando atualmente. Para habilitar esse recurso AWS IoT SiteWise, você deve ter a iotevents:ListInputRoutings
permissão. Essa permissão permite AWS IoT SiteWise fazer chamadas para a operação de ListInputRoutingsAPI suportada pelo AWS IoT Events. Para obter mais informações, consulte ListInputRoutings Permissão (opcional).
nota
O recurso de notificações de alarme não está disponível na Região da China (Pequim).
Tópicos
Definir um AWS IoT Events alarme (AWS IoT SiteWise console)
Você pode usar o AWS IoT SiteWise console para definir um AWS IoT Events alarme em um modelo de ativo existente. Para definir um AWS IoT Events alarme em um novo modelo de ativo, crie o modelo de ativo e conclua essas etapas. Para obter mais informações, consulte Crie modelos de ativos em AWS IoT SiteWise.
Importante
Cada alarme requer um atributo que especifique o valor limite a ser comparado ao alarme. Você deve definir o atributo de valor limite no modelo do ativo antes de definir um alarme.
Pense em um exemplo em que você deseja definir um alarme que detecta quando uma turbina eólica excede sua taxa máxima de velocidade do vento de 50 mph. Antes de definir o alarme, você deve definir um atributo (Velocidade máxima do vento) com um valor padrão do 50
.
Para definir um AWS IoT Events alarme em um modelo de ativo
-
Navegue até o console do AWS IoT SiteWise
. -
No painel de navegação, selecione Modelos.
-
Escolha o modelo de ativo para o qual o alarme será definido.
-
Escolha a guia Alarme.
-
Escolha Adicionar alarme.
-
Na seção Opções do tipo de alarme, escolha alarme do AWS IoT Events .
-
Na seção Detalhes básicos, faça o seguinte:
-
Insira um nome para o alarme.
-
(Opcional) Insira uma descrição do seu alarme.
-
-
Na página Definir limite, você define quando o alarme detecta e a gravidade do alarme. Faça o seguinte:
-
Selecione a Propriedade na qual o alarme detecta. Cada vez que essa propriedade recebe um novo valor, AWS IoT SiteWise envia o valor AWS IoT Events para avaliar o estado do alarme.
-
Selecione o Operador a ser usado para comparar a propriedade com o valor limite. Escolha uma das seguintes opções:
-
< menor que
-
<= menor ou igual a
-
== igual
-
!= não igual
-
>= maior ou igual a
-
> maior que
-
-
Em Valor, selecione a propriedade do atributo a ser usada como valor limite. AWS IoT Events compara o valor da propriedade com o valor desse atributo.
-
Insira a Gravidade do alarme. Use um número que sua equipe entenda para refletir a gravidade desse alarme.
-
-
(Opcional) Na seção Configurações de notificação - opcional, faça o seguinte:
-
Selecione Ativo.
nota
Se escolher Inativo, você e sua equipe não receberão nenhuma notificação de alarme.
-
Em Destinatário, escolha o destinatário.
Importante
Você pode enviar notificações de alarme aos AWS IAM Identity Center usuários. Para usar esse recurso, você deve habilitar o Centro de identidade do IAM. Você só pode ativar o IAM Identity Center em uma AWS região por vez. Isso significa que você pode definir notificações de alarme somente na região em que você habilita o Centro de identidade do IAM. Para obter mais informações, consulte Conceitos básicos no Guia do usuário do AWS IAM Identity Center .
-
Para o Protocolo, escolha uma das seguintes opções:
-
E-mail e texto: o alarme notifica os usuários do Centro de identidade do IAM com uma mensagem SMS e uma mensagem de e-mail.
-
E-mail: o alarme notifica os usuários do Centro de identidade do IAM com uma mensagem de e-mail.
-
Texto: o alarme notifica os usuários do Centro de identidade do IAM com uma mensagem SMS.
-
-
Em Remetente, escolha o remetente.
Importante
Você deve verificar o endereço de e-mail do remetente no Amazon Simple Email Service (Amazon SES). Para ter mais informações, consulte Verifying an email address identity no Guia do desenvolvedor do Amazon Simple Email Service.
-
-
Na seção Estado padrão do ativo, você pode definir o estado padrão para os alarmes criados a partir desse modelo de ativo.
nota
Você ativa ou desativa esse alarme para ativos que você cria a partir desse modelo de ativo em uma etapa posterior.
-
Na seção Configurações avançadas, você pode definir as permissões, as configurações adicionais de notificação, as ações do estado do alarme, o modelo de alarme no SiteWise Monitor e o fluxo de reconhecimento.
nota
AWS IoT Events os alarmes exigem as seguintes funções de serviço:
-
Uma função que AWS IoT Events pressupõe enviar valores de estado de alarme para AWS IoT SiteWise.
-
Uma função que AWS IoT Events pressupõe enviar dados para o Lambda. Você só precisa desse perfil se o alarme enviar notificações.
Na página Permissões, faça o seguinte:
-
Para o perfil AWS IoT Events , use um perfil existente ou crie um perfil com as permissões necessárias. Esse perfil requer a permissão de
iotsitewise:BatchPutAssetPropertyValue
e um relacionamento de confiança que permita que iotevents.amazonaws.com assuma o perfil. -
Para o AWS IoT Events perfil do Lambda, use um perfil existente ou crie um perfil com as permissões necessárias. Esse perfil requer as permissões
lambda:InvokeFunction
esso-directory:DescribeUser
e um relacionamento de confiança que permita queiotevents.amazonaws.com
assuma o perfil.
-
-
(Opcional) Na seção Configurações de notificação adicionais, faça o seguinte:
-
Para o Atributo destinatário, você define um atributo cujo valor especifica o destinatário da notificação. Você pode escolher os usuários do Centro de identidade do IAM como destinatários.
Você pode criar um atributo ou usar um atributo existente no modelo de ativo.
-
Se você escolher Criar um novo atributo de destinatário, especifique o Nome do atributo do destinatário e o Valor padrão do destinatário - opcional para o atributo.
-
Se você escolher Usar um atributo de destinatário existente, escolha o atributo em Nome do atributo de destinatário. O alarme usa o valor padrão do atributo escolhido.
Você pode substituir o valor padrão em cada ativo criado a partir desse modelo de ativo.
-
-
Para Atributo de mensagem personalizada, você define um atributo cujo valor especifica a mensagem personalizada a ser enviada, além da mensagem padrão de alteração de estado. Por exemplo, você pode especificar uma mensagem que ajude sua equipe a entender como lidar com esse alarme.
Você pode escolher criar um atributo ou usar um atributo existente no modelo de ativo.
-
Se você optar por Criar um novo atributo de mensagem personalizada, especifique o Nome do atributo de mensagem personalizada e o Valor padrão da mensagem personalizada - opcional para o atributo.
-
Se você escolher Usar um atributo de mensagem personalizada existente, escolha o atributo em Nome do atributo de mensagem personalizada. O alarme usa o valor padrão do atributo escolhido.
Você pode substituir o valor padrão em cada ativo criado a partir desse modelo de ativo.
-
-
Em Gerencie sua função do Lambda, siga um destes procedimentos:
Para AWS IoT SiteWise criar uma nova função Lambda, escolha Criar um novo lambda a partir de um modelo gerenciado pela AWS.
Para usar um perfil da função do Lambda existente, escolha Usar um lambda existente e escolha o nome da função.
Para obter mais informações, consulte Gerenciar notificações de alarme no Guia do desenvolvedor do AWS IoT Events .
-
-
(Opcional) Na seção Definir ação de estado faça o seguinte:
-
Escolha Editar ação.
-
Em Adicionar ações de estado de alarme, adicione ações. e escolha Salvar.
Você pode adicionar até 10 ações.
AWS IoT Events pode realizar ações quando o alarme está ativo. Você pode definir ações integradas para usar um cronômetro, definir uma variável ou enviar dados para outros AWS recursos. Para obter mais informações, consulte Ações compatíveis no Guia do desenvolvedor do AWS IoT Events .
-
-
(Opcional) Em Gerenciar modelo de alarme em SiteWise Monitor - opcional, escolha Ativo ou Inativo.
Use essa opção para que você possa atualizar o modelo de alarme em SiteWise Monitores. Essa opção é habilitada por padrão.
-
Em Reconhecer fluxo, escolha Ativo ou Inativo. Para obter mais informações sobre o fluxo de reconhecimento, consulte Estados de alarme.
-
Escolha Adicionar alarme.
nota
O AWS IoT SiteWise console faz várias solicitações de API para adicionar o alarme ao modelo de ativos. Quando você escolhe Adicionar alarme, o console abre uma caixa de diálogo que mostra o progresso dessas solicitações de API. Permaneça nesta página até que cada solicitação de API seja bem-sucedida ou até que uma solicitação de API falhe. Se uma solicitação falhar, feche a caixa de diálogo, corrija o problema e escolha Adicionar alarme para tentar novamente.
Definir um AWS IoT Events alarme (AWS IoT Events console)
Você pode usar o AWS IoT Events console para definir um AWS IoT Events alarme em um modelo de ativo existente. Para definir um AWS IoT Events alarme em um novo modelo de ativo, crie o modelo de ativo e conclua essas etapas. Para obter mais informações, consulte Crie modelos de ativos em AWS IoT SiteWise.
Importante
Cada alarme requer um atributo que especifique o valor limite a ser comparado ao alarme. Você deve definir o atributo de valor limite no modelo do ativo antes de definir um alarme.
Pense em um exemplo em que você deseja definir um alarme que detecta quando uma turbina eólica excede sua taxa máxima de velocidade do vento de 50 mph. Antes de definir o alarme, você deve definir um atributo (Velocidade máxima do vento) com um valor padrão do 50
.
Para definir um AWS IoT Events alarme em um modelo de ativo
-
Navegue até o console do AWS IoT Events
. -
No painel de navegação, selecione Modelos de alarme.
-
Selecione Criar modelo de alarme.
-
Insira um nome para o alarme.
-
(Opcional) Insira uma descrição do seu alarme.
-
Na seção Alarme de destino, faça o seguinte:
-
Para Opções de destino, escolha Propriedade do ativo do AWS IoT SiteWise .
-
Escolha o modelo de ativo para o qual deseja adicionar um alarme.
-
-
Na página Definir limite, você define quando o alarme detecta e a gravidade do alarme. Faça o seguinte:
-
Selecione a Propriedade na qual o alarme detecta. Cada vez que essa propriedade recebe um novo valor, AWS IoT SiteWise envia o valor AWS IoT Events para avaliar o estado do alarme.
-
Selecione o Operador a ser usado para comparar a propriedade com o valor limite. Escolha uma das seguintes opções:
-
< menor que
-
<= menor ou igual a
-
== igual
-
!= não igual
-
>= maior ou igual a
-
> maior que
-
-
Em Valor, selecione a propriedade do atributo a ser usada como valor limite. AWS IoT Events compara o valor da propriedade com o valor desse atributo.
-
Insira a Gravidade do alarme. Use um número que sua equipe entenda para refletir a gravidade desse alarme.
-
-
(Opcional) Na seção Configurações de notificação - opcional, faça o seguinte:
-
Para o Protocolo, escolha uma das seguintes opções:
-
E-mail e texto: o alarme notifica os usuários do Centro de identidade do IAM com uma mensagem SMS e uma mensagem de e-mail.
-
E-mail: o alarme notifica os usuários do Centro de identidade do IAM com uma mensagem de e-mail.
-
Texto: o alarme notifica os usuários do Centro de identidade do IAM com uma mensagem SMS.
-
-
Em Remetente, escolha o remetente.
Importante
Você deve verificar o endereço de e-mail do remetente no Amazon Simple Email Service (Amazon SES). Para mais informações, consulte Verificar endereços de e-mail no Amazon SES no Guia do desenvolvedor do Amazon Simple Email Service.
-
Escolha o atributo em Atributo do destinatário - opcional. O alarme usa o valor padrão do atributo escolhido.
-
Escolha o atributo em Atributo de mensagem personalizada - opcional. O alarme usa o valor padrão do atributo escolhido.
-
-
Na seção Instância, especifique o Estado padrão para esse alarme. Você pode ativar ou desativar esse alarme para todos os ativos criados a partir desse modelo de ativo em uma etapa posterior.
-
Nas configurações avançadas, você pode definir as permissões, as configurações adicionais de notificação, as ações do estado do alarme, o modelo de alarme no SiteWise Monitor e o fluxo de reconhecimento.
nota
AWS IoT Events os alarmes exigem as seguintes funções de serviço:
-
Uma função que AWS IoT Events pressupõe enviar valores de estado de alarme para AWS IoT SiteWise.
-
Uma função que AWS IoT Events pressupõe enviar dados para o Lambda. Você só precisa desse perfil se o alarme enviar notificações.
-
Na seção Reconhecer fluxo, escolha Habilitado ou Desabilitado. Para obter mais informações sobre o fluxo de reconhecimento, consulte Estados de alarme.
-
Na página Permissões, faça o seguinte:
-
Para o perfil AWS IoT Events , use um perfil existente ou crie um perfil com as permissões necessárias. Esse perfil requer a permissão de
iotsitewise:BatchPutAssetPropertyValue
e um relacionamento de confiança que permita que iotevents.amazonaws.com assuma o perfil. -
Para o perfil do Lambda, use um perfil existente ou crie um perfil com as permissões necessárias. Esse perfil requer as permissões
lambda:InvokeFunction
esso-directory:DescribeUser
e um relacionamento de confiança que permita queiotevents.amazonaws.com
assuma o perfil.
-
-
(Opcional) No painel Configurações de notificação adicionais, faça o seguinte:
-
Em Gerencie sua função do Lambda, siga um destes procedimentos:
Para AWS IoT Events criar uma nova função Lambda, escolha Criar uma nova função Lambda.
Para usar uma função do Lambda existente, escolha Usar uma função do Lambda existente e escolha o nome da função.
Para obter mais informações, consulte Gerenciar notificações de alarme no Guia do desenvolvedor do AWS IoT Events .
-
-
(Opcional) Na seção Definir ação de estado - opcional, faça o seguinte:
-
Em Ações de estado de alarme, adicione ações e escolha Salvar.
Você pode adicionar até 10 ações.
AWS IoT Events pode realizar ações quando o alarme está ativo. Você pode definir ações integradas para usar um cronômetro, definir uma variável ou enviar dados para outros AWS recursos. Para obter mais informações, consulte Ações compatíveis no Guia do desenvolvedor do AWS IoT Events .
-
-
-
Escolha Criar.
nota
O AWS IoT Events console faz várias solicitações de API para adicionar o alarme ao modelo de ativos. Quando você escolhe Adicionar alarme, o console abre uma caixa de diálogo que mostra o progresso dessas solicitações de API. Permaneça nesta página até que cada solicitação de API seja bem-sucedida ou até que uma solicitação de API falhe. Se uma solicitação falhar, feche a caixa de diálogo, corrija o problema e escolha Adicionar alarme para tentar novamente.
Definir um AWS IoT Events alarme (AWS CLI)
Você pode usar o AWS Command Line Interface (AWS CLI) para definir um AWS IoT Events alarme que monitora uma propriedade do ativo. Você pode definir o alarme em um modelo de ativo novo ou existente. Depois de definir o alarme no modelo de ativo, você cria um alarme AWS IoT Events e o conecta ao modelo de ativo. Neste processo, você faz o seguinte:
Etapas
Etapa 1: definir um alarme em um modelo de ativo
Adicione uma definição de alarme e as propriedades associadas a um modelo de ativo novo ou existente.
Para definir um alarme em um modelo de ativo (CLI)
-
Crie um arquivo chamado
asset-model-payload.json
. Siga as etapas nessas outras seções para adicionar os detalhes do seu modelo de ativo para o arquivo, mas não envie a solicitação para criar ou atualizar o modelo de ativo. Nesta seção, você adiciona uma definição de alarme aos detalhes do modelo de ativo no arquivoasset-model-payload.json
.-
Para obter mais informações sobre como criar um modelo de ativo, consulte Criar um modelo de ativo (AWS CLI).
-
Para obter mais informações sobre como atualizar um modelo de ativo existente, consulte Atualizar um modelo de ativo ou de componente (AWS CLI).
nota
Seu modelo de ativo deve definir pelo menos uma propriedade do ativo, incluindo a propriedade do ativo a ser monitorada com o alarme.
-
-
Adicione um modelo de alarme composto (
assetModelCompositeModels
) para o modelo do ativo. Um modelo composto de AWS IoT Events alarme especifica oIOT_EVENTS
tipo e especifica uma propriedade da fonte de alarme. Você adiciona a propriedade da fonte de alarme depois de criar o modelo de alarme em AWS IoT Events.Importante
O modelo composto de alarme deve ter o mesmo nome do modelo de AWS IoT Events alarme que você criar posteriormente. Nomes de modelo de alarme podem conter apenas caracteres alfanuméricos. Especifique um nome alfanumérico exclusivo para que você possa usar o mesmo nome para o modelo de alarme.
{
...
"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": {} } } ] } ] } -
Adicione um atributo de limite de alarme ao modelo de ativo. Especifique o valor padrão a ser usado para esse limite. Você pode substituir esse valor padrão em cada ativo com base nesse modelo.
nota
O atributo de limite de alarme deve ser um
INTEGER
ou umDOUBLE
.{
...
"assetModelProperties": [...
{ "name": "Temperature Max Threshold", "dataType": "DOUBLE", "type": { "attribute": { "defaultValue": "105.0" } } } ] } -
(Opcional) Adicione atributos de notificação de alarme ao modelo de ativo. Esses atributos especificam o destinatário do IAM Identity Center e outras entradas AWS IoT Events usadas para enviar notificações quando o alarme muda de estado. Você pode substituir esses padrões em cada ativo com base nesse modelo.
Importante
Você pode enviar notificações de alarme aos AWS IAM Identity Center usuários. Para usar esse recurso, você deve habilitar o Centro de identidade do IAM. Você só pode ativar o IAM Identity Center em uma AWS região por vez. Isso significa que você pode definir notificações de alarme somente na região em que você habilita o Centro de identidade do IAM. Para obter mais informações, consulte Conceitos básicos no Guia do usuário do AWS IAM Identity Center .
Faça o seguinte:
-
Adicionar um atributo que especifique o ID do seu repositório de identidades do Centro de identidade do IAM. Você pode usar a operação da ListInstancesAPI do IAM Identity Center para listar seus repositórios de identidade. Essa operação funciona somente na região em que você habilita o Centro de identidade do IAM.
aws sso-admin list-instances
Em seguida, especifique a ID do repositório de identidade (por exemplo,
d-123EXAMPLE
) como o valor padrão para o atributo.{
...
"assetModelProperties": [...
{ "name": "identityStoreId
", "dataType": "STRING", "type": { "attribute": { "defaultValue": "d-123EXAMPLE
" } } } ] } -
Adicionar um atributo que especifique a ID do usuário do Centro de identidade do IAM que recebe notificações. Para definir um destinatário padrão da notificação, adicione uma ID de usuário do Centro de identidade do IAM como valor padrão. Faça o seguinte para obter uma ID de usuário do Centro de identidade do IAM:
-
Você pode usar a ListUsersAPI do IAM Identity Center para obter o ID de um usuário cujo nome de usuário você conhece.
d-123EXAMPLE
Substitua pela ID do seu repositório de identidades eName
substitua pelo nome de usuário do usuário.aws identitystore list-users \ --identity-store-id
d-123EXAMPLE
\ --filters AttributePath=UserName,AttributeValue=Name
-
Use o console do Centro de identidade do IAM
para procurar seus usuários e encontrar uma ID de usuário.
Em seguida, especifique a ID do usuário (por exemplo,
123EXAMPLE-a1b2c3d4-5678-90ab-cdef-33333EXAMPLE
) como o valor padrão para o atributo ou defina o atributo sem um valor padrão.{
...
"assetModelProperties": [...
{ "name": "userId
", "dataType": "STRING", "type": { "attribute": { "defaultValue": "123EXAMPLE-a1b2c3d4-5678-90ab-cdef-33333EXAMPLE
" } } } ] } -
-
(Opcional) Adicione um atributo que especifique a ID do remetente padrão para notificações por mensagens SMS (texto). A ID do remetente é exibida como o remetente da mensagem em mensagens enviadas pelo Amazon Simple Notification Service (Amazon SNS). Para obter mais informações, consulte Solicitação de mensagens SMS ao remetente IDs com o Amazon SNS no Guia do desenvolvedor do Amazon Simple Notification Service.
{
...
"assetModelProperties": [...
{ "name": "senderId
", "dataType": "STRING", "type": { "attribute": { "defaultValue": "MyFactory
" } } } ] } -
(Opcional) Adicione um atributo que especifique o endereço de e-mail padrão a ser usado como endereço De nas notificações por e-mail.
{
...
"assetModelProperties": [...
{ "name": "fromAddress
", "dataType": "STRING", "type": { "attribute": { "defaultValue": "my.factory@example.com
" } } } ] } -
(Opcional) Adicione um atributo que especifique o assunto padrão a ser usado nas notificações por e-mail.
{
...
"assetModelProperties": [...
{ "name": "emailSubject
", "dataType": "STRING", "type": { "attribute": { "defaultValue": "[ALERT] High boiler temperature
" } } } ] } -
(Opcional) Adicione um atributo que especifique uma mensagem adicional a ser incluída nas notificações. Por padrão, as mensagens de notificação incluem informações sobre o alarme. Você também pode incluir uma mensagem adicional que forneça mais informações ao usuário.
{
...
"assetModelProperties": [...
{ "name": "additionalMessage
", "dataType": "STRING", "type": { "attribute": { "defaultValue": "Turn off the power before you check the alarm.
" } } } ] }
-
-
Crie o modelo de ativo ou atualize o modelo de ativo existente. Execute um destes procedimentos:
-
Para criar o modelo de ativo, execute o comando a seguir.
aws iotsitewise create-asset-model --cli-input-json file://asset-model-payload.json
-
Para atualizar o modelo de ativo existente, execute o comando a seguir.
asset-model-id
Substitua pelo ID do modelo de ativo.aws iotsitewise update-asset-model \ --asset-model-id
asset-model-id
\ --cli-input-json file://asset-model-payload.json
Depois de executar o comando, observe o
assetModelId
na resposta. -
O modelo de ativo a seguir representa uma caldeira que relata dados de temperatura. Esse modelo de ativos define um alarme que detecta quando a caldeira superaquece.
{ "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": {} } } ] } ] }
Etapa 2: Definir um modelo AWS IoT Events de alarme
Crie o modelo de alarme em AWS IoT Events. Em AWS IoT Events, você usa expressões para especificar valores em modelos de alarme. Você pode usar expressões para especificar valores AWS IoT SiteWise para avaliar e usar como entradas para o alarme. Ao AWS IoT SiteWise enviar valores da propriedade do ativo para o modelo de alarme, AWS IoT Events avalia a expressão para obter o valor da propriedade ou o ID do ativo. Você pode usar as expressões a seguir no modelo de alarme:
-
Valores de propriedade de ativos
Para obter o valor de uma propriedade de ativos, use a expressão a seguir.
assetModelId
Substitua pela ID do modelo de ativo epropertyId
substitua pela ID da propriedade.$sitewise.assetModel.`
assetModelId
`.`propertyId
`.propertyValue.value -
Ativo IDs
Para obter a ID do ativo, use a expressão a seguir.
assetModelId
Substitua pela ID do modelo de ativo epropertyId
substitua pela ID da propriedade.$sitewise.assetModel.`
assetModelId
`.`propertyId
`.assetId
nota
Ao criar o modelo de alarme, você pode definir literais em vez de expressões que são avaliadas como AWS IoT SiteWise valores. Isso pode reduzir o número de atributos que você define em seu modelo de ativo. No entanto, se você definir um valor como substantivo, não poderá personalizar esse valor nos ativos com base no modelo do ativo. Seus AWS IoT SiteWise Monitor usuários também não podem personalizar o alarme, pois podem definir as configurações de alarme somente nos ativos.
Para criar um modelo AWS IoT Events de alarme (CLI)
-
Ao criar o modelo de alarme em AWS IoT Events, você deve especificar o ID de cada propriedade que o alarme usa, o que inclui o seguinte:
-
A propriedade do estado do alarme no modelo de ativo composto
-
A propriedade que o alarme monitora
-
O atributo limite
-
(Opcional) O atributo de ID do repositório de identidades do Centro de identidade do IAM
-
(Opcional) O atributo de ID de usuário do Centro de identidade do IAM
-
(Opcional) O atributo de ID de remetente de SMS
-
(Opcional) O atributo e-mail do endereço De
-
(Opcional) O atributo do assunto do e-mail
-
(Opcional) O atributo adicional de mensagem
Execute o comando a seguir para recuperar essas propriedades no modelo de ativo. IDs
asset-model-id
Substitua pelo ID do modelo de ativo da etapa anterior.aws iotsitewise describe-asset-model --asset-model-id
asset-model-id
A operação retorna uma resposta que contém os detalhes do modelo de ativo. Anote a ID de cada propriedade que o alarme usa. Você os usa IDs ao criar o modelo de AWS IoT Events alarme na próxima etapa.
-
-
Crie o modelo de alarme em AWS IoT Events. Faça o seguinte:
-
Crie um arquivo chamado
alarm-model-payload.json
. -
Copie o JSON a seguir no arquivo.
-
Insira um nome(
alarmModelName
), uma descrição (alarmModelDescription
) e a gravidade (severity
) para o alarme. Para gravidade, especifique um número inteiro que reflita os níveis de gravidade da sua empresa.Importante
O modelo de alarme deve ter o mesmo nome do modelo de alarme composto que você definiu em seu modelo de ativo anteriormente.
Nomes de modelo de alarme podem conter apenas caracteres alfanuméricos.
{ "alarmModelName": "
BoilerTemperatureHighAlarm
", "alarmModelDescription": "Detects when the boiler temperature is high.
", "severity":3
} -
Adicione a regra de comparação (
alarmRule
) para o alarme. Essa regra define a propriedade a ser monitorada (inputProperty
), o valor limite a ser comparado (threshold
) e o operador de comparação a ser usado (comparisonOperator
).-
assetModelId
Substitua pelo ID do modelo de ativo. -
alarmPropertyId
Substitua pela ID da propriedade que o alarme monitora. -
thresholdAttributeId
Substitua pelo ID da propriedade do atributo de limite. -
GREATER
Substitua pelo operador a ser usado para comparar os valores da propriedade com o limite. Escolha uma das seguintes opções:-
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" } } } -
-
Adicione uma ação (
alarmEventActions
) para enviar o estado do alarme para AWS IoT SiteWise quando o alarme muda de estado.nota
Para configuração avançada, você pode definir ações adicionais a serem realizadas quando o alarme mudar de estado. Por exemplo, você pode chamar uma função AWS Lambda ou publicar em um tópico do MQTT. Para obter mais informações, consulte Trabalhando com outros AWS serviços no Guia do AWS IoT Events desenvolvedor.
-
assetModelId
Substitua pelo ID do modelo de ativo. -
alarmPropertyId
Substitua pela ID da propriedade que o alarme monitora. -
alarmStatePropertyId
Substitua pela ID da propriedade do estado do alarme no modelo composto do alarme.
{ "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
'" } } ] } } -
-
(Opcional) Definir configurações de notificação de alarmes. A ação de notificação de alarme usa uma função do Lambda em sua conta para enviar notificações de alarme. Para obter mais informações, consulte Requisitos para notificações de alarme em AWS IoT SiteWise. Nas configurações de notificação de alarme, você pode configurar notificações por SMS e e-mail para enviar aos usuários do Centro de identidade do IAM. Faça o seguinte:
-
Adicione a configuração de notificação de alarme (
alarmNotification
) à carga útil emalarm-model-payload.json
.-
alarmNotificationFunctionArn
Substitua pelo ARN da função Lambda que gerencia as notificações de alarme.
{ "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
" } } } ] } } -
-
(Opcional) Configure as notificações por SMS (
smsConfigurations
) para enviar a um usuário do Centro de identidade do IAM quando o alarme mudar de estado.-
identityStoreIdAttributeId
Substitua pelo ID do atributo que contém o ID do repositório de identidades do IAM Identity Center. -
userIdAttributeId
Substitua pelo ID do atributo que contém o ID do usuário do IAM Identity Center. -
senderIdAttributeId
Substitua pelo ID do atributo que contém o ID do remetente do Amazon SNS ou remova-osenderId
da carga. -
additionalMessageAttributeId
Substitua pela ID do atributo que contém a mensagem adicional ou removaadditionalMessage
da carga.
{ "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" } ] } ] } } -
-
(Opcional) Configure as notificações por e-mail (
emailConfigurations
) para enviar a um usuário do Centro de identidade do IAM quando o alarme mudar de estado.-
identityStoreIdAttributeId
Substitua pelo ID da propriedade do atributo ID do repositório de identidades do IAM Identity Center. -
userIdAttributeId
Substitua pelo ID da propriedade do atributo ID do usuário do IAM Identity Center. -
fromAddressAttributeId
Substitua pela ID da propriedade do atributo de endereço “de” ou removafrom
da carga. -
emailSubjectAttributeId
Substitua pela ID da propriedade do atributo do assunto do e-mail ousubject
remova da carga. -
additionalMessageAttributeId
Substitua pela ID da propriedade adicional do atributo da mensagem ouadditionalMessage
remova da carga.
{ "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" } } ] } ] } } -
-
-
(Opcional) Adicione as funcionalidades de alarme (
alarmCapabilities
) à carga útil emalarm-model-payload.json
. Nesse objeto, você pode especificar se o fluxo de reconhecimento está habilitado e o estado de habilitação padrão para ativos com base no modelo do ativo. Para obter mais informações sobre o fluxo de reconhecimento, consulte Estados de alarme.{ "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
} } } -
Adicione a função de serviço do IAM (
roleArn
) que AWS IoT Events pode assumir o envio de dados para AWS IoT SiteWise. Esse perfil requer a permissãoiotsitewise:BatchPutAssetPropertyValue
e um relacionamento de confiança que permita queiotevents.amazonaws.com
assuma o perfil. Para enviar notificações, esse perfil também requer as permissõeslambda:InvokeFunction
esso-directory:DescribeUser
. Para obter mais informações, consulte Perfis de serviço de alarme no Guia do desenvolvedor do AWS IoT Events .-
roleArn
Substitua o pelo ARN da função que AWS IoT Events pode assumir para realizar essas ações.
{ "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
" } -
-
Execute o comando a seguir para criar o modelo de AWS IoT Events alarme a partir da carga em
alarm-model-payload.json
.aws iotevents create-alarm-model --cli-input-json file://alarm-model-payload.json
-
A operação retorna uma resposta que inclui o ARN do modelo de alarme,
alarmModelArn
Copie esse ARN para configurar a definição de alarme em seu modelo de ativo na próxima etapa.
-
Etapa 3: Habilitar o fluxo de dados entre AWS IoT SiteWise e AWS IoT Events
Depois de criar os recursos necessários em AWS IoT SiteWise e AWS IoT Events, você pode ativar o fluxo de dados entre os recursos para ativar seu alarme. Nesta seção, você atualiza a definição de alarme no modelo de ativo para usar o modelo de alarme criado na etapa anterior.
Para habilitar o fluxo de dados entre AWS IoT SiteWise e AWS IoT Events (CLI)
-
Defina o modelo de alarme como a fonte do alarme no modelo de ativo. Faça o seguinte:
-
Execute o seguinte comando para recuperar a definição do modelo de ativo existente.
asset-model-id
Substitua pelo ID do modelo de ativo.aws iotsitewise describe-asset-model --asset-model-id
asset-model-id
A operação retorna uma resposta que contém os detalhes do modelo de ativo.
-
Crie um arquivo chamado
update-asset-model-payload.json
e copie a resposta do comando anterior no arquivo. -
Remova os seguintes pares de chave-valor do arquivo
update-asset-model-payload.json
:-
assetModelId
-
assetModelArn
-
assetModelCreationDate
-
assetModelLastUpdateDate
-
assetModelStatus
-
-
Adicione a propriedade da fonte de alarme (
AWS/ALARM_SOURCE
) ao modelo de alarme composto que você definiu anteriormente.alarmModelArn
Substitua pelo ARN do modelo de alarme, que define o valor da propriedade da fonte de alarme.{
...
"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
" } } } ] } ] } -
Execute o seguinte comando para atualizar o modelo de ativo com a definição armazenada no arquivo
update-asset-model-payload.json
.asset-model-id
Substitua pelo ID do modelo de ativo.aws iotsitewise update-asset-model \ --asset-model-id
asset-model-id
\ --cli-input-json file://update-asset-model-payload.json
-
Seu modelo de ativo agora define um alarme que detecta em AWS IoT Events. O alarme monitora a propriedade de destino em todos os ativos com base nesse modelo de ativo. Você pode configurar o alarme em cada ativo para personalizar propriedades como o limite ou o destinatário do Centro de identidade do IAM para cada ativo. Para obter mais informações, consulte Configure alarmes em ativos no AWS IoT SiteWise.