

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

# Ative a detecção de anomalias nos sensores de um ativo
<a name="anom-detection-sensors-asset"></a>

## Crie um modelo de computação ()AWS CLI
<a name="create-computation-model"></a>

Para criar um modelo computacional, use a interface de linha de AWS comando (AWS CLI). Depois de definir o modelo de computação, treine o modelo e programe a inferência para fazer a detecção de anomalias em um ativo em. AWS IoT SiteWise
+ Crie um arquivo `anomaly-detection-computation-model-payload.json` com o seguinte conteúdo:

  ```
  {
      "computationModelName": "anomaly-detection-computation-model-name",
      "computationModelConfiguration": {
          "anomalyDetection": {
              "inputProperties": "${input_properties}",
              "resultProperty": "${result_property}"
          }
      },
      "computationModelDataBinding": {
          "input_properties": {
              "list": [{
                      "assetModelProperty": {
                          "assetModelId": "asset-model-id",
                          "propertyId": "input-property-id-1"
                      }
                  },
                  {
                      "assetModelProperty": {
                          "assetModelId": "asset-model-id",
                          "propertyId": "input-property-id-2"
                      }
                  }
              ]
          },
          "result_property": {
              "assetModelProperty": {
                  "assetModelId": "asset-model-id",
                  "propertyId": "results-property-id"
              }
          }
      }
  }
  ```
+ Execute o comando a seguir para criar um modelo de computação:

  ```
  aws iotsitewise create-computation-model \
      --cli-input-json file://anomaly-detection-computation-model-payload.json
  ```

## ExecuteAction Preparação da carga útil da API
<a name="create-action-payload"></a>

 As próximas etapas para executar o treinamento e a inferência são realizadas com a [ExecuteAction](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_ExecuteAction.html)API. Tanto o treinamento quanto a inferência são configurados com uma configuração de carga de ação JSON. Ao invocar a [ExecuteAction](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_ExecuteAction.html)API, a carga útil da ação deve ser fornecida como um valor com uma `stringValue` carga útil. 

 A carga útil deve seguir rigorosamente os requisitos da API. Especificamente, o valor deve ser uma **string simples**, sem **caracteres de controle** (por exemplo, novas linhas, guias ou retornos de carro).

As opções a seguir fornecem duas maneiras confiáveis de fornecer uma carga útil de ação válida: 

### Opção 1: usar um arquivo de carga útil limpo
<a name="clean-payload-file"></a>

O procedimento a seguir descreve as etapas para um arquivo de carga útil limpo:

1. Limpe o arquivo para remover os caracteres de controle.

   ```
   tr -d '\n\r\t' < original-action-payload.json > training-or-inference-action-payload.json
   ```

1. Execute a ação com o arquivo`@=file://...`.

   ```
   aws iotsitewise execute-action \
       --target-resource computationModelId=<MODEL_ID> \
       --action-definition-id <ACTION_DEFINITION_ID> \
       --resolve-to assetId=<ASSET_ID> \
       --action-payload stringValue@=file://training-or-inference-action-payload.json
   ```

### Opção 2: string embutida com aspas escapadas
<a name="inline-string-quotes"></a>

As etapas a seguir descrevem as etapas para fornecer a carga em linha e evitar arquivos intermediários:
+ Use aspas duplas de escape (`\"`) dentro da string JSON.
+ Coloque a `StringValue=..` expressão inteira entre aspas duplas.

**Example de uma carga útil de ação que escapou:**  

```
aws iotsitewise execute-action \
    --target-resource computationModelId=<MODEL_ID> \
    --action-definition-id <ACTION_DEFINITION_ID> \
    --resolve-to assetId=<ASSET_ID> \
    --action-payload "stringValue={\"exportDataStartTime\":1717225200,\"exportDataEndTime\":1722789360,\"targetSamplingRate\":\"PT1M\"}"
```

## Treine o modelo (AWS CLI)
<a name="start-training-cli"></a>

Com um modelo de computação criado, você pode treinar um modelo em relação aos ativos. Siga as etapas abaixo para treinar um modelo para um ativo:

