

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# 에서 경보를 사용하여 데이터 모니터링 AWS IoT SiteWise
<a name="industrial-alarms"></a>

장비 또는 프로세스가 최적화되지 않았을 때 \$1팀원들에게 경고 알림을 보내도록 데이터에 대한 경보를 구성할 수 있습니다. 특정 메트릭 값이 상한 범위와 하한 범위 내에 있어야 컴퓨터 또는 프로세스 성능이 최적화됩니다. 메트릭이 작동 범위를 벗어나면 장비 운영자가 문제를 해결할 수 있도록 알림을 보내야 합니다. 경보를 사용하여 문제를 신속하게 식별하고 운영자에게 알려 장비 및 프로세스 성능을 극대화할 수 있습니다.

**Topics**
+ [경보 유형](#alarm-types)
+ [경보 상태](#alarm-states)
+ [경보 상태 속성](#alarm-state-properties)
+ [에서 자산 모델에 대한 경보 정의 AWS IoT SiteWise](define-alarms.md)
+ [에서 자산에 대한 경보 구성 AWS IoT SiteWise](configure-alarms.md)
+ [의 경보에 대응 AWS IoT SiteWise](respond-to-alarms.md)
+ [에서 외부 경보 상태 수집 AWS IoT SiteWise](ingest-external-alarm-state.md)

## 경보 유형
<a name="alarm-types"></a>

 AWS 클라우드에서 감지하는 경보와 외부 프로세스에서 감지하는 경보를 정의할 수 있습니다.는 다음 유형의 경보를 AWS IoT SiteWise 지원합니다.
+ **AWS IoT Events 경보**
**참고**  
지원 종료 알림:에 대한 지원 AWS 종료 AWS IoT Events. 자세한 내용은 [AWS IoT Events 지원 종료를 참조하세요](https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-end-of-support.html).

  AWS IoT Events 경보는 in을 감지하는 경보입니다 AWS IoT Events.는 자산 속성 값을의 경보 모델에 AWS IoT SiteWise 전송합니다 AWS IoT Events. 그런 다음 경보 상태를 AWS IoT Events 로 보냅니다 AWS IoT SiteWise. 경보 감지 시기, 경보 상태 변경 시 알림 대상 등의 옵션을 구성할 수 있습니다. 경보 상태가 변경될 때 발생하는 [AWS IoT Events 작업](https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-supported-actions.html)을 정의할 수도 있습니다.

  의 경보 AWS IoT Events 는 경보 모델의 인스턴스입니다. 경보 모델은 경보의 임계값 및 심각도, 경보 상태가 변경될 때 수행할 조치 등을 지정합니다. 경보 모델의 각 특성을 구성할 때는 경보가 모니터링하는 자산 모델의 특성(attribute) 속성을 지정합니다. 자산 모델을 기반으로 하는 모든 자산은가 경보의 해당 특성을 AWS IoT Events 평가할 때 속성 값을 사용합니다. 자세한 정보는 *AWS IoT Events 개발자 안내서*의 [경보 사용](https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-alarms.html)을 참조하세요.

  경보 상태가 변경될 때 AWS IoT Events 경보에 응답할 수 있습니다. 예를 들어 경보가 활성화되면 경보를 확인하거나 일시 중지할 수 있습니다. 또한 경보를 활성화, 비활성화, 재설정할 수 있습니다.

  SiteWise Monitor 사용자는 SiteWise Monitor 포털에서 AWS IoT Events 경보를 시각화, 구성 및 대응할 수 있습니다. 자세한 내용을 알아보려면 *AWS IoT SiteWise Monitor 애플리케이션 안내서*의 [경보를 통한 모니터링](https://docs.aws.amazon.com/iot-sitewise/latest/appguide/monitor-alarms.html)을 참조하세요.
**참고**  
AWS IoT Events 요금은 이러한 경보를 평가하고 AWS IoT SiteWise 및 간에 데이터를 전송하는 데 적용됩니다 AWS IoT Events. 자세한 내용은 [AWS IoT Events 요금](https://aws.amazon.com/iot-events/pricing/)을 참조하십시오.
+ **외부 경보**

  외부 경보는 외부에서 평가하는 경보입니다 AWS IoT SiteWise. 경보 상태를 보고하는 데이터 소스가 있는 경우 외부 경보를 사용합니다. 외부 경보에는 경보 상태 데이터를 수집하는 데 사용하는 측정값 속성이 포함되어 있습니다.

  상태가 바뀌면 외부 경보를 확인하거나 일시 중지할 수 없습니다.

  SiteWise Monitor 사용자는 SiteWise Monitor 포털에서 외부 경보의 상태를 볼 수 있지만, 이러한 경보를 구성하거나 이에 응답할 수는 없습니다.

  AWS IoT SiteWise 는 외부 경보의 상태를 평가하지 않습니다.

## 경보 상태
<a name="alarm-states"></a>

산업용 경보에는 모니터링하는 장비 또는 프로세스의 상태에 대한 정보와 경보 상태에 대한 작업자의 대응에 대한 정보(선택 사항)가 포함됩니다.

 AWS IoT Events 경보를 정의할 때 *승인 흐름을* 활성화할지 여부를 지정합니다. 확인 흐름은 기본적으로 활성화되어 있습니다. 이 옵션을 활성화하면 작업자는 경보를 확인하고 경보에 대한 세부 정보 또는 경보를 해결하기 위해 취한 조치를 메모로 남길 수 있습니다. 작업자가 활성 경보가 비활성 상태가 되기 전에 확인하지 않으면 경보가 래치 상태가 됩니다. 래치 상태는 경보가 활성화되었지만 인식되지 않았음을 나타내므로 작업자는 장비 또는 프로세스를 점검하고 래치 경보를 확인해야 합니다.

경보의 상태는 다음과 같습니다:
+ **정상**(`Normal`) - 경보가 활성화되었지만 비활성 상태입니다. 산업 프로세스 또는 장비가 예상대로 작동합니다.
+ **활성**(`Active`) - 경보가 활성 상태입니다. 산업 공정 또는 장비가 작동 범위를 벗어났으므로 주의가 필요합니다.
+ **확인됨**(`Acknowledged`) - 작업자가 경보 상태를 확인했습니다.

  이 상태는 확인 흐름을 활성화한 경보에만 적용됩니다.
+ **래치 상태**(`Latched`) - 경보가 정상으로 돌아왔지만 활성 상태였으며 작업자가 이를 확인하지 않았습니다. 산업 공정 또는 장비에서 경보를 정상으로 재설정하려면 작업자의 주의가 필요합니다.

  이 상태는 확인 흐름을 활성화한 경보에만 적용됩니다.
+ **일시 중지됨**(`SnoozeDisabled`) - 작업자가 경보를 일시 중지했기 때문에 경보가 비활성화되었습니다. 운영자는 경보가 일시 정지되는 기간을 정의합니다. 이 기간이 지나면 경보는 정상 상태로 돌아옵니다.
+ **비활성화됨**(`Disabled`) - 경보가 비활성화되어 감지되지 않습니다.

## 경보 상태 속성
<a name="alarm-state-properties"></a>

AWS IoT SiteWise 는 경보 상태 데이터를 문자열에 직렬화된 JSON 객체로 저장합니다. 이 객체에는 작업자 대응 조치, 경보가 평가하는 규칙 등 경보에 대한 상태 및 추가 정보가 포함됩니다.

이름 및 구조 유형 `AWS/ALARM_STATE`로 경보 상태 속성을 식별할 수 있습니다. 자세한 내용은 [에서 자산 모델에 대한 경보 정의 AWS IoT SiteWise](define-alarms.md) 단원을 참조하십시오.

경보 상태 데이터 객체에는 다음과 같은 정보가 포함되어 있습니다.

`stateName`  
경보 상태 자세한 내용은 [경보 상태](#alarm-states) 단원을 참조하십시오.  
데이터 유형: `STRING`

`customerAction`  
(선택 사항) 경보에 대한 작업자의 대응 정보가 들어 있는 객체입니다. 작업자는 경보를 활성화, 비활성화, 확인, 일시 중지할 수 있습니다. 이러한 작업을 하면 경보 상태 데이터에 응답과 응답 시 남길 수 있는 메모가 포함됩니다. 이 객체에는 다음 정보가 포함되어 있어야 합니다.    
`actionName`  
작업자가 경보에 대응하기 위해 취하는 조치의 이름입니다. 다음 스트링 중 하나를 포함합니다.  
+ `ENABLE`
+ `DISABLE`
+ `SNOOZE`
+ `ACKNOWLEDGE`
+ `RESET`
데이터 유형: `STRING`  
`enable`  
(선택 사항) 작업자가 경보를 활성화할 때 `customerAction`에 표시되는 객체입니다. 작업자가 경보를 활성화하면 경보 상태가 `Normal`로 바뀝니다. 이 객체에는 다음 정보가 포함되어 있어야 합니다.    
`note`  
(선택 사항) 고객이 경보를 활성화할 때 남기는 메모입니다.  
데이터 유형: `STRING`  
최대 길이: 128자  
`disable`  
(선택 사항) 작업자가 경보를 비활성화할 때 `customerAction`에 표시되는 객체입니다. 작업자가 경보를 활성화하면 경보 상태가 `Disabled`로 바뀝니다. 이 객체에는 다음 정보가 포함되어 있어야 합니다.    
`note`  
(선택 사항) 고객이 경보를 비활성화할 때 남기는 메모입니다.  
데이터 유형: `STRING`  
최대 길이: 128자  
`acknowledge`  
(선택 사항) 작업자가 경보를 확인할 때 `customerAction`에 표시되는 객체입니다. 작업자가 경보를 활성화하면 경보 상태가 `Acknowledged`로 바뀝니다. 이 객체에는 다음 정보가 포함되어 있어야 합니다.    
`note`  
(선택 사항) 고객이 경보를 확인할 때 남기는 메모입니다.  
데이터 유형: `STRING`  
최대 길이: 128자  
`snooze`  
(선택 사항) 작업자가 경보를 일시 중지할 때 `customerAction`에 표시되는 객체입니다. 작업자가 경보를 활성화하면 경보 상태가 `SnoozeDisabled`로 바뀝니다. 이 객체에는 다음 정보가 포함되어 있어야 합니다.    
`snoozeDuration`  
작업자가 경보를 일시 중지하는 시간(초)입니다. 이 시간이 지나면 경보가 `Normal` 상태로 바뀝니다.  
데이터 유형: `INTEGER`  
`note`  
(선택 사항) 고객이 경보를 일시 중지할 때 남기는 메모입니다.  
데이터 유형: `STRING`  
최대 길이: 128자

`ruleEvaluation`  
(선택 사항) 경보를 평가하는 규칙에 대한 정보가 포함된 객체입니다. 이 객체에는 다음 정보가 포함되어 있어야 합니다.    
`simpleRule`  
비교 연산자를 사용하여 속성 값을 임계값과 비교하는 간단한 규칙에 대한 정보가 들어 있는 객체입니다. 이 객체에는 다음 정보가 포함되어 있어야 합니다.    
`inputProperty`  
경보에서 평가하는 속성의 값입니다.  
데이터 유형: `DOUBLE`  
`operator`  
이 경보가 속성을 임계값과 비교하는 데 사용하는 비교 연산자입니다. 다음 스트링 중 하나를 포함합니다.  
+ `<` - 미만
+ `<=` – 이하
+ `==` – 같음
+ `!=` – 같지 않음
+ `>=` – 이상
+ `>` – 초과
데이터 유형: `STRING`  
`threshold`  
이 경보가 속성값과 비교하는 임계값입니다.  
데이터 유형: `DOUBLE`

# 에서 자산 모델에 대한 경보 정의 AWS IoT SiteWise
<a name="define-alarms"></a>

자산 모델은 산업 데이터 및 경보의 표준화를 촉진합니다. 자산 모델에 경보 정의를 정의하여 자산 모델을 기반으로 모든 자산에 대한 경보를 표준화할 수 있습니다.

*복합 자산 모델*을 사용하여 이 자산 모델에 대한 경보를 정의할 수 있습니다. 복합 자산 모델은 다른 자산 모델의 특정 속성 집합을 표준화하는 자산 모델입니다. 복합 자산 모델은 자산 모델에 특정 속성이 존재하도록 합니다. 경보에는 유형, 상태, 소스 속성(선택 사항)이 있으므로, 경보 복합 모델은 이러한 속성이 존재하도록 강제합니다.

각 복합 자산 모델에는 복합 모델이 지원하는 속성을 정의하는 유형이 있습니다. 경보 복합 모델은 경보 유형, 경보 상태, 경보 소스(선택 사항)의 속성을 정의합니다. 복합 모델이 포함된 자산 모델에서 자산을 생성하는 경우, 자산에는 자산 모델에서 지정한 속성과 함께 복합 모델의 속성이 포함됩니다.

복합 모델의 각 속성에는 해당 복합 모델 유형을 식별하는 이름이 있어야 합니다. 복합 모델 속성은 복잡한 데이터 유형의 속성을 지원합니다. 이러한 속성에는 속성의 복합 데이터 유형을 지정하는 `STRUCT` 데이터 유형과 `dataTypeSpec` 특성이 있습니다. 복합 데이터 유형 속성에는 문자열로 직렬화된 JSON 데이터가 포함됩니다.

경보 복합 모델에는 다음과 같은 속성이 있습니다. 각 속성에는 이 유형의 복합 모델에 대해 이를 식별하는 이름이 있어야 합니다.

**경보 유형**  
경보 유형. 다음 중 하나를 지정하세요.  
+ `IOT_EVENTS` - AWS IoT Events alarm. AWS IoT SiteWise sends data to AWS IoT Events 로이 경보의 상태를 평가합니다. 경보 소스 속성을 지정하여이 AWS IoT Events 경보 정의에 대한 경보 모델을 정의해야 합니다.
**참고**  
지원 종료 알림:에 대한 지원 AWS 종료 AWS IoT Events. 자세한 내용은 [AWS IoT Events 지원 종료를 참조하세요](https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-end-of-support.html).
+ `EXTERNAL` - 외부 경보입니다. 경보 상태를 측정값으로 수집합니다.
속성 이름: `AWS/ALARM_TYPE`  
속성 유형: [attribute](attributes.md)  
데이터 유형: `STRING`

**경보 상태**  
경보 상태에 대한 시계열 데이터입니다. 경보에 대한 상태 및 기타 정보를 포함하는 문자열로 직렬화된 객체입니다. 자세한 내용은 [경보 상태 속성](industrial-alarms.md#alarm-state-properties) 단원을 참조하십시오.  
속성 이름: `AWS/ALARM_STATE`  
속성 유형: [measurement](measurements.md)  
데이터 유형: `STRUCT`  
데이터 구조 유형: `AWS/ALARM_STATE`

**경보 소스**  
(선택 사항) 경보 상태를 평가하는 리소스의 Amazon 리소스 이름(ARN)입니다. AWS IoT Events 경보의 경우 경보 모델의 ARN입니다.  
속성 이름: `AWS/ALARM_SOURCE`  
속성 유형: [attribute](attributes.md)  
데이터 유형: `STRING`

**Example 경보 복합 모델 예시**  
다음 자산 모델은 온도를 모니터링하는 경보가 있는 보일러를 나타냅니다.는 온도 데이터를에 AWS IoT SiteWise 전송 AWS IoT Events 하여 경보를 감지합니다.  

```
{
  "assetModelName": "Boiler",
  "assetModelDescription": "A boiler that alarms when its temperature exceeds its limit.",
  "assetModelProperties": [
    {
      "name": "Temperature",
      "dataType": "DOUBLE",
      "unit": "Celsius",
      "type": {
        "measurement": {}
      }
    },
    {
      "name": "High Temperature",
      "dataType": "DOUBLE",
      "unit": "Celsius",
      "type": {
        "attribute": {
          "defaultValue": "105.0"
        }
      }
    }
  ],
  "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": {}
          }
        },
        {
          "name": "AWS/ALARM_SOURCE",
          "dataType": "STRING",
          "type": {
            "attribute": {}
          }
        }
      ]
    }
  ]
}
```

**Topics**
+ [의 경보 알림 요구 사항 AWS IoT SiteWise](iot-events-alarm-notification-requirements.md)
+ [에 대한 AWS IoT Events 경보 정의 AWS IoT SiteWise](define-iot-events-alarms.md)
+ [에서 외부 경보 정의 AWS IoT SiteWise](define-external-alarms.md)

# 의 경보 알림 요구 사항 AWS IoT SiteWise
<a name="iot-events-alarm-notification-requirements"></a>

AWS IoT Events 는 AWS 계정의 AWS Lambda 함수를 사용하여 경보 알림을 보냅니다. 경보 알림을 활성화하려면 경보와 동일한 AWS 리전에서이 Lambda 함수를 생성해야 합니다. 이 Lambda 함수는 [Amazon Simple Notification Service(SNS)](https://docs.aws.amazon.com/sns/latest/dg/welcome.html)를 사용하여 문자 알림을 보내고, [Amazon Simple Email Service(Amazon SES)](https://docs.aws.amazon.com/ses/latest/dg/Welcome.html)를 사용하여 이메일 알림을 보냅니다. AWS IoT Events 경보를 생성할 때 경보가 알림을 보내는 데 사용하는 프로토콜과 설정을 구성합니다.

**참고**  
지원 종료 알림:에 대한 지원 AWS 종료 AWS IoT Events. 자세한 내용은 [AWS IoT Events 지원 종료를 참조하세요](https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-end-of-support.html).

AWS IoT Events 는 계정에서이 Lambda 함수를 생성하는 데 사용할 수 있는 AWS CloudFormation 스택 템플릿을 제공합니다. 자세한 정보는 *AWS IoT Events 개발자 안내서*의 [Lambda 함수 오류](https://docs.aws.amazon.com/iotevents/latest/developerguide/lambda-support.html)를 참조하세요.

# 에 대한 AWS IoT Events 경보 정의 AWS IoT SiteWise
<a name="define-iot-events-alarms"></a>

**참고**  
지원 종료 알림:에 대한 지원 AWS 종료 AWS IoT Events. 자세한 내용은 [AWS IoT Events 지원 종료를 참조하세요](https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-end-of-support.html).

 AWS IoT Events 경보를 생성할 때는 자산 속성 값을 로 AWS IoT SiteWise 전송 AWS IoT Events 하여 경보의 상태를 평가합니다. AWS IoT Events 경보 정의는에서 정의한 경보 모델에 따라 달라집니다 AWS IoT Events. 자산 모델에 AWS IoT Events 경보를 정의하려면 경보 모델을 AWS IoT Events 경보 소스 속성으로 지정하는 경보 복합 모델을 정의합니다.

AWS IoT Events 경보는 경보 임계값 및 경보 알림 설정과 같은 입력에 따라 달라집니다. 이러한 입력을 자산 모델의 속성(attribute)으로 정의합니다. 그런 다음 모델에 따라 각 자산에서 이러한 입력을 사용자 지정할 수 있습니다. AWS IoT SiteWise 콘솔에서 이러한 속성을 생성할 수 있습니다. AWS CLI 또는 API를 사용하여 경보를 정의하는 경우 자산 모델에서 이러한 속성을 수동으로 정의해야 합니다.

또한 사용자 지정 경보 알림 동작과 같이 경보가 감지될 때 발생하는 다른 작업을 정의할 수 있습니다. 예를 들어, Amazon SNS 주제에 푸시 알림을 보내는 작업을 구성할 수 있습니다. 정의할 수 있는 작업에 대한 자세한 내용은 *AWS IoT Events 개발자 안내서*의 [다른 AWS 서비스 작업을](https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-other-aws-services.html) 참조하세요.

자산 모델을 업데이트하거나 삭제할 때는의 AWS IoT Events 경보 모델이이 자산 모델과 연결된 자산 속성을 모니터링하는지 확인할 AWS IoT SiteWise 수 있습니다. 이렇게 하면 AWS IoT Events 경보가 현재 사용 중인 자산 속성을 삭제할 수 없습니다. 에서이 기능을 활성화하려면 `iotevents:ListInputRoutings` 권한이 AWS IoT SiteWise있어야 합니다. 이 권한을 통해 AWS IoT SiteWise 는에서 지원하는 [ListInputRoutings](https://docs.aws.amazon.com/iotevents/latest/apireference/API_ListInputRoutings.html) API 작업을 호출할 수 있습니다 AWS IoT Events. 자세한 내용은 [(선택 사항) ListInputRoutings 권한](alarms-iam-permissions.md#alarms-listInputRoutings-permissions) 단원을 참조하십시오.

**참고**  
경보 알림 기능은 중국(베이징) 리전에서 사용할 수 없습니다.

**Topics**
+ [AWS IoT Events 경보 정의(AWS IoT SiteWise 콘솔)](#define-iot-events-alarm-console)
+ [AWS IoT Events 경보 정의(AWS IoT Events 콘솔)](#define-iot-events-alarm-console-ite-console)
+ [AWS IoT Events 경보 정의(AWS CLI)](#define-iot-events-alarm-cli)

## AWS IoT Events 경보 정의(AWS IoT SiteWise 콘솔)
<a name="define-iot-events-alarm-console"></a>

 AWS IoT SiteWise 콘솔을 사용하여 기존 자산 모델에 대한 AWS IoT Events 경보를 정의할 수 있습니다. 새 자산 모델에 AWS IoT Events 경보를 정의하려면 자산 모델을 생성한 다음 다음 다음 단계를 완료합니다. 자세한 내용은 [에서 자산 모델 생성 AWS IoT SiteWise](create-asset-models.md) 단원을 참조하십시오.

**중요**  
각 경보에는 경보와 비교할 임계값을 지정하는 속성(attribute)이 필요합니다. 경보를 정의하려면 먼저 자산 모델에서 임계값 속성(attribute)을 정의해야 합니다.  
풍력 터빈이 최대 풍속 등급인 50mph를 초과할 때 이를 감지하는 경보를 정의하려는 경우를 예로 들어 보겠습니다. 경보를 정의하기 전에 기본값 `50`으로 속성(attribute)(**최대 풍속**)을 정의해야 합니다.

**자산 모델에 AWS IoT Events 경보를 정의하려면**

1. [AWS IoT SiteWise 콘솔](https://console.aws.amazon.com/iotsitewise/)로 이동합니다.

1. 탐색 창에서 **모델**을 선택합니다.

1. 경보를 정의할 자산 모델을 선택합니다.

1. **경보** 탭을 선택합니다.

1. **경보 추가**를 선택합니다.

1. **경보 유형 옵션** 섹션에서 **AWS IoT Events 경보**를 선택합니다.

1. **경보 세부 정보** 섹션에서 다음을 수행합니다.

   1. 경보의 이름을 입력합니다.

   1. (선택 사항) 경보에 대한 설명을 입력합니다.

1. **임계값 정의** 섹션에서는 경보가 탐지되는 시기와 경보의 심각도를 정의합니다. 해결 방법:

   1. 경보가 탐지되는 **속성**을 선택합니다. 이 속성이 새 값을 수신할 때마다는 경보 상태를 평가하기 AWS IoT Events 위해 값을에 AWS IoT SiteWise 전송합니다.

   1. 속성을 임계값과 비교하는 데 사용할 **연산자**를 선택합니다. 다음 옵션 중 하나를 선택합니다.
      + **< 미만**
      + **<= 이하**
      + **== 같음**
      + **\$1= 같지 않음**
      + **>= 이상**
      + **> 초과**

   1. **값**에서 임계값으로 사용할 속성 속성을 선택합니다.는 속성의 값을이 속성의 값과 AWS IoT Events 비교합니다.

   1. 경보의 **심각도**를 입력합니다. 팀에서 이해할 수 있는 숫자를 사용하여 이 경보의 심각도를 반영합니다.

1. (선택 사항) **알림 설정 - *선택 사항*** 섹션에서 다음을 수행합니다.

   1. **활성화**를 선택합니다.
**참고**  
**비활성**을 선택하면 사용자와 팀이 경보 알림을 받지 않게 됩니다.

   1. **수신자**에서 수신자를 선택합니다.
**중요**  <a name="alarm-notifications-sso-requirement"></a>
 AWS IAM Identity Center 사용자에게 경보 알림을 보낼 수 있습니다. 이 기능을 사용하려면 IAM Identity Center를 활성화해야 합니다. 한 번에 한 AWS 리전에서만 IAM Identity Center를 활성화할 수 있습니다. 즉, IAM Identity Center를 활성화한 리전에서만 경보 알림을 정의할 수 있습니다. 자세한 내용은AWS IAM Identity Center 사용 설명서에서 [시작하기](https://docs.aws.amazon.com/singlesignon/latest/userguide/getting-started.html)를 참조하세요.

   1. **프로토콜**에서 다음 옵션 중에 선택합니다.
      + **이메일 및 문자 메시지** - IAM Identity Center 사용자에게 SMS 메시지와 이메일 메시지를 통해 알림을 전달합니다.
      + **이메일** - 경보가 IAM Identity Center 사용자에게 이메일 메시지를 통해 알림을 전달합니다.
      + **텍스트** - 경보가 IAM Identity Center 사용자에게 SMS 메시지를 통해 알림을 전달합니다.

   1. **발신자**에서 발신자를 선택합니다.
**중요**  
Amazon Simple Email Service(Amazon SES)에서 발신자 이메일 주소를 확인해야 합니다. 자세한 내용은 **Amazon Simple Email Service 개발자 가이드의 [이메일 주소 자격 증명 확인](https://docs.aws.amazon.com/ses/latest/dg/creating-identities.html#just-verify-email-proc)을 참조하세요.

1. **기본 자산 상태** 섹션에서 이 자산 모델에서 생성된 경보의 기본 상태를 설정할 수 있습니다.
**참고**  
이후 단계에서 이 자산 모델에서 생성한 자산에 대해 이 경보를 활성화하거나 비활성화합니다.

1. **고급 설정** 섹션에서 권한, 추가 알림 설정, 경보 상태 작업, SiteWise Monitor의 경보 모델, 확인 흐름을 구성할 수 있습니다.
**참고**  
AWS IoT Events 경보에는 다음과 같은 서비스 역할이 필요합니다.  
가 경보 상태 값을 전송하도록 AWS IoT Events 수임하는 역할입니다 AWS IoT SiteWise.
Lambda로 데이터를 전송하기 위해 AWS IoT Events 수임하는 역할입니다. 경보가 알림을 보내는 경우에만 이 역할이 필요합니다.

   **권한** 섹션에서 다음을 수행합니다.

   1. **AWS IoT Events 역할**의 경우 기존 역할을 사용하거나 필요한 권한이 있는 역할을 생성합니다. 이 역할에는 iotevents.amazonaws.com가 역할을 맡을 수 있도록 허용하는 `iotsitewise:BatchPutAssetPropertyValue` 권한과 신뢰 관계가 필요합니다.

   1. **AWS IoT Events Lambda 역할**의 경우 기존 역할을 사용하거나 필요한 권한이 있는 역할을 생성합니다. 이 역할에는 `iotevents.amazonaws.com`가 역할을 맡을 수 있도록 허용하는 `lambda:InvokeFunction` 및 `sso-directory:DescribeUser` 권한과 신뢰 관계가 필요합니다.

1. (선택 사항) **추가 알림 설정** 섹션에서 다음을 수행합니다.

   1. **수신자 속성(attribute)**에서 알림 수신자를 지정하는 값을 가진 속성(attribute)을 정의합니다. IAM Identity Center 사용자를 수신자로 선택할 수 있습니다.

      속성(attribute)을 생성하거나 자산 모델에서 기존 속성(attribute)을 사용할 수 있습니다.
      + **새 수신자 속성(attribute) 생성**을 선택하는 경우 속성(attribute)에 대해 **수신자 속성(attribute) 이름**과 **수신자 기본값 - **선택 사항****을 지정합니다.
      + **기존 수신자 속성(attribute) 사용**을 선택한 경우 **수신자 속성(attribute) 이름**에서 속성(attribute)을 선택합니다. 경보는 사용자가 선택한 속성(attribute) 기본값을 사용합니다.

      이 자산 모델에서 만든 각 자산의 기본값을 재정의할 수 있습니다.

   1. **사용자 지정 메시지 속성(attribute)**의 경우 기본 상태 변경 메시지 외에 전송할 사용자 지정 메시지를 지정하는 값을 가진 속성(attribute)을 정의합니다. 예를 들어 팀이 이 경보를 해결하는 방법을 이해하는 데 도움이 되는 메시지를 지정할 수 있습니다.

      속성(attribute)을 생성하거나 자산 모델에서 기존 속성(attribute)을 사용하도록 선택할 수 있습니다.
      + **새 사용자 지정 메시지 속성(attribute) 생성**을 선택한 경우 속성(attribute)에 대해 **사용자 지정 메시지 속성(attribute) 이름**과 **사용자 지정 메시지 기본값 - *선택 사항***을 지정합니다.
      + **기존 사용자 지정 메시지 속성(attribute) 사용**을 선택한 경우 **사용자 지정 메시지 속성(attribute) 이름**에서 속성(attribute)을 선택합니다. 경보는 사용자가 선택한 속성(attribute) 기본값을 사용합니다.

      이 자산 모델에서 만든 각 자산의 기본값을 재정의할 수 있습니다.

   1. **Lambda 함수 관리**에서 다음 중 하나를 수행합니다.
      + 새 Lambda 함수를 AWS IoT SiteWise 생성하려면 **AWS 관리형 템플릿에서 새 Lambda 생성을** 선택합니다.
      + 기존 Lambda 함수를 사용하려면 **기존 Lambda 사용**을 선택하고 함수 이름을 선택합니다.

      자세한 정보는 *AWS IoT Events  개발자 안내서*의 [경보 알림 관리](https://docs.aws.amazon.com/iotevents/latest/developerguide/lambda-support.html)를 참조하세요.

1. (선택 사항) **상태 작업 설정** 섹션에서 다음을 수행합니다.

   1. **작업 편집**을 선택합니다.

   1. **경보 상태 작업 추가**에서 작업을 추가한 다음 **저장**을 선택합니다.

      최대 10개의 작업을 추가할 수 있습니다.

   AWS IoT Events 는 경보가 활성 상태일 때 작업을 수행할 수 있습니다. 타이머를 사용하거나 변수를 설정하거나 다른 AWS 리소스로 데이터를 전송하도록 기본 제공 작업을 정의할 수 있습니다. 자세한 정보는 *AWS IoT Events 개발자 안내서*의 [지원되는 작업](https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-supported-actions.html)을 참조하세요.

1. (선택 사항) **SiteWise Monitor에서 경보 모델 관리 - *선택 사항***, **활성** 또는 **비활성화**를 선택합니다.

   이 옵션을 사용하면 SiteWise Monitor에서 경보 모델을 업데이트할 수 있습니다. 이 옵션은 기본적으로 활성화되어 있습니다.

1. **확인 흐름**에서 **활성** 또는 **비활성**을 선택합니다. 확인 흐름에 대한 자세한 내용은 [경보 상태](industrial-alarms.md#alarm-states) 섹션을 참조합니다.

1. **경보 추가**를 선택합니다.
**참고**  
 AWS IoT SiteWise 콘솔은 자산 모델에 경보를 추가하기 위해 여러 API 요청을 수행합니다. **경보 추가**를 선택하면 콘솔에서 이러한 API 요청의 진행 상황을 보여주는 대화 상자가 열립니다. 각 API 요청이 성공하거나 API 요청이 실패할 때까지 이 페이지에 머무르세요. 요청이 실패하면 대화 상자를 닫고 문제를 해결한 다음 **경보 추가**를 선택하여 다시 시도합니다.

## AWS IoT Events 경보 정의(AWS IoT Events 콘솔)
<a name="define-iot-events-alarm-console-ite-console"></a>

 AWS IoT Events 콘솔을 사용하여 기존 자산 모델에 대한 AWS IoT Events 경보를 정의할 수 있습니다. 새 자산 모델에 AWS IoT Events 경보를 정의하려면 자산 모델을 생성한 다음 다음 다음 단계를 완료합니다. 자세한 내용은 [에서 자산 모델 생성 AWS IoT SiteWise](create-asset-models.md) 단원을 참조하십시오.

**중요**  
각 경보에는 경보와 비교할 임계값을 지정하는 속성(attribute)이 필요합니다. 경보를 정의하려면 먼저 자산 모델에서 임계값 속성(attribute)을 정의해야 합니다.  
풍력 터빈이 최대 풍속 등급인 50mph를 초과할 때 이를 감지하는 경보를 정의하려는 경우를 예로 들어 보겠습니다. 경보를 정의하기 전에 기본값 `50`으로 속성(attribute)(**최대 풍속**)을 정의해야 합니다.

**자산 모델에 AWS IoT Events 경보를 정의하려면**

1. [AWS IoT Events 콘솔](https://console.aws.amazon.com/iotevents/)로 이동합니다.

1. 탐색 창에서 **경보 모델**을 선택합니다.

1. **경보 모델 생성**을 선택하세요.

1. 경보의 이름을 입력합니다.

1. (선택 사항) 경보에 대한 설명을 입력합니다.

1. **경보 대상** 섹션에서 다음을 수행합니다.

   1. **대상 옵션**에서 **AWS IoT SiteWise 자산 속성**을 선택합니다.

   1. 경보를 추가하고자 하는 자산 모델을 선택합니다.

1. **임계값 정의** 섹션에서는 경보가 탐지되는 시기와 경보의 심각도를 정의합니다. 해결 방법:

   1. 경보가 탐지되는 **속성**을 선택합니다. 이 속성이 새 값을 수신할 때마다는 경보 상태를 평가하기 AWS IoT Events 위해 값을에 AWS IoT SiteWise 전송합니다.

   1. 속성을 임계값과 비교하는 데 사용할 **연산자**를 선택합니다. 다음 옵션 중 하나를 선택합니다.
      + **< 미만**
      + **<= 이하**
      + **== 같음**
      + **\$1= 같지 않음**
      + **>= 이상**
      + **> 초과**

   1. **값**에서 임계값으로 사용할 속성 속성을 선택합니다.는 속성의 값을이 속성의 값과 AWS IoT Events 비교합니다.

   1. 경보의 **심각도**를 입력합니다. 팀에서 이해할 수 있는 숫자를 사용하여 이 경보의 심각도를 반영합니다.

1. (선택 사항) **알림 설정 - *선택 사항*** 섹션에서 다음을 수행합니다.

   1. **프로토콜**에서 다음 옵션 중에 선택합니다.
      + **이메일 및 문자 메시지** - IAM Identity Center 사용자에게 SMS 메시지와 이메일 메시지를 통해 알림을 전달합니다.
      + **이메일** - 경보가 IAM Identity Center 사용자에게 이메일 메시지를 통해 알림을 전달합니다.
      + **텍스트** - 경보가 IAM Identity Center 사용자에게 SMS 메시지를 통해 알림을 전달합니다.

   1. **발신자**에서 발신자를 선택합니다.
**중요**  
Amazon Simple Email Service(Amazon SES)에서 발신자 이메일 주소를 확인해야 합니다. 자세한 내용은 *Amazon Simple Email Service 개발자 가이드*에서 [Amazon SES에서 이메일 주소 확인](https://docs.aws.amazon.com/ses/latest/dg/verify-addresses-and-domains.html)을 참조하세요.

   1. **수신자 속성(attribute) - *선택 사항***에서 속성(attribute)을 선택합니다. 경보는 사용자가 선택한 속성(attribute) 기본값을 사용합니다.

   1. **사용자 지정 메시지 속성(attribute) - *선택 사항***에서 속성(attribute)을 선택합니다. 경보는 사용자가 선택한 속성(attribute) 기본값을 사용합니다.

1. **인스턴스** 섹션에서 이 경보의 **기본 상태**를 지정합니다. 이후 단계에서 이 자산 모델에서 생성한 모든 자산에 대해 이 경보를 활성화하거나 비활성화할 수 있습니다.

1. **고급 설정** 설정에서 권한, 추가 알림 설정, 경보 상태 동작, SiteWise Monitor의 경보 모델 및 확인 흐름을 구성할 수 있습니다.
**참고**  
AWS IoT Events 경보에는 다음과 같은 서비스 역할이 필요합니다.  
가 경보 상태 값을 전송하도록 AWS IoT Events 수임하는 역할입니다 AWS IoT SiteWise.
Lambda로 데이터를 전송하기 위해 AWS IoT Events 수임하는 역할입니다. 경보가 알림을 보내는 경우에만 이 역할이 필요합니다.

   1. **확인 흐름** 섹션에서 **활성화됨** 또는 **비활성화됨**을 선택합니다. 확인 흐름에 대한 자세한 내용은 [경보 상태](industrial-alarms.md#alarm-states) 섹션을 참조합니다.

   1. **권한** 섹션에서 다음을 수행합니다.

      1. **AWS IoT Events 역할**의 경우 기존 역할을 사용하거나 필요한 권한이 있는 역할을 생성합니다. 이 역할에는 iotevents.amazonaws.com가 역할을 맡을 수 있도록 허용하는 `iotsitewise:BatchPutAssetPropertyValue` 권한과 신뢰 관계가 필요합니다.

      1. **Lambda 역할**의 경우 기존 역할을 사용하거나 필요한 권한이 있는 역할을 생성합니다. 이 역할에는 `iotevents.amazonaws.com`가 역할을 맡을 수 있도록 허용하는 `lambda:InvokeFunction` 및 `sso-directory:DescribeUser` 권한과 신뢰 관계가 필요합니다.

   1. (선택 사항) **추가 알림 설정** 창에서 다음을 수행합니다.

      1. **(Lambda 함수 관리**에 대해 다음 중 하나를 수행합니다.
        + 새 Lambda 함수를 AWS IoT Events 생성하려면 **새 Lambda 함수 생성을** 선택합니다.
        + 기존 Lambda 함수를 사용하려면 **기존 Lambda 함수 사용**을 선택하고 함수 이름을 선택합니다.

        자세한 정보는 *AWS IoT Events  개발자 안내서*의 [경보 알림 관리](https://docs.aws.amazon.com/iotevents/latest/developerguide/lambda-support.html)를 참조하세요.

   1. (선택 사항) **상태 작업 설정 - *선택 사항*** 섹션에서 다음을 수행합니다.

      1. **경보 상태 작업**업에서 작업을 추가하고 **저장**을 선택합니다.

        최대 10개의 작업을 추가할 수 있습니다.

      AWS IoT Events 는 경보가 활성 상태일 때 작업을 수행할 수 있습니다. 타이머를 사용하거나 변수를 설정하거나 다른 AWS 리소스로 데이터를 전송하도록 기본 제공 작업을 정의할 수 있습니다. 자세한 정보는 *AWS IoT Events 개발자 안내서*의 [지원되는 작업](https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-supported-actions.html)을 참조하세요.

1. **생성(Create)**을 선택합니다.
**참고**  
 AWS IoT Events 콘솔은 자산 모델에 경보를 추가하기 위해 여러 API 요청을 수행합니다. **경보 추가**를 선택하면 콘솔에서 이러한 API 요청의 진행 상황을 보여주는 대화 상자가 열립니다. 각 API 요청이 성공하거나 API 요청이 실패할 때까지 이 페이지에 머무르세요. 요청이 실패하면 대화 상자를 닫고 문제를 해결한 다음 **경보 추가**를 선택하여 다시 시도합니다.

## AWS IoT Events 경보 정의(AWS CLI)
<a name="define-iot-events-alarm-cli"></a>

 AWS Command Line Interface (AWS CLI)를 사용하여 자산 속성을 모니터링하는 AWS IoT Events 경보를 정의할 수 있습니다. 새 자산 모델이나 기존 자산 모델에서 경보를 정의할 수 있습니다. 자산 모델에 경보를 정의한 후에서 경보를 생성하고 자산 모델에 AWS IoT Events 연결합니다. 이 프로세스에서는 다음을 수행합니다.

**Topics**
+ [1단계: 자산 모델에 대한 경보 정의](#define-iot-events-alarm-definition-cli)
+ [2단계: AWS IoT Events 경보 모델 정의](#define-iot-events-alarm-model-cli)
+ [3단계: AWS IoT SiteWise 와 간의 데이터 흐름 활성화 AWS IoT Events](#define-iot-events-alarm-data-flow-cli)

### 1단계: 자산 모델에 대한 경보 정의
<a name="define-iot-events-alarm-definition-cli"></a>

새 자산 모델 또는 기존 자산 모델에 경보 정의 및 연결된 속성을 추가합니다.

**자산 모델(CLI)에서 경보를 정의하려면 다음을 수행하세요.**

1. `asset-model-payload.json`이라는 파일을 생성합니다. 다른 섹션의 단계에 따라 자산 모델의 세부 정보를 파일에 추가하되, 자산 모델을 만들거나 업데이트하라는 요청을 제출하지 마세요. 이 섹션에서는 `asset-model-payload.json` 파일의 자산 모델 세부 정보에 경보 정의를 추가합니다.
   + 자산 모델을 만드는 방법에 대한 자세한 내용은 [자산 모델 생성(AWS CLI)](create-asset-models.md#create-asset-model-cli)을 참조하세요.
   + 기존 자산 모델을 업데이트하는 방법에 대한 자세한 내용은 [자산 모델, 구성 요소 모델 또는 인터페이스 업데이트(AWS CLI)](update-asset-models.md#update-asset-model-cli) 섹션을 참조합니다.
**참고**  
자산 모델은 경보로 모니터링할 자산 속성을 포함하여 하나 이상의 자산 속성을 정의해야 합니다.

1. 경보 복합 모델(`assetModelCompositeModels`)을 자산 모델에 추가합니다. AWS IoT Events 경보 복합 모델은 `IOT_EVENTS` 유형을 지정하고 경보 소스 속성을 지정합니다. 경보 모델을 생성한 후 경보 소스 속성을 추가합니다 AWS IoT Events.
**중요**  
경보 복합 모델은 나중에 생성하는 AWS 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": {}
             }
           }
         ]
       }
     ]
   }
   ```

1. 자산 모델에 경보 임계값 속성(attribute)을 추가합니다. 이 임계값에 사용할 기본값을 지정합니다. 이 모델을 기반으로 각 자산에서 이 기본값을 재정의할 수 있습니다.
**참고**  
경보 임계값 속성(attribute)은 `INTEGER` 또는 `DOUBLE`여야 합니다.

   ```
   {
     ...
     "assetModelProperties": [
       ...
       {
         "name": "Temperature Max Threshold",
         "dataType": "DOUBLE",
         "type": {
           "attribute": {
             "defaultValue": "105.0"
           }
         }
       }
     ]
   }
   ```

1. (선택 사항) 자산 모델에 경보 알림 속성(attribute)을 추가합니다. 이러한 속성은 경보 상태가 변경될 때가 알림을 보내는 데 AWS IoT Events 사용하는 IAM Identity Center 수신자 및 기타 입력을 지정합니다. 이 모델을 기반으로 각 자산에서 이러한 기본값을 재정의할 수 있습니다.
**중요**  <a name="alarm-notifications-sso-requirement"></a>
 AWS IAM Identity Center 사용자에게 경보 알림을 보낼 수 있습니다. 이 기능을 사용하려면 IAM Identity Center를 활성화해야 합니다. 한 번에 한 AWS 리전에서만 IAM Identity Center를 활성화할 수 있습니다. 즉, IAM Identity Center를 활성화한 리전에서만 경보 알림을 정의할 수 있습니다. 자세한 내용은AWS IAM Identity Center 사용 설명서에서 [시작하기](https://docs.aws.amazon.com/singlesignon/latest/userguide/getting-started.html)를 참조하세요.

   해결 방법:

   1. IAM Identity Center 아이덴티티 스토어의 ID를 지정하는 속성(attribute)을 추가합니다. IAM Identity Center [ListInstances](https://docs.aws.amazon.com/singlesignon/latest/APIReference/API_ListInstances.html) API 작업을 사용하여 아이덴티티 스토어를 나열할 수 있습니다. 이 작업은 IAM Identity Center를 활성화한 리전에서만 작동합니다.

      ```
      aws sso-admin list-instances
      ```

      그런 다음 아이덴티티 스토어 ID(예:`d-123EXAMPLE`)를 속성(attribute)의 기본값으로 지정합니다.

      ```
      {
        ...
        "assetModelProperties": [
          ...
          {
            "name": "identityStoreId",
            "dataType": "STRING",
            "type": {
              "attribute": {
                "defaultValue": "d-123EXAMPLE"
              }
            }
          }
        ]
      }
      ```

   1. 알림을 받는 IAM Identity Center 사용자의 ID를 지정하는 속성(attribute)을 추가합니다. 기본 알림 수신자를 정의하려면 IAM Identity Center 사용자 ID를 기본값으로 추가합니다. IAM Identity Center 사용자 ID를 가져오려면 다음 중 하나를 수행합니다.

      1. IAM Identity Center [ListUsers](https://docs.aws.amazon.com/singlesignon/latest/IdentityStoreAPIReference/API_ListUsers.html) API를 사용하여 사용자 이름을 알고 있는 사용자의 ID를 가져올 수 있습니다. *d-123EXAMPLE*을 아이덴티티 스토어의 ID로 바꾸고, *Name*을 사용자의 사용자 이름으로 바꿉니다.

         ```
         aws identitystore list-users \
           --identity-store-id d-123EXAMPLE \
           --filters AttributePath=UserName,AttributeValue=Name
         ```

      1. [IAM Identity Center 콘솔](https://console.aws.amazon.com/singlesignon)을 사용하여 사용자를 검색하고 사용자 ID를 찾습니다.

      그런 다음 사용자 ID(예: `123EXAMPLE-a1b2c3d4-5678-90ab-cdef-33333EXAMPLE`)를 속성(attribute)의 기본값으로 지정하거나 기본값 없이 속성(attribute)을 정의합니다.

      ```
      {
        ...
        "assetModelProperties": [
          ...
          {
            "name": "userId",
            "dataType": "STRING",
            "type": {
              "attribute": {
                "defaultValue": "123EXAMPLE-a1b2c3d4-5678-90ab-cdef-33333EXAMPLE"
              }
            }
          }
        ]
      }
      ```

   1. (선택 사항) SMS(텍스트) 메시지 알림의 기본 발신자 ID를 지정하는 속성(attribute)을 추가합니다. 발신자 ID는 Amazon Simple Notification Service(SNS)가 보내는 메시지에 메시지 발신자로 표시됩니다. 자세한 내용은 *AWS 최종 사용자 메시징 SMS 사용 설명서*의 [에서 발신자 ID 요청을 AWS 최종 사용자 메시징 SMS](https://docs.aws.amazon.com/sms-voice/latest/userguide/sender-id-request.html) 참조하세요.

      ```
      {
        ...
        "assetModelProperties": [
          ...
          {
            "name": "senderId",
            "dataType": "STRING",
            "type": {
              "attribute": {
                "defaultValue": "MyFactory"
              }
            }
          }
        ]
      }
      ```

   1. (선택 사항) 이메일 알림에서 *발신* 주소로 사용할 기본 이메일 주소를 지정하는 속성(attribute)을 추가합니다.

      ```
      {
        ...
        "assetModelProperties": [
          ...
          {
            "name": "fromAddress",
            "dataType": "STRING",
            "type": {
              "attribute": {
                "defaultValue": "my.factory@example.com"
              }
            }
          }
        ]
      }
      ```

   1. (선택 사항) 이메일 알림에 사용할 기본 제목을 지정하는 속성(attribute)을 추가합니다.

      ```
      {
        ...
        "assetModelProperties": [
          ...
          {
            "name": "emailSubject",
            "dataType": "STRING",
            "type": {
              "attribute": {
                "defaultValue": "[ALERT] High boiler temperature"
              }
            }
          }
        ]
      }
      ```

   1. (선택 사항) 알림에 포함할 추가 메시지를 지정하는 속성(attribute)을 추가합니다. 기본적으로 알림 메시지에는 경보에 대한 정보가 포함됩니다. 사용자에게 자세한 정보를 제공하는 추가 메시지를 포함할 수도 있습니다.

      ```
      {
        ...
        "assetModelProperties": [
          ...
          {
            "name": "additionalMessage",
            "dataType": "STRING",
            "type": {
              "attribute": {
                "defaultValue": "Turn off the power before you check the alarm."
              }
            }
          }
        ]
      }
      ```

1. 자산 모델을 만들거나 기존 자산 모델을 업데이트합니다. 다음 중 하나를 수행하세요.
   + 다음 명령을 실행하여 자산 모델을 생성합니다.

     ```
     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`를 기록합니다.

#### 예: 보일러 자산 모델
<a name="alarm-asset-model-example"></a>

다음 자산 모델은 온도 데이터를 보고하는 보일러를 나타냅니다. 이 자산 모델은 보일러 과열을 감지하는 경보를 정의합니다.

```
{
  "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단계: AWS IoT Events 경보 모델 정의
<a name="define-iot-events-alarm-model-cli"></a>

에서 경보 모델을 생성합니다 AWS IoT Events. 에서는 *표현식을* AWS IoT Events사용하여 경보 모델의 값을 지정합니다. 표현식을 사용하여의 값을 지정 AWS IoT SiteWise 하여 경보에 대한 입력으로를 평가하고 사용할 수 있습니다. 가 자산 속성 값을 경보 모델로 AWS IoT SiteWise 전송할 때 AWS IoT Events 는 표현식을 평가하여 속성의 값 또는 자산의 ID를 가져옵니다. 경보 모델에서는 다음 표현식을 사용할 수 있습니다.
+ **자산 속성 값**

  자산 속성의 값을 가져오려면 다음 표현식을 사용합니다. *assetModelId*를 자산의 ID로 바꾸고 *propertyId*를 속성의 ID로 바꿉니다.

  ```
  $sitewise.assetModel.`assetModelId`.`propertyId`.propertyValue.value
  ```
+ **자산 ID**

  자산의 ID를 가져오려면 다음 표현식을 사용합니다. *assetModelId*를 자산의 ID로 바꾸고 *propertyId*를 속성의 ID로 바꿉니다.

  ```
  $sitewise.assetModel.`assetModelId`.`propertyId`.assetId
  ```

**참고**  
경보 모델을 생성할 때 AWS IoT SiteWise 값으로 평가되는 표현식 대신 리터럴을 정의할 수 있습니다. 이렇게 하면 자산 모델에 정의하는 속성(attribute)의 수를 줄일 수 있습니다. 하지만 값을 리터럴로 정의하면 자산 모델을 기반으로 자산의 해당 값을 사용자 지정할 수 없습니다. AWS IoT SiteWise Monitor 사용자는 자산에 대해서만 경보 설정을 구성할 수 있으므로 경보를 사용자 지정할 수도 없습니다.

**AWS IoT Events 경보 모델을 생성하려면(CLI)**

1. 에서 경보 모델을 생성할 때 경보가 사용하는 각 속성의 ID를 지정 AWS IoT Events해야 합니다. 여기에는 다음이 포함됩니다.
   + 복합 자산 모델의 경보 상태 속성
   + 경보가 모니터링하는 속성
   + 임계값 속성(attribute)
   + (선택 사항) IAM Identity Center 아이덴티티 스토어 ID 속성(attribute)
   + (선택 사항) IAM Identity Center 사용자 ID 속성(attribute)
   + (선택 사항) SMS 발신자 ID 속성(attribute)
   + (선택 사항) 이메일 *발신* 주소 속성(attribute)
   + (선택 사항) 이메일 제목 속성(attribute)
   + (선택 사항) 추가 메시지 속성(attribute)

   다음 명령을 실행하여 자산 모델에서 이러한 속성의 ID를 검색합니다. *asset-model-id*를 이전 단계의 자산 모델의 ID로 바꿉니다.

   ```
   aws iotsitewise describe-asset-model --asset-model-id asset-model-id
   ```

   이 작업은 자산 모델의 세부 사항이 포함된 응답을 반환합니다. 경보가 사용하는 각 속성의 ID를 기록해 둡니다. 다음 단계에서 AWS IoT Events 경보 모델을 생성할 때 이러한 ID를 사용합니다.

1. 에서 경보 모델을 생성합니다 AWS IoT Events. 해결 방법:

   1. `alarm-model-payload.json`이라는 파일을 생성합니다.

   1. 다음 JSON 객체를 파일에 복사합니다.

   1. 경보의 이름(`alarmModelName`), 설명(`alarmModelDescription`), 그리고 심각도(`severity`)를 입력합니다. 심각도에서는 회사의 심각도 수준을 반영하는 정수를 지정합니다.
**중요**  
경보 모델은 이전에 자산 모델에서 정의한 경보 복합 모델과 이름이 같아야 합니다.  
경보 모델 이름에는 영숫자만 사용할 수 있습니다.

      ```
      {
        "alarmModelName": "BoilerTemperatureHighAlarm",
        "alarmModelDescription": "Detects when the boiler temperature is high.",
        "severity": 3
      }
      ```

   1. 비교 규칙(`alarmRule`)을 경보에 추가합니다. 이 규칙은 모니터링할 속성(`inputProperty`), 비교할 임계값(`threshold`), 사용할 비교 연산자(`comparisonOperator`)를 정의합니다.
      + *assetModelId*를 자산 모델의 ID로 바꿉니다.
      + *alarmPropertyId*를 경보가 모니터링하는 속성의 ID로 바꿉니다.
      + *thresholdAttributeId*를 임계값 특성(attribute) 속성의 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"
          }
        }
      }
      ```

   1. 경보 상태가 변경될 때 경보 상태를 AWS IoT SiteWise 로 보내는 작업(`alarmEventActions`)을 추가합니다.
**참고**  
고급 구성에서 경보 상태가 변경될 때 수행할 추가 작업을 정의할 수 있습니다. 예를 들어 AWS Lambda 함수를 호출하거나 MQTT 주제에 게시할 수 있습니다. 자세한 내용은 *AWS IoT Events 개발자 안내서*의 [다른 AWS 서비스 작업을](https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-other-aws-services.html) 참조하세요.
      + *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'"
              }
            }
          ]
        }
      }
      ```

   1. (선택 사항) 경보 알림 설정을 구성합니다. 경보 알림 작업은 계정의 Lambda 함수를 사용하여 경보 알림을 전송합니다. 자세한 내용은 [의 경보 알림 요구 사항 AWS IoT SiteWise](iot-events-alarm-notification-requirements.md) 단원을 참조하십시오. 경보 알림 설정에서 IAM Identity Center 사용자에게 전송하도록 SMS 및 이메일 알림을 구성할 수 있습니다. 해결 방법:

      1. `alarm-model-payload.json`의 페이로드에 경보 알림 구성(`alarmNotification`)을 추가합니다.
         + *alarmNotificationFunctionArn*을 경보 알림을 처리하는 Lambda 함수의 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"
                   }
                 }
               }
             ]
           }
         }
         ```

      1. (선택 사항) 경보 상태가 변경될 때 IAM Identity Center 사용자에게 전송하도록 SMS 알림(`smsConfigurations`)을 구성합니다.
         + *identityStoreIdAttributeId*를 IAM Identity Center 아이덴티티 스토어의 ID가 포함된 속성(attribute)의 ID로 바꿉니다.
         + *userIdAttributeId*를 IAM Identity Center 사용자의 ID가 포함된 속성(attribute)의 ID로 바꿉니다.
         + *senderIdAttributeId*를 Amazon SNS 발신자 ID가 포함된 속성(attribute)의 ID로 바꾸거나 페이로드에서 `senderId`를 제거합니다.
         + *additionalMessageAttributeId*를 추가 메시지가 포함된 속성(attribute)의 ID로 바꾸거나 페이로드에서 `additionalMessage`를 제거합니다.

         ```
         {
           "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"
                   }
                 ]
               }
             ]
           }
         }
         ```

      1. (선택 사항) 경보 상태가 변경될 때 IAM Identity Center 사용자에게 전송하도록 이메일 알림(`emailConfigurations`)을 구성합니다.
         + *identityStoreIdAttributeId*를 IAM Identity Center 아이덴티티 스토어 ID 특성(attribute) 속성의 ID로 바꿉니다.
         + *userIdAttributeId*를 IAM Identity Center 사용자 ID 특성(attribute) 속성의 ID로 바꿉니다.
         + *fromAddressAttributeId*를 “발신” 주소 특성(attribute) 속성의 ID로 바꾸거나 페이로드에서 `from`를 제거합니다.
         + *emailSubjectAttributeId*를 이메일 제목 특성(attribute) 속성의 ID로 바꾸거나 페이로드에서 `subject`를 제거합니다.
         + *additionalMessageAttributeId*를 추가 메시지 특성(attribute) 속성의 ID로 바꾸거나 페이로드에서 `additionalMessage`를 제거합니다.

         ```
         {
           "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"
                     }
                   }
                 ]
               }
             ]
           }
         }
         ```

   1. (선택 사항) 경보 기능(`alarmCapabilities`)을 `alarm-model-payload.json`의 페이로드에 추가합니다. 이 객체에서 자산 모델을 기반으로 확인 흐름의 활성화 여부와 자산의 기본 활성화 상태를 지정할 수 있습니다. 확인 흐름에 대한 자세한 내용은 [경보 상태](industrial-alarms.md#alarm-states) 섹션을 참조합니다.

      ```
      {
        "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
          }
        }
      }
      ```

   1. 가 데이터를 전송하기 위해 수임할 AWS IoT Events 수 있는 IAM 서비스 역할(`roleArn`)을 추가합니다 AWS IoT SiteWise. 이 역할에는 `iotevents.amazonaws.com`가 역할을 맡을 수 있도록 허용하는 `iotsitewise:BatchPutAssetPropertyValue` 권한과 신뢰 관계가 필요합니다. 알림을 보내려면 이 역할에도 `lambda:InvokeFunction` 및 `sso-directory:DescribeUser` 권한이 필요합니다. 자세한 정보는 *AWS IoT Events 개발자 안내서*에서 [경보 서비스 역할](https://docs.aws.amazon.com/iotevents/latest/developerguide/security-iam.html)을 참조하세요.
      + 를 이러한 작업을 수행하기 위해가 맡을 AWS IoT Events 수 있는 역할의 ARN`roleArn`으로 바꿉니다.

      ```
      {
        "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"
      }
      ```

   1. 다음 명령을 실행하여의 페이로드에서 AWS IoT Events 경보 모델을 생성합니다`alarm-model-payload.json`.

      ```
      aws iotevents create-alarm-model --cli-input-json file://alarm-model-payload.json
      ```

   1. 이 작업은 경보 모델(`alarmModelArn`)의 ARN이 포함된 응답을 반환합니다. 이 ARN을 복사하여 다음 단계에서 자산 모델의 경보 정의에 설정합니다.

### 3단계: AWS IoT SiteWise 와 간의 데이터 흐름 활성화 AWS IoT Events
<a name="define-iot-events-alarm-data-flow-cli"></a>

 AWS IoT SiteWise 및에서 필요한 리소스를 생성한 후 리소스 간 데이터 흐름을 활성화하여 경보를 활성화 AWS IoT Events할 수 있습니다. 이 섹션에서는 이전 단계에서 만든 경보 모델을 사용하도록 자산 모델의 경보 정의를 업데이트합니다.

**AWS IoT SiteWise 와 간의 데이터 흐름을 활성화하려면 AWS IoT Events (CLI)**
+ 경보 모델을 자산 모델에서 경보 소스로 설정합니다. 해결 방법:

  1. 다음 명령을 실행하여 기존 자산 모델 정의를 검색합니다. *asset-model-id*를 자산 모델의 ID로 바꿉니다.

     ```
     aws iotsitewise describe-asset-model --asset-model-id asset-model-id
     ```

     이 작업은 자산 모델의 세부 사항이 포함된 응답을 반환합니다.

  1. `update-asset-model-payload.json`이라는 파일을 만들고 이전 명령의 응답을 파일에 복사합니다.

  1. `update-asset-model-payload.json` 파일에서 다음 키-값 페어를 제거합니다.
     + `assetModelId`
     + `assetModelArn`
     + `assetModelCreationDate`
     + `assetModelLastUpdateDate`
     + `assetModelStatus`

  1. 이전에 정의한 경보 복합 모델에 경보 소스 속성(`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"
                 }
               }
             }
           ]
         }
       ]
     }
     ```

  1. 다음 명령을 실행하여 `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
     ```

이제 자산 모델이 AWS IoT Events에서 이를 감지하는 경보를 정의합니다. 경보는 이 자산 모델을 기반으로 모든 자산의 대상 자산을 모니터링합니다. 각 자산에 대한 경보를 구성하여 각 자산의 임계값 또는 IAM Identity Center 수신자와 같은 속성을 사용자 지정할 수 있습니다. 자세한 내용은 [에서 자산에 대한 경보 구성 AWS IoT SiteWise](configure-alarms.md) 단원을 참조하십시오.

# 에서 외부 경보 정의 AWS IoT SiteWise
<a name="define-external-alarms"></a>

외부 경보에는 AWS IoT SiteWise외부에서 감지한 경보 상태가 포함됩니다.

## 외부 경보 정의(콘솔)
<a name="define-external-alarm-console"></a>

 AWS IoT SiteWise 콘솔을 사용하여 기존 자산 모델에 대한 외부 경보를 정의할 수 있습니다. 새 자산 모델에 외부 경보를 정의하려면 자산 모델을 만든 다음 다음 단계를 완료합니다. 자세한 내용은 [에서 자산 모델 생성 AWS IoT SiteWise](create-asset-models.md) 단원을 참조하십시오.

**자산 모델에 경보를 정의하려면 다음을 수행하세요.**

1. <a name="sitewise-open-console"></a>[AWS IoT SiteWise 콘솔](https://console.aws.amazon.com/iotsitewise/)로 이동합니다.

1. <a name="sitewise-choose-models"></a>탐색 창에서 **모델**을 선택합니다.

1. 경보를 정의할 자산 모델을 선택합니다.

1. **경보 정의** 탭을 선택합니다.

1. **경보 추가**를 선택합니다.

1. **경보 유형 옵션**에서 **외부 경보**를 선택합니다.

1. 경보의 이름을 입력합니다.

1. (선택 사항) 경보에 대한 설명을 입력합니다.

1. **경보 추가**를 선택합니다.

## 외부 경보 정의(CLI)
<a name="define-external-alarm-cli"></a>

 AWS CLI 를 사용하여 신규 또는 기존 자산 모델에 대한 외부 경보를 정의할 수 있습니다.

자산 모델에 외부 경보를 추가하려면 자산 모델에 경보 복합 모델을 추가합니다. 외부 경보 복합 모델은 `EXTERNAL` 유형을 지정하며 경보 소스 속성을 지정하지 않습니다. 다음 예제 복합 경보는 외부 온도 경보를 정의합니다.

```
{
  ...
  "assetModelCompositeModels": [
    {
      "name": "BoilerTemperatureHighAlarm",
      "type": "AWS/ALARM",
      "properties": [
        {
          "name": "AWS/ALARM_TYPE",
          "dataType": "STRING",
          "type": {
            "attribute": {
              "defaultValue": "EXTERNAL"
            }
          }
        },
        {
          "name": "AWS/ALARM_STATE",
          "dataType": "STRUCT",
          "dataTypeSpec": "AWS/ALARM_STATE",
          "type": {
            "measurement": {}
          }
        }
      ]
    }
  ]
}
```

신규 또는 기존 자산 모델에 복합 모델을 추가하는 방법에 대한 자세한 내용은 다음을 참조하세요.
+ [자산 모델 생성(AWS CLI)](create-asset-models.md#create-asset-model-cli)
+ [자산 모델, 구성 요소 모델 또는 인터페이스 업데이트(AWS CLI)](update-asset-models.md#update-asset-model-cli)

외부 경보를 정의한 후에는 자산 모델을 기반으로 자산에 경보 상태를 수집할 수 있습니다. 자세한 내용은 [에서 외부 경보 상태 수집 AWS IoT SiteWise](ingest-external-alarm-state.md) 단원을 참조하십시오.

# 에서 자산에 대한 경보 구성 AWS IoT SiteWise
<a name="configure-alarms"></a>

자산 모델에 AWS IoT Events 경보를 정의한 후 자산 모델을 기반으로 각 자산에 경보를 구성할 수 있습니다. 임계값과 경보의 알림 설정을 편집할 수 있습니다. 각 값은 자산의 속성(attribute)이므로 속성(attribute)의 기본값을 업데이트하여 이러한 값을 구성할 수 있습니다.

**참고**  
 AWS IoT Events 경보에 대해 이러한 값을 구성할 수 있지만 외부 경보에는 구성할 수 없습니다.

**Topics**
+ [임곗값 구성(콘솔)](#configure-alarm-threshold-value-console)
+ [임곗값 구성(AWS CLI)](#configure-alarm-threshold-value-cli)
+ [에서 알림 설정 구성 AWS IoT SiteWise](configure-alarm-notification-settings.md)

## 임곗값 구성(콘솔)
<a name="configure-alarm-threshold-value-console"></a>

 AWS IoT SiteWise 콘솔을 사용하여 경보의 임계값을 지정하는 속성 값을 업데이트할 수 있습니다.

**경보의 임계값 업데이트(콘솔)**

1. <a name="sitewise-open-console"></a>[AWS IoT SiteWise 콘솔](https://console.aws.amazon.com/iotsitewise/)로 이동합니다.

1. <a name="sitewise-choose-assets"></a>탐색 창에서 **자산**을 선택합니다.

1. 경보 임계값을 업데이트할 자산을 선택합니다.
**작은 정보**  <a name="sitewise-expand-asset-hierarchy"></a>
화살표 아이콘을 선택하여 자산 계층 구조를 확장하고 자산을 찾을 수 있습니다.

1. **편집**을 선택합니다.

1. 경보가 임계값으로 사용하는 속성(attribute)을 찾은 다음 새 값을 입력합니다.

1. **저장**을 선택합니다.

## 임곗값 구성(AWS CLI)
<a name="configure-alarm-threshold-value-cli"></a>

 AWS Command Line Interface (AWS CLI)를 사용하여 경보의 임계값을 지정하는 속성 값을 업데이트할 수 있습니다.

이 절차를 완료하려면 자산의 `assetId` 및 속성의 `propertyId`를 알고 있어야 합니다. 외부 ID를 사용할 수도 있습니다. 자산을 생성했지만 해당 `assetId`를 모르고 있는 경우에는 [ListAssets](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_ListAssets.html) API를 사용하여 특정 모델에 대한 모든 자산을 표시합니다. [DescribeAsset](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_DescribeAsset.html) 작업을 사용하여 속성 ID를 포함한 해당 자산의 속성을 봅니다.

[BatchPutAssetPropertyValue](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_BatchPutAssetPropertyValue.html) 작업을 사용하여 자산에 속성 값을 할당합니다. 이 작업을 사용하여 한 번에 여러 속성을 설정할 수 있습니다. 이 작업의 페이로드에는 각각 자산 ID, 속성 ID, 속성 값을 포함하는 항목 목록이 포함되어 있습니다.<a name="attribute-id-update-cli"></a>

**속성의 값을 업데이트하려면(AWS CLI) 다음을 수행하세요.**

1. `batch-put-payload.json`이라는 파일을 만들고 다음 JSON 개체를 파일에 복사합니다. 이 페이로드 예제에서는 풍력 터빈의 위도와 경도를 설정하는 방법을 보여줍니다. ID, 값 및 타임스탬프를 업데이트하여 사용 사례에 대한 페이로드를 수정합니다.

   ```
   {
     "entries": [
       {
         "entryId": "windfarm3-turbine7-latitude",
         "assetId": "a1b2c3d4-5678-90ab-cdef-22222EXAMPLE",
         "propertyId": "a1b2c3d4-5678-90ab-cdef-33333EXAMPLE",
         "propertyValues": [
           {
             "value": {
               "doubleValue": 47.6204
             },
             "timestamp": {
               "timeInSeconds": 1575691200
             }
           }
         ]
       },
       {
         "entryId": "windfarm3-turbine7-longitude",
         "assetId": "a1b2c3d4-5678-90ab-cdef-22222EXAMPLE",
         "propertyId": "a1b2c3d4-5678-90ab-cdef-55555EXAMPLE",
         "propertyValues": [
           {
             "value": {
               "doubleValue": 122.3491
             },
             "timestamp": {
               "timeInSeconds": 1575691200
             }
           }
         ]
       }
     ]
   }
   ```
   + 페이로드의 각 항목은 고유한 문자열로 정의할 수 있는 `entryId`를 포함합니다. 요청 항목이 실패하면 각 오류에 해당 요청의 `entryId`가 포함되므로 다시 시도할 요청을 알 수 있습니다.
   + 속성 값을 설정하기 위해 각 특성 속성의 `propertyValues` 목록에 timestamp-quality-value(TQV) 구조 하나를 포함시킬 수 있습니다. 이 구조에는 새 `value`와 현재 `timestamp`가 포함되어야 합니다.
     + `value` -설정되는 속성 유형에 따라 다음 필드 중 하나를 포함하는 구조입니다.
       + `booleanValue`
       + `doubleValue`
       + `integerValue`
       + `stringValue`
       + `nullValue`
     + `timestamp` - 현재 Unix 에포크 시간을 초 단위로 포함하는 구조로, `timeInSeconds`.는 과거 7일 이상 또는 향후 5분 이상 존재한 타임스탬프가 있는 모든 데이터 포인트를 AWS IoT SiteWise 거부합니다.

   [BatchPutAssetPropertyValue](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_BatchPutAssetPropertyValue.html)에 대한 페이로드를 준비하는 방법에 대한 자세한 내용은 [AWS IoT SiteWise APIs로 데이터 수집](ingest-api.md) 단원을 참조하세요.

1. 다음 명령을 실행하여 속성 값을 AWS IoT SiteWise에 전송합니다.

   ```
   aws iotsitewise batch-put-asset-property-value -\-cli-input-json file://batch-put-payload.json
   ```

# 에서 알림 설정 구성 AWS IoT SiteWise
<a name="configure-alarm-notification-settings"></a>

 AWS IoT SiteWise 콘솔 또는 AWS Command Line Interface ()를 사용하여 경보 알림 설정을 구성할 수 있습니다AWS CLI.

## 알림 설정 구성(콘솔)
<a name="configure-alarm-notification-settings-console"></a>

 AWS IoT SiteWise 콘솔을 사용하여 경보에 대한 알림 설정을 지정하는 속성의 값을 업데이트할 수 있습니다.

**경보의 알림 설정을 업데이트하려면(콘솔) 다음을 수행하세요.**

1. <a name="sitewise-open-console"></a>[AWS IoT SiteWise 콘솔](https://console.aws.amazon.com/iotsitewise/)로 이동합니다.

1. <a name="sitewise-choose-assets"></a>탐색 창에서 **자산**을 선택합니다.

1. 경보 설정을 업데이트할 자산을 선택합니다.

1. **편집**을 선택합니다.

1. 변경하려는 알림 설정에 경보가 사용하는 속성(attribute)을 찾은 다음 새 값을 입력합니다.

1. **저장**을 선택합니다.

## 알림 설정 구성(CLI)
<a name="configure-alarm-notification-settings-cli"></a>

 AWS Command Line Interface (AWS CLI)를 사용하여 경보에 대한 알림 설정을 지정하는 속성의 값을 업데이트할 수 있습니다.

이 절차를 완료하려면 자산의 `assetId` 및 속성의 `propertyId`를 알고 있어야 합니다. 외부 ID를 사용할 수도 있습니다. 자산을 생성했지만 해당 `assetId`를 모르고 있는 경우에는 [ListAssets](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_ListAssets.html) API를 사용하여 특정 모델에 대한 모든 자산을 표시합니다. [DescribeAsset](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_DescribeAsset.html) 작업을 사용하여 속성 ID를 포함한 해당 자산의 속성을 봅니다.

[BatchPutAssetPropertyValue](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_BatchPutAssetPropertyValue.html) 작업을 사용하여 자산에 속성 값을 할당합니다. 이 작업을 사용하여 한 번에 여러 속성을 설정할 수 있습니다. 이 작업의 페이로드에는 각각 자산 ID, 속성 ID, 속성 값을 포함하는 항목 목록이 포함되어 있습니다.<a name="attribute-id-update-cli"></a>

**속성의 값을 업데이트하려면(AWS CLI) 다음을 수행하세요.**

1. `batch-put-payload.json`이라는 파일을 만들고 다음 JSON 개체를 파일에 복사합니다. 이 페이로드 예제에서는 풍력 터빈의 위도와 경도를 설정하는 방법을 보여줍니다. ID, 값 및 타임스탬프를 업데이트하여 사용 사례에 대한 페이로드를 수정합니다.

   ```
   {
     "entries": [
       {
         "entryId": "windfarm3-turbine7-latitude",
         "assetId": "a1b2c3d4-5678-90ab-cdef-22222EXAMPLE",
         "propertyId": "a1b2c3d4-5678-90ab-cdef-33333EXAMPLE",
         "propertyValues": [
           {
             "value": {
               "doubleValue": 47.6204
             },
             "timestamp": {
               "timeInSeconds": 1575691200
             }
           }
         ]
       },
       {
         "entryId": "windfarm3-turbine7-longitude",
         "assetId": "a1b2c3d4-5678-90ab-cdef-22222EXAMPLE",
         "propertyId": "a1b2c3d4-5678-90ab-cdef-55555EXAMPLE",
         "propertyValues": [
           {
             "value": {
               "doubleValue": 122.3491
             },
             "timestamp": {
               "timeInSeconds": 1575691200
             }
           }
         ]
       }
     ]
   }
   ```
   + 페이로드의 각 항목은 고유한 문자열로 정의할 수 있는 `entryId`를 포함합니다. 요청 항목이 실패하면 각 오류에 해당 요청의 `entryId`가 포함되므로 다시 시도할 요청을 알 수 있습니다.
   + 속성 값을 설정하기 위해 각 특성 속성의 `propertyValues` 목록에 timestamp-quality-value(TQV) 구조 하나를 포함시킬 수 있습니다. 이 구조에는 새 `value`와 현재 `timestamp`가 포함되어야 합니다.
     + `value` -설정되는 속성 유형에 따라 다음 필드 중 하나를 포함하는 구조입니다.
       + `booleanValue`
       + `doubleValue`
       + `integerValue`
       + `stringValue`
       + `nullValue`
     + `timestamp` - 현재 Unix 에포크 시간을 초 단위로 포함하는 구조로, `timeInSeconds`.는 과거 7일 이상 또는 향후 5분 이상 존재한 타임스탬프가 있는 모든 데이터 포인트를 AWS IoT SiteWise 거부합니다.

   [BatchPutAssetPropertyValue](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_BatchPutAssetPropertyValue.html)에 대한 페이로드를 준비하는 방법에 대한 자세한 내용은 [AWS IoT SiteWise APIs로 데이터 수집](ingest-api.md) 단원을 참조하세요.

1. 다음 명령을 실행하여 속성 값을 AWS IoT SiteWise에 전송합니다.

   ```
   aws iotsitewise batch-put-asset-property-value -\-cli-input-json file://batch-put-payload.json
   ```

# 의 경보에 대응 AWS IoT SiteWise
<a name="respond-to-alarms"></a>

 AWS IoT Events 경보 상태가 변경되면 다음을 수행하여 경보에 응답할 수 있습니다.
+ 문제를 처리하고 있음을 나타내는 경보를 확인합니다.
+ 경보를 일시 정지하여 일시적으로 비활성화합니다.
+ 경보를 비활성화하면 다시 활성화할 때까지 영구적으로 비활성화됩니다.
+ 경보 상태를 감지하려면 비활성화된 경보를 활성화합니다.
+ 경보를 재설정하 상태 및 최신 값을 지울 수 있습니다.

 AWS IoT SiteWise 콘솔 또는 AWS IoT Events API를 사용하여 경보에 응답할 수 있습니다.

**참고**  
 AWS IoT Events 경보에 응답할 수 있지만 외부 경보에는 응답할 수 없습니다.

**Topics**
+ [경보에 대응(콘솔)](#respond-to-alarm-console)
+ [경보에 응답(API)](#respond-to-alarm-cli)

## 경보에 대응(콘솔)
<a name="respond-to-alarm-console"></a>

 AWS IoT SiteWise 콘솔을 사용하여 경보를 승인, 일시 중지, 비활성화 또는 활성화할 수 있습니다.

**Topics**
+ [경보 확인(콘솔)](#acknowledge-alarm-console)
+ [경보 일시 중지(콘솔)](#snooze-alarm-console)
+ [경보 비활성화(콘솔)](#disable-alarm-console)
+ [경보 활성화(콘솔)](#enable-alarm-console)
+ [경보 재설정(콘솔)](#reset-alarm-console)

### 경보 확인(콘솔)
<a name="acknowledge-alarm-console"></a>

문제를 처리하고 있음을 나타내는 경보를 확인할 수 있습니다.

**참고**  
경보를 확인하려면 경보에서 확인 흐름을 활성화해야 합니다. AWS IoT SiteWise 콘솔에서 경보를 정의하는 경우 이 옵션이 기본적으로 활성화됩니다.

**경보를 확인하려면(콘솔) 다음을 수행하세요.**

1. <a name="sitewise-open-console"></a>[AWS IoT SiteWise 콘솔](https://console.aws.amazon.com/iotsitewise/)로 이동합니다.

1. <a name="sitewise-choose-assets"></a>탐색 창에서 **자산**을 선택합니다.

1. 경보를 확인할 자산을 선택합니다.
**작은 정보**  <a name="sitewise-expand-asset-hierarchy"></a>
화살표 아이콘을 선택하여 자산 계층 구조를 확장하고 자산을 찾을 수 있습니다.

1. **경보** 탭을 선택합니다.

1. 확인할 경보를 선택한 다음 **작업**을 선택하여 응답 조치 메뉴를 엽니다.

1. **확인**을 선택합니다. 경보 상태가 **확인됨**으로 변경됩니다.

### 경보 일시 중지(콘솔)
<a name="snooze-alarm-console"></a>

경보를 일시 중지하여 일시적으로 비활성화할 수 있습니다. 경보를 일시 중지할 기간을 지정합니다.

**경보를 일시 중지하려면(콘솔) 다음을 수행하세요.**

1. <a name="sitewise-open-console"></a>[AWS IoT SiteWise 콘솔](https://console.aws.amazon.com/iotsitewise/)로 이동합니다.

1. <a name="sitewise-choose-assets"></a>탐색 창에서 **자산**을 선택합니다.

1. 경보를 일시 중지할 자산을 선택합니다.
**작은 정보**  <a name="sitewise-expand-asset-hierarchy"></a>
화살표 아이콘을 선택하여 자산 계층 구조를 확장하고 자산을 찾을 수 있습니다.

1. **경보** 탭을 선택합니다.

1. 일시 중지할 경보를 선택한 다음 **작업**을 선택하여 응답 조치 메뉴를 엽니다.

1. **일시 정지**를 선택합니다. 일시 중지 기간을 지정하는 모델이 열립니다.

1. **일시 중지 길이**를 선택하거나 **사용자 지정 일시 중지 길이**를 입력합니다.

1. **저장**을 선택합니다. 경보 상태가 **일시 정지 상태**로 바뀝니다.

### 경보 비활성화(콘솔)
<a name="disable-alarm-console"></a>

경보가 더 이상 감지되지 않도록 비활성화할 수 있습니다. 경보를 비활성화한 후 경보가 감지되도록 하려면 다시 활성화해야 합니다.

**경보를 비활성화하려면(콘솔) 다음을 수행하세요.**

1. <a name="sitewise-open-console"></a>[AWS IoT SiteWise 콘솔](https://console.aws.amazon.com/iotsitewise/)로 이동합니다.

1. <a name="sitewise-choose-assets"></a>탐색 창에서 **자산**을 선택합니다.

1. 경보를 사용하지 않을 자산을 선택합니다.
**작은 정보**  <a name="sitewise-expand-asset-hierarchy"></a>
화살표 아이콘을 선택하여 자산 계층 구조를 확장하고 자산을 찾을 수 있습니다.

1. **경보** 탭을 선택합니다.

1. 비활성화할 경보를 선택한 다음 **작업**을 선택하여 응답 조치 메뉴를 엽니다.

1. **비활성화**를 선택합니다. 경보 상태가 **비활성화됨**으로 변경됩니다.

### 경보 활성화(콘솔)
<a name="enable-alarm-console"></a>

경보를 비활성화하거나 일시 중지한 후에 다시 감지하도록 활성화할 수 있습니다.

**경보를 사용하려면(콘솔) 다음을 수행하세요.**

1. <a name="sitewise-open-console"></a>[AWS IoT SiteWise 콘솔](https://console.aws.amazon.com/iotsitewise/)로 이동합니다.

1. <a name="sitewise-choose-assets"></a>탐색 창에서 **자산**을 선택합니다.

1. 경보를 사용하고자 하는 자산을 선택합니다.
**작은 정보**  <a name="sitewise-expand-asset-hierarchy"></a>
화살표 아이콘을 선택하여 자산 계층 구조를 확장하고 자산을 찾을 수 있습니다.

1. **경보** 탭을 선택합니다.

1. 활성화할 경보를 선택한 다음 **경보**를 선택하여 응답 조치 메뉴를 엽니다.

1. **활성화**를 선택합니다. 경보 상태가 **정상**으로 변경됩니다.

### 경보 재설정(콘솔)
<a name="reset-alarm-console"></a>

경보를 재설정하여 상태 및 최신 값을 지울 수 있습니다.

**경보를 재설정하려면(콘솔) 다음을 수행하세요.**

1. <a name="sitewise-open-console"></a>[AWS IoT SiteWise 콘솔](https://console.aws.amazon.com/iotsitewise/)로 이동합니다.

1. <a name="sitewise-choose-assets"></a>탐색 창에서 **자산**을 선택합니다.

1. 경보를 재설정하고자 하는 자산을 선택합니다.
**작은 정보**  <a name="sitewise-expand-asset-hierarchy"></a>
화살표 아이콘을 선택하여 자산 계층 구조를 확장하고 자산을 찾을 수 있습니다.

1. **경보** 탭을 선택합니다.

1. 활성화할 경보를 선택한 다음 **경보**를 선택하여 응답 조치 메뉴를 엽니다.

1. **재설정**을 선택합니다. 경보 상태가 **정상**으로 변경됩니다.

## 경보에 응답(API)
<a name="respond-to-alarm-cli"></a>

 AWS IoT Events API를 사용하여 경보를 승인, 일시 중지, 비활성화, 활성화 또는 재설정할 수 있습니다. 자세한 내용은 *AWS IoT Events API 참조*에 있는 다음 운영을 참조하세요.
+ [BatchAcknowledgeAlarm](https://docs.aws.amazon.com/iotevents/latest/apireference/API_iotevents-data_BatchAcknowledgeAlarm.html)
+ [BatchSnoozeAlarm](https://docs.aws.amazon.com/iotevents/latest/apireference/API_iotevents-data_BatchSnoozeAlarm.html)
+ [BatchDisableAlarm](https://docs.aws.amazon.com/iotevents/latest/apireference/API_iotevents-data_BatchDisableAlarm.html)
+ [BatchEnableAlarm](https://docs.aws.amazon.com/iotevents/latest/apireference/API_iotevents-data_BatchEnableAlarm.html)
+ [BatchResetAlarm](https://docs.aws.amazon.com/iotevents/latest/apireference/API_iotevents-data_BatchResetAlarm.html)

자세한 정보는 *AWS IoT Events 개발자 안내서*에서 [경보에 응답하기](https://docs.aws.amazon.com/iotevents/latest/developerguide/respond-to-alarms.html)를 참조하세요.

# 에서 외부 경보 상태 수집 AWS IoT SiteWise
<a name="ingest-external-alarm-state"></a>

외부 경보는 외부에서 평가하는 경보입니다 AWS IoT SiteWise. AWS IoT SiteWise에 수집하려는 경보 상태를 보고하는 데이터 소스가 있는 경우 외부 경보를 사용할 수 있습니다.

경보 상태 속성에는 경보 상태 데이터 값에 대한 특정 형식이 필요합니다. 각 데이터 값은 문자열로 직렬화된 JSON 객체여야 합니다. 그런 다음 직렬화된 문자열을 문자열 값으로 수집합니다. 자세한 내용은 [경보 상태 속성](industrial-alarms.md#alarm-state-properties) 단원을 참조하십시오.

**Example 경보 상태 데이터 값 예시(직렬화되지 않음)**  

```
{
  "stateName": "Active"
}
```

**Example 경보 상태 데이터 값 예시(직렬화)**  

```
{\"stateName\":\"Active\"}
```

**참고**  
데이터 소스에서 이 형식의 데이터를 보고할 수 없거나 데이터를 수집하기 전에 이 형식으로 변환할 수 없는 경우, 경보 속성을 사용하지 않도록 선택할 수 있습니다. 대신, 문자열 데이터 유형을 사용하여 측정 속성으로 데이터를 수집 수 있습니다. 자세한 내용은 [장비의 데이터 스트림 정의(측정값)](measurements.md) 및 [에 데이터 수집 AWS IoT SiteWise](industrial-data-ingestion.md) 섹션을 참조하세요.

# 에서 외부 경보 상태 스트림 매핑 AWS IoT SiteWise
<a name="connect-alarm-data-streams"></a>

속성 별칭을 정의하여 데이터 스트림을 경보 상태 속성에 매핑할 수 있습니다. 이를 통해 데이터를 수집하거나 검색할 때 경보 상태 속성을 쉽게 식별할 수 있습니다. 속성 별칭에 대한 자세한 내용은 [에 대한 데이터 스트림 관리 AWS IoT SiteWise](manage-data-streams.md)을 참조하세요.

**Topics**
+ [외부 경보 상태 스트림 매핑(콘솔)](#connect-alarm-data-stream-console)
+ [외부 경보 상태 스트림 매핑(AWS CLI)](#connect-alarm-data-stream-cli)

## 외부 경보 상태 스트림 매핑(콘솔)
<a name="connect-alarm-data-stream-console"></a>

속성 별칭을 정의하여 데이터 스트림을 경보 상태 속성에 매핑할 수 있습니다. 이를 통해 데이터를 수집하거나 검색할 때 경보 상태 속성을 쉽게 식별할 수 있습니다. 속성 별칭에 대한 자세한 내용은 [에 대한 데이터 스트림 관리 AWS IoT SiteWise](manage-data-streams.md)을 참조하세요.

 AWS IoT SiteWise 콘솔을 사용하여 경보 상태 속성에 대한 별칭을 설정할 수 있습니다.

**경보 상태 속성에 속성 별칭을 설정하려면(콘솔) 다음을 수행하세요.**

1. <a name="sitewise-open-console"></a>[AWS IoT SiteWise 콘솔](https://console.aws.amazon.com/iotsitewise/)로 이동합니다.

1. <a name="sitewise-choose-assets"></a>탐색 창에서 **자산**을 선택합니다.

1. 속성 별칭을 설정할 자산을 선택합니다.
**작은 정보**  <a name="sitewise-expand-asset-hierarchy"></a>
화살표 아이콘을 선택하여 자산 계층 구조를 확장하고 자산을 찾을 수 있습니다.

1. **편집**을 선택합니다.

1. **경보**로 스크롤하고 섹션을 확장합니다.

1. **외부 경보 ** 아래의 **속성 별칭 – *선택 사항***에 별칭을 입력합니다.

1. **저장**을 선택합니다.

## 외부 경보 상태 스트림 매핑(AWS CLI)
<a name="connect-alarm-data-stream-cli"></a>

속성 별칭을 정의하여 데이터 스트림을 경보 상태 속성에 매핑할 수 있습니다. 이를 통해 데이터를 수집하거나 검색할 때 경보 상태 속성을 쉽게 식별할 수 있습니다. 속성 별칭에 대한 자세한 내용은 [에 대한 데이터 스트림 관리 AWS IoT SiteWise](manage-data-streams.md)을 참조하세요.

 AWS Command Line Interface (AWS CLI)를 사용하여 경보 상태 속성에 대한 별칭을 설정할 수 있습니다.

이 절차를 완료하려면 자산의 `assetId` 및 속성의 `propertyId`를 알고 있어야 합니다. 외부 ID를 사용할 수도 있습니다. 자산을 생성했지만 해당 `assetId`를 모르고 있는 경우에는 [ListAssets](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_ListAssets.html) API를 사용하여 특정 모델에 대한 모든 자산을 표시합니다. [DescribeAsset](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_DescribeAsset.html) 작업을 사용하여 속성 ID를 포함한 해당 자산의 속성을 봅니다.

**참고**  
[DescribeAsset](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_DescribeAsset.html) 응답에는 해당 자산의 복합 자산 모델 목록이 포함됩니다. 각 경보는 복합 모델입니다. `propertyId`를 찾으려면 경보의 복합 모델을 찾은 다음 해당 복합 모델에서 `AWS/ALARM_STATE` 속성을 찾습니다.

속성 별칭을 설정하여 그렇게 하는 방법에 대한 자세한 내용은 [자산 속성 별칭 업데이트](update-data-streams-method.md)을 참조하세요.

# 에서 경보 상태 데이터 수집 AWS IoT SiteWise
<a name="ingest-alarm-state-data"></a>

경보 상태 속성은 경보 상태를 직렬화된 JSON 문자열로 예상합니다. 에서 외부 경보에 경보 상태를 수집하려면이 직렬화된 문자열을 타임스탬프 문자열 값으로 AWS IoT SiteWise수집합니다. 다음 예제는 활성 경보의 상태 데이터 값을 보여줍니다.

```
{\"stateName\":\"Active\"}
```

경보 자산 속성을 식별하려면 다음 중 하나를 지정합니다.
+ 데이터를 보낼 경보 자산 속성의 `assetId` 및 `propertyId`.
+ 데이터 스트림 별칭(예: `/company/windfarm/3/turbine/7/temperature/high`)인 `propertyAlias`. 이 옵션을 사용하려면 먼저 경보 속성의 별칭을 설정해야 합니다. 경보 상태 속성의 속성 별칭을 설정하는 방법을 알아보려면 [에서 외부 경보 상태 스트림 매핑 AWS IoT SiteWise](connect-alarm-data-streams.md) 섹션을 참조합니다.

다음 예제 [BatchPutAssetPropertyValue](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_BatchPutAssetPropertyValue.html) API 페이로드는 외부 경보의 상태를 포맷하는 방법을 보여줍니다. 이 외부 경보는 풍력 터빈의 분당 회전수(RPM)측정값이 너무 높을 때 보고합니다.

**Example 경보 상태 데이터에 대한 BatchPutAssetPropertyValue 페이로드 예시**  

```
{
    "entries": [
      {
        "entryId": "unique entry ID",
        "propertyAlias": "/company/windfarm/3/turbine/7/temperature/high",
        "propertyValues": [
          {
            "value": {
              "stringValue": "{\"stateName\":\"Active\"}"
            },
            "timestamp": {
              "timeInSeconds": 1607550262
            }
          }
        ]
      }
    ]
  }
```
`BatchPutAssetPropertyValue` API를 사용하여 데이터를 수집하는 방법에 대한 자세한 내용은 [AWS IoT SiteWise APIs로 데이터 수집](ingest-api.md) 섹션을 참조하세요.  
데이터를 수집하는 다른 방법에 대한 자세한 내용은 [에 데이터 수집 AWS IoT SiteWise](industrial-data-ingestion.md) 섹션을 참조하세요.