

Aviso de fim do suporte: em 20 de maio de 2026, AWS encerrará o suporte para AWS IoT Events. Depois de 20 de maio de 2026, você não poderá mais acessar o AWS IoT Events console ou os AWS IoT Events recursos. Para obter mais informações, consulte [AWS IoT Events Fim do suporte](https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-end-of-support.html).

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á.

# Definições de entrada para modelos de detectores em AWS IoT Events
<a name="iotevents-commented-example-inputs"></a>

Queremos criar um modelo de detector que possa ser usado para monitorar e controlar a temperatura em várias áreas diferentes. Cada área pode ter vários sensores que informam a temperatura. Presumimos que cada área é servida por uma unidade de aquecimento e uma unidade de resfriamento que podem ser ligadas ou desligadas para controlar a temperatura na área. Cada área é controlada por uma instância de detector.

Como as diferentes áreas que monitoramos e controlamos podem ter características diferentes que exigem parâmetros de controle diferentes, definimos o `'seedTemperatureInput'` para fornecer esses parâmetros para cada área. Quando enviamos uma dessas mensagens de entrada para o AWS IoT Events, é criada uma nova instância do modelo de detector com os parâmetros que queremos usar nessa área. Confira aqui a definição dessa entrada.

Comando da CLI:

```
aws iotevents create-input --cli-input-json file://seedInput.json
```

Arquivo: `seedInput.json`

```
{
  "inputName": "seedTemperatureInput",
  "inputDescription": "Temperature seed values.",
  "inputDefinition": {
    "attributes": [
      { "jsonPath": "areaId" },
      { "jsonPath": "desiredTemperature" },
      { "jsonPath": "allowedError" },
      { "jsonPath": "rangeHigh" },
      { "jsonPath": "rangeLow" },
      { "jsonPath": "anomalousHigh" },
      { "jsonPath": "anomalousLow" },
      { "jsonPath": "sensorCount" },
      { "jsonPath": "noDelay" }
    ]
  }
}
```

Resposta:

```
{
    "inputConfiguration": {
        "status": "ACTIVE", 
        "inputArn": "arn:aws:iotevents:us-west-2:123456789012:input/seedTemperatureInput", 
        "lastUpdateTime": 1557519620.736, 
        "creationTime": 1557519620.736, 
        "inputName": "seedTemperatureInput", 
        "inputDescription": "Temperature seed values."
    }
}
```

**Observações**
+ Uma nova instância de detector é criada para cada `'areaId'` exclusivo recebido em qualquer mensagem. Veja o campo `'key'` na definição `'areaDetectorModel'`.
+ A temperatura média pode variar de `'desiredTemperature'` até `'allowedError'` antes que as unidades de aquecimento ou resfriamento sejam ativadas para a área.
+ Se algum sensor relatar uma temperatura acima de `'rangeHigh'`, o detector relatará um pico e iniciará imediatamente a unidade de resfriamento.
+ Se algum sensor relatar uma temperatura abaixo de `'rangeLow'`, o detector relatará um pico e iniciará imediatamente a unidade de aquecimento.
+ Se algum sensor relatar uma temperatura acima de `'anomalousHigh'` ou abaixo de `'anomalousLow'`, o detector relatará uma leitura anômala do sensor, mas ignorará a leitura da temperatura relatada.
+ O `'sensorCount'` informa ao detector quantos sensores estão reportando para a área. O detector calcula a temperatura média na área fornecendo o fator de peso apropriado para cada leitura de temperatura que recebe. Por causa disso, o detector não precisará acompanhar o que cada sensor relata, e o número de sensores pode ser alterado dinamicamente, conforme necessário. No entanto, se um sensor individual ficar off-line, o detector não saberá sobre ou aceitará essa situação. Recomendamos que você crie outro modelo de detector específico para monitorar o status da conexão de cada sensor. Ter dois modelos de detectores complementares simplifica o projeto de ambos.
+ O valor de `'noDelay'` pode ser `true` ou `false`. Depois que uma unidade de aquecimento ou resfriamento é ligada, ela deve permanecer ligada por um certo tempo mínimo para proteger a integridade da unidade e prolongar sua vida útil. Se `'noDelay'` estiver configurado como `false`, a instância do detector impõe um atraso antes de desligar as unidades de resfriamento e aquecimento, para garantir que elas funcionem pelo tempo mínimo. O número de segundos de atraso foi codificado na definição do modelo do detector porque não podemos usar um valor variável para definir um temporizador.

O `'temperatureInput'` é usado para transmitir dados do sensor para uma instância do detector.

Comando da CLI:

```
aws iotevents create-input --cli-input-json file://temperatureInput.json
```

Arquivo: `temperatureInput.json`

```
{
  "inputName": "temperatureInput",
  "inputDescription": "Temperature sensor unit data.",
  "inputDefinition": {
    "attributes": [
      { "jsonPath": "sensorId" },
      { "jsonPath": "areaId" },
      { "jsonPath": "sensorData.temperature" }
    ]
  }
}
```

Resposta:

```
{
    "inputConfiguration": {
        "status": "ACTIVE", 
        "inputArn": "arn:aws:iotevents:us-west-2:123456789012:input/temperatureInput", 
        "lastUpdateTime": 1557519707.399, 
        "creationTime": 1557519707.399, 
        "inputName": "temperatureInput", 
        "inputDescription": "Temperature sensor unit data."
    }
}
```

**Observações**
+ O `'sensorId'` não é usado por uma instância de detector de exemplo para controlar ou monitorar um sensor diretamente. Ele é automaticamente passado para as notificações enviadas pela instância do detector. A partir daí, ele pode ser usado para identificar os sensores que estão falhando (por exemplo, um sensor que envia regularmente leituras anômalas pode estar prestes a falhar) ou que estão off-line (quando usado como entrada para um modelo de detector adicional que monitora o batimento cardíaco do dispositivo). O `'sensorId'` também pode ajudar a identificar zonas quentes ou frias em uma área se suas leituras regularmente diferirem da média.
+ O `'areaId'` é usado para rotear os dados do sensor para a instância apropriada do detector. Uma instância de detector é criada para cada `'areaId'` exclusivo recebido em qualquer mensagem. Veja o campo `'key'` na definição `'areaDetectorModel'`.