1. Execute o seguinte comando para encontrar `actionDefinitionId` da ação `AWS/ANOMALY_DETECTION_TRAINING`. `computation-model-id`Substitua pela ID retornada na etapa anterior.

   ```
   aws iotsitewise describe-computation-model \
       --computation-model-id computation-model-id
   ```

1. Crie um arquivo chamado `anomaly-detection-training-payload.json` e adicione os seguintes valores:
**nota**  
 A carga útil deve estar em conformidade com. [Opção 1: usar um arquivo de carga útil limpo](#clean-payload-file) 

   1. `StartTime`com o início dos dados de treinamento, fornecidos em segundos de época.

   1. `EndTime`com o final dos dados de treinamento, fornecidos em segundos de época.

   1. Opcionalmente[Configurações avançadas de treinamento](adv-training-configs.md), você pode configurar para melhorar o desempenho do modelo.

      1. (Opcional) `TargetSamplingRate` com a taxa de amostragem dos dados.

      1. (Opcional) `LabelInputConfiguration` para especificar períodos de tempo em que ocorreu um comportamento anômalo para melhorar o treinamento do modelo.

      1. (Opcional) `ModelEvaluationConfiguration` para avaliar o desempenho do modelo executando inferências em um intervalo de tempo especificado após a conclusão do treinamento.

      1. (Opcional) `ModelMetricsDestination` para coletar dados de desempenho abrangentes (precisão, recuperação, área sob a curva).

   ```
   {
     "trainingMode": "TRAIN_MODEL", 
     "exportDataStartTime": StartTime,
     "exportDataEndTime": EndTime
   }
   ```  
**Example de um exemplo de carga útil de treinamento:**  

   ```
   {
     "trainingMode": "TRAIN_MODEL",            
     "exportDataStartTime": 1717225200,
     "exportDataEndTime": 1722789360
   }
   ```

1. Execute o comando a seguir para iniciar o treinamento. Substitua os parâmetros a seguir no comando:

   1. `computation-model-id`com o ID do modelo de computação de destino.

   1. `asset-id`com o ID do ativo com o qual você treinará o modelo.

   1. `training-action-definition-id`com o ID da `AWS/ANOMALY_DETECTION_TRAINING` ação da Etapa 1.

   ```
   aws iotsitewise execute-action \
       --target-resource computationModelId=computation-model-id \
       --resolve-to assetId=asset-id \
       --action-definition-id training-action-definition-id \
       --action-payload stringValue@=file://anomaly-detection-training-payload.json
   ```  
**Example de uma ação de execução:**  

   ```
   aws iotsitewise execute-action --target-resource computationModelId=27cb824c-fd84-45b0-946b-0a5b0466d890 --resolve-to assetId=cefd4b68-481b-4735-b466-6a4220cd19ee --action-definition-id e54cea94-5d1c-4230-a59e-4f54dcbc972d --action-payload stringValue@=file://anomaly-detection-training-payload.json
   ```

1. Execute o comando a seguir para verificar o status do processo de treinamento do modelo. O resumo da execução mais recente mostra o status da execução (`RUNNING`/`COMPLETED`/`FAILED`).

   ```
   aws iotsitewise list-executions \
       --target-resource-type COMPUTATION_MODEL \
       --target-resource-id computation-model-id\
       --resolve-to-resource-type ASSET \
       --resolve-to-resource-id asset-id
   ```

1. Execute o comando a seguir para verificar a configuração do modelo treinado mais recente. Esse comando produz uma saída somente se pelo menos um modelo tiver sido treinado com sucesso.

   ```
   aws iotsitewise describe-computation-model-execution-summary \
       --computation-model-id computation-model-id \
       --resolve-to-resource-type ASSET \
       --resolve-to-resource-id asset-id
   ```

1. Quando a `ComputationModel` estiver usando AssetModelProperty, use a [ListComputationModelResolveToResources](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_ListComputationModelResolveToResources.html)API para identificar os ativos com ações executadas.

   ```
   aws iotsitewise list-computation-model-resolve-to-resources \
       --computation-model-id computation-model-id
   ```

## Inicie e pare de treinar novamente o modelo ()AWS CLI
<a name="start-stop-retraining-cli"></a>

Após o treinamento inicial do modelo, você pode configurar o retreinamento automático para lidar com o desvio de dados e manter a precisão do modelo ao longo do tempo. O programador de reciclagem permite que você configure atualizações periódicas do modelo com modos de promoção configuráveis.

### Inicie o agendador de reciclagem
<a name="start-retraining-scheduler"></a>

1. Execute o seguinte comando para encontrar `actionDefinitionId` da ação `AWS/ANOMALY_DETECTION_TRAINING`. `computation-model-id`Substitua pelo ID retornado da criação do seu modelo de computação.

   ```
   aws iotsitewise describe-computation-model \
       --computation-model-id computation-model-id
   ```

1. Crie um arquivo chamado `anomaly-detection-start-retraining-payload.json` e adicione o código a seguir. Substitua os parâmetros por valores conforme descrito.
**nota**  
 A carga útil deve estar em conformidade com. [Opção 1: usar um arquivo de carga útil limpo](#clean-payload-file) 

   1. `lookbackWindow`com a janela de dados históricos a ser usada para reciclagem (`P180D`//`P360D``P540D`/`P720D`).

   1. `retrainingFrequency`com a frequência com que retreinar o modelo (mínimo`P30D`, máximo`P1Y`).

   1. (Opcional) `promotion` com o modo de promoção do modelo (`SERVICE_MANAGED`ou`CUSTOMER_MANAGED`). O padrão é `SERVICE_MANAGED`.

   1. (Opcional) `retrainingStartDate` com a data de início do cronograma de reciclagem, fornecida em segundos de época. Trunca a hora até o dia UTC mais próximo. Opcional, o padrão é a data atual.

   1. Opcionalmente, você pode configurar [Configurações avançadas de treinamento](adv-training-configs.md) para melhorar o desempenho do modelo.

      1. (Opcional) `ModelMetricsDestination` para obter dados de desempenho abrangentes (precisão, recuperação, área sob a curva).

   ```
   {
       "trainingMode": "START_RETRAINING_SCHEDULER",
       "retrainingConfiguration": {
           "lookbackWindow": "P180D",
           "promotion": "SERVICE_MANAGED",
           "retrainingFrequency": "P30D",
           "retrainingStartDate": "StartDate"
       }
   }
   ```

1. Execute o comando a seguir para iniciar o agendador de reciclagem. Substitua os parâmetros a seguir no comando:

   1. `computation-model-id`com o ID do modelo de computação de destino.

   1. `asset-id`com o ID do ativo com o qual você treinará o modelo.

   1. `training-action-definition-id`com o ID da `AWS/ANOMALY_DETECTION_TRAINING` ação da Etapa 1.

   ```
   aws iotsitewise execute-action \
       --target-resource computationModelId=computation-model-id \
       --resolve-to assetId=asset-id \
       --action-definition-id training-action-definition-id \
       --action-payload stringValue@=file://anomaly-detection-start-retraining-payload.json
   ```  
**Example Exemplo de comando de execução de ação**  

   ```
   aws iotsitewise execute-action --target-resource computationModelId=27cb824c-fd84-45b0-946b-0a5b0466d890 --resolve-to assetId=cefd4b68-481b-4735-b466-6a4220cd19ee --action-definition-id e54cea94-5d1c-4230-a59e-4f54dcbc972d --action-payload stringValue@=file://anomaly-detection-start-retraining-payload.json
   ```

### Pare o agendador de treinamento
<a name="stop-retraining-scheduler"></a>

1. Execute o seguinte comando para encontrar `actionDefinitionId` da ação `AWS/ANOMALY_DETECTION_TRAINING`. `computation-model-id`Substitua pelo ID real do modelo de computação criado anteriormente.

   ```
   aws iotsitewise describe-computation-model \
       --computation-model-id computation-model-id
   ```

1. Crie um arquivo `anomaly-detection-stop-retraining-payload.json` e adicione o seguinte:
**nota**  
 A carga útil deve estar em conformidade com. [Opção 1: usar um arquivo de carga útil limpo](#clean-payload-file) 

   ```
   {
       "trainingMode": "STOP_RETRAINING_SCHEDULER"
   }
   ```

1. Execute o comando a seguir para interromper o agendador de reciclagem. Substitua os parâmetros a seguir no comando:

   1. `computation-model-id`com o ID do modelo de computação de destino.

   1. `asset-id`com o ID do ativo com o qual você treinará o modelo.

   1. `training-action-definition-id`com o ID da `AWS/ANOMALY_DETECTION_TRAINING` ação da Etapa 1.

   ```
   aws iotsitewise execute-action \
       --target-resource computationModelId=computation-model-id \
       --resolve-to assetId=asset-id \
       --action-definition-id training-action-definition-id \
       --action-payload stringValue@=file://anomaly-detection-stop-retraining-payload.json
   ```

## Iniciar e interromper a inferência ()AWS CLI
<a name="start-stop-inference"></a>

Depois de treinar o modelo, inicie a inferência. Isso instrui AWS IoT SiteWise a monitorar ativamente seus ativos industriais em busca de anomalias.

### Iniciar inferência
<a name="start-inference"></a>

1. Execute o seguinte comando para encontrar `actionDefinitionId` da ação `AWS/ANOMALY_DETECTION_INFERENCE`. `computation-model-id`Substitua pelo ID real do modelo de computação criado anteriormente.

   ```
   aws iotsitewise describe-computation-model \
       --computation-model-id computation-model-id
   ```

1. Crie um arquivo `anomaly-detection-start-inference-payload.json` e adicione os seguintes valores:
**nota**  
 A carga útil deve estar em conformidade com. [Opção 1: usar um arquivo de carga útil limpo](#clean-payload-file) 

   ```
   "inferenceMode": "START",
   "dataUploadFrequency": "DataUploadFrequency"
   ```

   1. `DataUploadFrequency`: configure a frequência com que o cronograma de inferência é executado para realizar a detecção de anomalias. Os valores permitidos são: `PT5M, PT10M, PT15M, PT30M, PT1H, PT2H..PT12H, PT1D`.

   1. (Opcional) `DataDelayOffsetInMinutes` com a compensação de atraso em minutos. Defina esse valor entre 0 e 60 minutos.

   1. (Opcional) `TargetModelVersion` com a versão do modelo a ser ativada.

   1. (Opcional) Configure o `weeklyOperatingWindow` com uma configuração de turno.

   1. Você pode configurar [Configurações avançadas de inferência](advanced-inference-configurations.md) opcionalmente.

      1. [Inferência de alta frequência (5 minutos — 1 hora)](advanced-inference-configurations.md#high-frequency-inferencing).

      1. [Inferência de baixa frequência (2 horas — 1 dia)](advanced-inference-configurations.md#low-frequency-inferencing).

      1. [Programação flexível](advanced-inference-configurations.md#flexible-scheduling).

1. Execute o comando a seguir para iniciar a inferência. Substitua os parâmetros a seguir no arquivo de carga útil.

   1. `computation-model-id`com o ID do modelo de computação de destino.

   1. `asset-id`com a ID do ativo contra o qual o modelo foi treinado.

   1. `inference-action-definition-id`com o ID da `AWS/ANOMALY_DETECTION_INFERENCE` ação da Etapa 1.

   ```
   aws iotsitewise execute-action \
       --target-resource computationModelId=computation-model-id \
       --resolve-to assetId=asset-id \
       --action-definition-id inference-action-definition-id \
       --action-payload stringValue@=file://anomaly-detection-inference-payload.json
   ```

1. Execute o comando a seguir para verificar se a inferência ainda está em execução. O `inferenceTimerActive` campo é definido como `TRUE` quando a inferência está ativa.

   ```
   aws iotsitewise describe-computation-model-execution-summary \
       --computation-model-id computation-model-id \
       --resolve-to-resource-type ASSET \
       --resolve-to-resource-id asset-id
   ```

1. O comando a seguir lista todas as execuções de inferência:

   ```
   aws iotsitewise list-executions \
      --target-resource-type COMPUTATION_MODEL \
      --target-resource-id computation-model-id \
      --resolve-to-resource-type ASSET \
      --resolve-to-resource-id asset-id
   ```

1. Execute o comando a seguir para descrever uma execução individual. `execution-id`Substitua pelo id da Etapa 5 anterior.

   ```
   aws iotsitewise describe-execution \
       --execution-id execution-id
   ```

### Pare a inferência
<a name="stop-inference"></a>

1. Execute o seguinte comando para encontrar `actionDefinitionId` da ação `AWS/ANOMALY_DETECTION_INFERENCE`. `computation-model-id`Substitua pelo ID real do modelo de computação criado anteriormente.

   ```
   aws iotsitewise describe-computation-model \
       --computation-model-id computation-model-id
   ```

1. Crie um arquivo `anomaly-detection-stop-inference-payload.json` e adicione o código a seguir.

   ```
   {
       "inferenceMode": "STOP"
   }
   ```
**nota**  
 A carga útil deve estar em conformidade com. [Opção 1: usar um arquivo de carga útil limpo](#clean-payload-file) 

1. Execute o comando a seguir para interromper a inferência. Substitua o seguinte parâmetro no arquivo de carga:

   1. `computation-model-id`com o ID do modelo de computação de destino.

   1. `asset-id`com a ID do ativo contra o qual o modelo foi treinado.

   1. `inference-action-definition-id`com o ID da `AWS/ANOMALY_DETECTION_INFERENCE` ação da Etapa 1.  
**Example do comando stop inference:**  

   ```
   aws iotsitewise execute-action \
       --target-resource computationModelId=computation-model-id \
       --resolve-to assetId=asset-id \
       --action-definition-id inference-action-definition-id \
       --action-payload stringValue@=file://anomaly-detection-stop-inference-payload.json
   ```

## Encontre modelos de computação que usam um determinado recurso na vinculação de dados
<a name="find-computation-models-data-binding"></a>

Para listar modelos de computação vinculados a um determinado recurso:
+ **modelo de ativo** (busque todos os modelos de computação em que qualquer uma das propriedades desse modelo de ativo esteja vinculada).
+ **ativo** (obtenha todos os modelos de computação em que qualquer uma das propriedades desse ativo esteja vinculada)
+ **propriedade do modelo de ativos** (obtenha todos os modelos de computação em que essa propriedade está vinculada)
+ **propriedade do ativo** (obtenha todos os modelos de computação em que essa propriedade está vinculada). Isso pode ser para fins informativos ou obrigatório quando o usuário tenta vincular essa propriedade a outro modelo de computação (mas ela já está vinculada a outro lugar)

Use a [ ListComputationModelDataBindingUsages](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_ListComputationModelDataBindingUsages.html)API para buscar uma lista de `ComputationModelId` s que usam o ativo (propriedade) ou o modelo de ativo (propriedade) como vinculação de dados.

Prepare um `request.json` com as seguintes informações:

```
{
  "dataBindingValueFilter": {
    "asset": {
      "assetId": "<string>"
    }
    // OR
    "assetModel": {
      "assetModelId": "<string>"
    }
    // OR
    "assetProperty": {
      "assetId": "<string>",
      "propertyId": "<string>"
    }
    // OR
    "assetModelProperty": {
      "assetModelId": "<string>",
      "propertyId": "<string>"
    }
  },
  "nextToken": "<string>",
  "maxResults": "<number>"
}
```

Use o `list-computation-model-data-binding-usages` comando para recuperar os modelos com ativos ou modelos de ativos como vinculações de dados.

```
aws iotsitewise list-computation-model-data-binding-usages \
--cli-input-json file://request.json
```