

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

# 다른 AWS 서비스와 상호 작용
<a name="interact-with-other-services"></a>

AWS IoT SiteWise 는 자산 데이터를 AWS IoT MQTT 게시-구독 메시지 브로커에 게시할 수 있으므로 다른 AWS 서비스의 자산 데이터와 상호 작용할 수 있습니다.는 AWS IoT 코어 규칙을 사용하여 자산 데이터를 다른 AWS 서비스로 라우팅하는 데 사용할 수 있는 고유한 MQTT 주제를 각 자산 속성에 AWS IoT SiteWise 할당합니다. 예를 들어 다음 작업을 수행하도록 AWS IoT 코어 규칙을 구성할 수 있습니다.
+ 장비 결함을 식별하고 [AWS IoT Events](https://docs.aws.amazon.com/iotevents/latest/developerguide/)에 데이터를 전송하여 담당자에게 알립니다.
+ 데이터를 [Amazon DynamoDB](https://docs.aws.amazon.com/dynamodb/)로 전송하여 외부 소프트웨어 솔루션에서 사용할 특정 자산 데이터를 기록합니다.
+ [AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/) 함수를 트리거하여 주간 보고서를 생성합니다.

DynamoDB에 속성 값을 저장하는 규칙의 설정 단계를 안내하는 자습서를 따를 수 있습니다. 자세한 내용은 [Amazon DynamoDB에 속성 값 업데이트 게시](publish-to-amazon-dynamodb.md) 섹션을 참조하세요.

규칙을 구성하는 방법에 대한 자세한 내용은 *AWS IoT 개발자 가이드*의 [규칙](https://docs.aws.amazon.com/iot/latest/developerguide/iot-rules.html)을 참조하세요.

다른 AWS 서비스의 데이터를 다시 사용할 수도 있습니다 AWS IoT SiteWise. AWS IoT SiteWise 규칙 작업을 통해 데이터를 수집하려면 섹션을 참조하세요[AWS IoT Core 규칙을 AWS IoT SiteWise 사용하여에 데이터 수집](iot-rules.md).

**Topics**
+ [MQTT 주제의 자산 속성 이해](mqtt-topics.md)
+ [에서 자산 속성 알림 켜기 AWS IoT SiteWise](property-notifications.md)
+ [에서 자산 속성 알림 쿼리 AWS IoT SiteWise](query-notification-messages.md)
+ [자산 속성 알림을 사용하여 Amazon S3로 데이터 내보내기](export-to-s3.md)
+ [Grafana AWS IoT SiteWise 와 통합](grafana-integration.md)
+ [AWS IoT SiteWise 및 통합 AWS IoT TwinMaker](integrate-tm.md)
+ [Lookout for Equipment로 이상 감지](anomaly-detection.md)

# MQTT 주제의 자산 속성 이해
<a name="mqtt-topics"></a>

모든 자산 속성에는 다음과 같은 형식의 고유한 MQTT 주제 경로가 있습니다.

```
$aws/sitewise/asset-models/assetModelId/assets/assetId/properties/propertyId
```

**참고**  
AWS IoT SiteWise 는 AWS IoT 코어 규칙 엔진에서 `#` (다중 수준) 주제 필터 와일드카드를 지원하지 않습니다. `+`(단일 레벨) 와일드카드를 사용할 수 있습니다. 예를 들어 다음 주제 필터를 사용하여 특정 자산 모델의 모든 업데이트를 일치시킬 수 있습니다.  

```
$aws/sitewise/asset-models/assetModelId/assets/+/properties/+
```
주제 필터 와일드카드에 대한 자세한 내용은 *AWS IoT Core 개발자 가이드*의 [주제](https://docs.aws.amazon.com/iot/latest/developerguide/topics.html)를 참조하세요.

# 에서 자산 속성 알림 켜기 AWS IoT SiteWise
<a name="property-notifications"></a>

속성 알림을 활성화하여 자산 데이터 업데이트를에 게시 AWS IoT Core한 다음 데이터에 대한 쿼리를 실행할 수 있습니다. 자산 속성 알림을 통해는 Amazon S3로 AWS IoT SiteWise 데이터를 내보내는 데 사용할 수 있는 CloudFormation 템플릿을 AWS IoT SiteWise 제공합니다.

**참고**  
자산 데이터는 값이 변경되었는지 여부에 AWS IoT SiteWise관계없이가 수신할 AWS IoT Core 때마다 로 전송됩니다.

**Topics**
+ [자산 속성 알림 켜기(콘솔)](#enable-property-notifications-console)
+ [자산 속성 알림 켜기(AWS CLI)](#enable-property-notifications-cli)

## 자산 속성 알림 켜기(콘솔)
<a name="enable-property-notifications-console"></a>

기본적으로 AWS IoT SiteWise 는 속성 값 업데이트를 게시하지 않습니다. 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. 자산 속성의 **알림 상태**에서 **ENABLED(활성)**를 선택합니다.  
![\[AWS IoT SiteWise “알림 상태”가 강조 표시된 “자산 편집” 페이지 스크린샷.\]](http://docs.aws.amazon.com/ko_kr/iot-sitewise/latest/userguide/images/sitewise-enable-property-notifications-console.png)

   **DISABLED(비활성)**를 선택하여 자산 속성에 대한 알림을 비활성화할 수도 있습니다.

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

## 자산 속성 알림 켜기(AWS CLI)
<a name="enable-property-notifications-cli"></a>

기본적으로 AWS IoT SiteWise 는 속성 값 업데이트를 게시하지 않습니다. 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를 포함한 해당 자산의 속성을 봅니다.

[UpdateAssetProperty](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_UpdateAssetProperty.html) 작업을 사용하여 자산 속성에 대한 알림을 활성화하거나 비활성화합니다. 다음 파라미터를 지정합니다.
+ `assetId` - 자산의 ID입니다.
+ `propertyId` - 자산 속성의 ID입니다.
+ `propertyNotificationState` - 속성 값 알림 상태는 `ENABLED` 또는 `DISABLED`입니다.
+ `propertyAlias` – 속성의 별칭입니다. 알림 상태를 업데이트할 때 속성의 기존 별칭을 지정합니다. 이 파라미터를 생략하면 속성의 기존 별칭이 제거됩니다.

**자산 속성에 대한 알림을 활성화하거나 비활성화하려면(CLI) 다음을 수행하세요.**

1. 다음 명령을 실행하여 자산 속성의 별칭을 검색합니다. *asset-id*를 자산의 ID로 바꾸고 *property-id*를 속성의 ID로 바꿉니다.

   ```
   aws iotsitewise describe-asset-property \
     --asset-id asset-id \
     --property-id property-id
   ```

   이 작업은 다음과 같은 형식으로 자산 속성의 세부 정보가 포함된 응답을 반환합니다. 속성 별칭은 JSON 객체에 있는 `assetProperty.alias`입니다.

   ```
   {
     "assetId": "a1b2c3d4-5678-90ab-cdef-22222EXAMPLE",
     "assetName": "Wind Turbine 7",
     "assetModelId": "a1b2c3d4-5678-90ab-cdef-11111EXAMPLE",
     "assetProperty": {
       "id": "a1b2c3d4-5678-90ab-cdef-33333EXAMPLE",
       "name": "Wind Speed",
       "alias": "/company/windfarm/3/turbine/7/windspeed",
       "notification": {
         "topic": "$aws/sitewise/asset-models/a1b2c3d4-5678-90ab-cdef-11111EXAMPLE/assets/a1b2c3d4-5678-90ab-cdef-22222EXAMPLE/properties/a1b2c3d4-5678-90ab-cdef-33333EXAMPLE",
         "state": "DISABLED"
       },
       "dataType": "DOUBLE",
       "unit": "m/s",
       "type": {
         "measurement": {}
       }
     }
   }
   ```

1. 다음 명령을 실행하여 자산 속성에 대한 알림을 활성화합니다. *property-alias*를 이전 명령의 응답에서 얻은 속성 별칭으로 바꾸거나, `--property-alias`를 생략하여 별칭 없이 속성을 업데이트합니다.

   ```
   aws iotsitewise update-asset-property \
     --asset-id asset-id \
     --property-id property-id \
     --property-notification-state ENABLED \
     --property-alias property-alias
   ```

   `--property-notification-state DISABLED`를 전달하여 자산 속성에 대한 알림을 비활성화할 수도 있습니다.

# 에서 자산 속성 알림 쿼리 AWS IoT SiteWise
<a name="query-notification-messages"></a>

자산 속성 알림을 쿼리하려면 SQL 문으로 구성된 AWS IoT Core 규칙을 생성합니다.

AWS IoT SiteWise 는 자산 속성 데이터 업데이트를 다음 형식으로 AWS IoT 코어에 게시합니다.

```
{
  "type": "PropertyValueUpdate",
  "payload": {
    "assetId": "String",
    "propertyId": "String",
    "values": [
      {
        "timestamp": {
          "timeInSeconds": Number,
          "offsetInNanos": Number
        },
        "quality": "String",
        "value": {
          "booleanValue": Boolean,
          "doubleValue": Number,
          "integerValue": Number,
          "stringValue": "String",
          "nullValue": {
            "valueType": "String
            }           
        }
      }
    ]
  }
}
```

`values` 목록의 각 구조는 타임스탬프-품질-값(TQV) 구조입니다.
+ `timestamp`는 현재 Unix epoch 시간(초)과 오프셋(나노초)을 포함합니다.
+ `quality`는 데이터 요소의 품질을 나타내는 다음 문자열 중 하나를 포함합니다.
  + `GOOD` – 데이터가 어떤 문제의 영향도 받지 않습니다.
  + `BAD` – 데이터가 센서 고장과 같은 문제의 영향을 받습니다.
  + `UNCERTAIN` – 데이터가 센서 부정확과 같은 문제의 영향을 받습니다.
+ `value`는 속성 유형에 따라 다음 필드 중 하나를 포함합니다.
  + `booleanValue`
  + `doubleValue`
  + `integerValue`
  + `stringValue`
  + `nullValue`

`nullValue` - 값이 Null이고 품질이 `BAD` 또는 인 속성 값의 유형을 나타내는 다음 필드가 있는 구조입니다`UNCERTAIN`.
+ `valueType` - \$1"B", "D", "S", "I"\$1의 열거형

`values` 배열의 값을 구문 분석하려면 규칙의 SQL 문에서 복잡한 중첩 객체 쿼리를 사용해야 합니다. 자세한 내용은AWS IoT 개발자 가이드의 [중첩 객체 쿼리](https://docs.aws.amazon.com/iot/latest/developerguide/iot-sql-nested-queries.html)를 참조하거나 [Amazon DynamoDB에 속성 값 업데이트 게시](publish-to-amazon-dynamodb.md) 자습서에서 자산 속성 알림 메시지 구문 분석에 대한 구체적인 예를 참조하세요.**

**Example 값 배열을 추출하는 쿼리 예제**  
다음 명령문은 해당 속성을 가진 모든 자산의 특정 이중 유형 속성을 확인하기 위해 업데이트된 속성 값 배열을 쿼리하는 방법을 보여 줍니다.  

```
SELECT
  (SELECT VALUE (value.doubleValue) FROM payload.values) AS windspeed
FROM
  '$aws/sitewise/asset-models/a1b2c3d4-5678-90ab-cdef-11111EXAMPLE/assets/+/properties/a1b2c3d4-5678-90ab-cdef-33333EXAMPLE' 
WHERE
  type = 'PropertyValueUpdate'
```
이전 규칙 쿼리 문은 다음과 같은 형식으로 데이터를 출력합니다.  

```
{
  "windspeed": [
    26.32020195042838,
    26.282584572975477,
    26.352566977372508,
    26.283084346171442,
    26.571883739599322,
    26.60684140743005,
    26.628738636715045,
    26.273486932802125,
    26.436379105473964,
    26.600590095377303
  ]
}
```

**Example 단일 값을 추출하는 쿼리 예제**  
다음 명령문은 해당 속성을 가진 모든 자산의 특정 이중 유형 속성을 확인하기 위해 속성 값 배열의 첫 번째 값을 쿼리하는 방법을 보여 줍니다.  

```
SELECT
  get((SELECT VALUE (value.doubleValue) FROM payload.values), 0) AS windspeed
FROM
  '$aws/sitewise/asset-models/a1b2c3d4-5678-90ab-cdef-11111EXAMPLE/assets/+/properties/a1b2c3d4-5678-90ab-cdef-33333EXAMPLE' 
WHERE
  type = 'PropertyValueUpdate'
```

이전 규칙 쿼리 문은 다음과 같은 형식으로 데이터를 출력합니다.

```
{
  "windspeed": 26.32020195042838
}
```

**중요**  
이 규칙 쿼리 문은 각 배치에 있는 첫 번째 값 이외의 값 업데이트를 무시합니다. 각 배치에는 최대 10개의 값이 포함될 수 있습니다. 나머지 값을 포함해야 하는 경우 자산 속성 값을 다른 서비스로 출력하는 보다 복잡한 솔루션을 설정해야 합니다. 예를 들어, 배열의 각 값을 다른 주제에 다시 게시하는 AWS Lambda 작업이 포함된 규칙을 설정하고, 해당 주제를 쿼리하고 각 값을 원하는 규칙 작업에 게시하는 다른 규칙을 설정할 수 있습니다.

# 자산 속성 알림을 사용하여 Amazon S3로 데이터 내보내기
<a name="export-to-s3"></a>

에서 수신되는 데이터를 계정의 Amazon S3 버킷 AWS IoT SiteWise 으로 내보낼 수 있습니다. 기록 보고서를 생성하거나 복잡한 데이터 분석에 사용할 수 있는 형식으로 데이터를 백업할 수 있습니다.

 시계열 데이터를 내보내려면 콜드 티어 기능을 AWS IoT SiteWise활성화하여 데이터를 Amazon S3 버킷에 저장합니다. 자세한 내용은 [의 데이터 스토리지 관리를 AWS IoT SiteWise](https://docs.aws.amazon.com/iot-sitewise/latest/userguide/manage-data-storage.html) 참조하세요.

 자산 모델 및 자산 메타데이터를 내보내려면 대량 작업 기능을 AWS IoT SiteWise사용하여 메타데이터를 Amazon S3 버킷으로 내보냅니다. 자세한 내용은 [자산 및 모델을 사용한 대량 작업을](https://docs.aws.amazon.com/iot-sitewise/latest/userguide/bulk-operations-assets-and-models.html) 참조하세요.

# Grafana AWS IoT SiteWise 와 통합
<a name="grafana-integration"></a>

Grafana는 대시보드에서 데이터를 시각화하고 모니터링하는 데 사용되는 데이터 시각화 플랫폼입니다. Grafana 버전 10.4.0 이상에서는 AWS IoT SiteWise 플러그인을 사용하여 Grafana 대시보드에서 AWS IoT SiteWise 자산 데이터를 시각화합니다. 사용자는 단일 Grafana 대시보드를 사용하여 여러 AWS 소스(예: AWS IoT SiteWise Amazon Timestream 및 Amazon CloudWatch) 및 기타 데이터 소스의 데이터를 시각화할 수 있습니다.

 AWS IoT SiteWise 플러그인을 사용할 수 있는 두 가지 옵션이 있습니다.
+ **로컬 Grafana 서버**

  관리하는 Grafana 서버에서 AWS IoT SiteWise 플러그인을 설정할 수 있습니다. 플러그인 추가 및 사용 방법에 대한 자세한 내용은 GitHub 웹 사이트의 [AWS IoT SiteWise 데이터 소스 README](https://github.com/grafana/iot-sitewise-datasource/blob/main/src/README.md) 파일을 참조하세요.
+ **AWS Grafana용 관리형 서비스**

   AWS Managed Service for Grafana(AMG)에서 AWS IoT SiteWise 플러그인을 사용할 수 있습니다. AMG는 사용자를 대신하여 Grafana 서버를 관리하므로 사용자는 하드웨어나 기타 Grafana 인프라를 구축, 패키징 또는 배포하지 않고도 데이터를 시각화할 수 있습니다. 자세한 내용은 *AWS Grafana용 관리형 서비스 사용 설명서*의 다음 주제를 참조하세요.
  + [Amazon Grafana용 관리형 서비스(AMG)란?](https://docs.aws.amazon.com/grafana/latest/userguide/what-is-Amazon-Managed-Service-Grafana.html)
  + [AWS IoT SiteWise 데이터 소스 사용](https://docs.aws.amazon.com/grafana/latest/userguide/using-iotsitewise-in-AMG.html)

**Example Grafana 대시보드 예시**  
다음 Grafana 대시보드는 [데모 풍력 발전 단지](getting-started-demo.md)를 시각화합니다. [Grafana Play](https://play.grafana.org/d/avzwehmz/demo-wind-farm?orgId=1) 웹 사이트에서 이 데모 대시보드에 액세스할 수 있습니다.  

![\[AWS IoT SiteWise 데모 풍력 발전소를 시각화하는 Grafana 대시보드 예제입니다.\]](http://docs.aws.amazon.com/ko_kr/iot-sitewise/latest/userguide/images/grafana-dashboard-example.png)


# AWS IoT SiteWise 및 통합 AWS IoT TwinMaker
<a name="integrate-tm"></a>

와 통합하면 AWS IoT SiteWise 콘솔에서 AWS IoT SiteWise 데이터 검색 `ExecuteQuery` API 및 고급 자산 검색 AWS IoT SiteWise과 같은의 강력한 기능에 AWS IoT TwinMaker 액세스할 수 있습니다. 서비스를 통합하고 이러한 기능을 사용하려면 먼저 통합을 활성화해야 합니다.

**Topics**
+ [통합 활성화](#it-enable)
+ [AWS IoT SiteWise 및 통합 AWS IoT TwinMaker](#it-integrate)

## 통합 활성화
<a name="it-enable"></a>

관리자는 AWS JSON 정책을 사용하여 누가 무엇에 액세스할 수 있는지 지정할 수 있습니다. 즉, 어떤 *보안 주체*가 어떤 *리소스*와 어떤 *조건*에서 *작업*을 수행할 수 있는지를 지정할 수 있습니다. JSON 정책의 `Action`요소는 정책에서 액세스를 허용하거나 거부하는 데 사용할 수 있는 작업을 설명합니다. AWS IoT SiteWise 지원되는 작업에 대한 자세한 내용은 *서비스 승인* 참조의에서 [정의한 작업을 AWS IoT SiteWise](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiotsitewise.html#awsiotsitewise-actions-as-permissions) 참조하세요.

 AWS IoT TwinMaker 서비스 연결 역할에 대한 자세한 내용은 *AWS IoT TwinMaker 사용 설명서*의에 [대한 서비스 연결 역할을 AWS IoT TwinMaker](https://docs.aws.amazon.com/iot-twinmaker/latest/guide/security_iam_service-with-iam.html#security_iam_service-with-iam-roles-service-linked) 참조하세요.

 AWS IoT SiteWise 및를 통합하려면 먼저가 AWS IoT TwinMaker 연결된 워크스페이스와 AWS IoT SiteWise 통합할 수 있도록 허용하는 다음 권한을 부여 AWS IoT TwinMaker해야 합니다.
+ `iotsitewise:EnableSiteWiseIntegration` - AWS IoT SiteWise 를 연결된 AWS IoT TwinMaker 워크스페이스와 통합할 수 있습니다. 이 통합 AWS IoT TwinMaker 을 통해는 AWS IoT TwinMaker 서비스 연결 역할을 AWS IoT SiteWise 통해의 모든 모델링 정보를 읽을 수 있습니다. 이 권한을 활성화하려면 사용자의 IAM 역할에 다음 정책을 추가합니다.

------
#### [ JSON ]

****  

  ```
  {
    "Version":"2012-10-17",		 	 	 
    "Statement": [
      {
        "Effect": "Allow",
        "Action": [
          "iotsitewise:EnableSiteWiseIntegration"
        ],
        "Resource": "*"
      }
    ]
  }
  ```

------

## AWS IoT SiteWise 및 통합 AWS IoT TwinMaker
<a name="it-integrate"></a>

 AWS IoT SiteWise 및를 통합하려면 다음이 있어야 AWS IoT TwinMaker합니다.
+ AWS IoT SiteWise 계정에 설정된 서비스 연결 역할
+ AWS IoT TwinMaker 계정에 설정된 서비스 연결 역할
+ AWS IoT TwinMaker 리전`IoTSiteWiseDefaultWorkspace`의 계정에 ID가 인 워크스페이스입니다.

### AWS IoT SiteWise 콘솔을 사용하여를 통합하려면
<a name="it-integrate-console"></a>

콘솔에 ** AWS IoT TwinMaker와 통합** 배너가 표시되면 **권한 부여**를 선택합니다. 사전 조건은 계정에 생성됩니다.

### 를 사용하여를 통합하려면 AWS CLI
<a name="it-integrate-cli"></a>

 AWS IoT TwinMaker 를 사용하여 AWS IoT SiteWise 및를 통합하려면 다음 명령을 AWS CLI입력합니다.

1. `iotsitewise.amazonaws.com`의 `AWSServiceName`을 사용하여 `CreateServiceLinkedRole`을 직접적으로 호출합니다.

   ```
   aws iam create-service-linked-role --aws-service-name iotsitewise.amazonaws.com
   ```

1. ` iottwinmaker.amazonaws.com`의 `AWSServiceName`을 사용하여 `CreateServiceLinkedRole`을 직접적으로 호출합니다.

   ```
   aws iam create-service-linked-role --aws-service-name iottwinmaker.amazonaws.com
   ```

1. `IoTSiteWiseDefaultWorkspace`의 `ID`을 사용하여 `CreateWorkspace`을 직접적으로 호출합니다.

   ```
    aws iottwinmaker create-workspace --workspace-id IoTSiteWiseDefaultWorkspace
   ```

# Lookout for Equipment로 이상 감지
<a name="anomaly-detection"></a>

**참고**  
이상 감지는 Amazon Lookout for Equipment가 제공되는 리전에서만 사용할 수 있습니다.

Amazon Lookout for Equipment AWS IoT SiteWise 와 통합하여 산업 장비의 이상 탐지 및 예측 유지 관리를 통해 산업 장비에 대한 인사이트를 얻을 수 있습니다. Lookout for Equipment는 비정상적인 장비 동작을 감지하고 잠재적 장애를 식별하는 산업용 장비 모니터링용 기계 학습(ML) 서비스입니다. Lookout for Equipment를 사용하면 예측 유지 보수 프로그램을 구현하고 최적화되지 않은 장비 프로세스를 식별할 수 있습니다. Lookout for Equipment에 대한 자세한 내용은 *Amazon Lookout for Equipment 사용 설명서*의 [Amazon Lookout for Equipment란 무엇인가요?](https://docs.aws.amazon.com/lookout-for-equipment/latest/ug/what-is.html)를 참조하세요.

ML 모델을 훈련하여 이상 장비 동작을 감지하도록 예측을 생성하면는 자산 속성 값을 Lookout for Equipment로 AWS IoT SiteWise 전송하여 이상 장비 동작을 감지하도록 ML 모델을 훈련합니다. 자산 모델에 대한 예측 정의를 정의하려면 Lookout for Equipment가 데이터에 액세스하는 데 필요한 IAM 역할과 Lookout for Equipment로 보내고 처리된 데이터를 Amazon S3로 전송할 속성을 지정합니다. 자세한 내용은 [에서 자산 모델 생성 AWS IoT SiteWise](create-asset-models.md) 단원을 참조하십시오.

 AWS IoT SiteWise 및 Lookout for Equipment를 통합하려면 다음과 같은 상위 수준 단계를 수행합니다.
+ 추적하려는 속성을 개괄적으로 설명하는 자산 모델에 예측 정의를 추가합니다. 예측 정의는 해당 자산 모델을 기반으로 자산에 대한 예측을 생성하는 데 사용되는 측정, 변환 및 지표의 재사용 가능한 모음입니다.
+ 제공한 기록 데이터를 기반으로 예측을 훈련합니다.
+ 특정 예측을 실행하는 AWS IoT SiteWise 빈도를 알려주는 추론을 예약합니다.

추론이 예약되면 Lookout for Equipment 모델은 장비에서 수신하는 데이터를 모니터링하고 장비 동작의 이상을 찾습니다. AWS IoT SiteWise GET API 작업 또는 Lookout for Equipment 콘솔을 사용하여 SiteWise Monitor에서 결과를 보고 분석할 수 있습니다. 자산 모델의 경보 감지기로 경보를 생성하여 이상 장비 동작에 대한 알림을 받을 수도 있습니다.

**Topics**
+ [예측 정의 추가(콘솔)](#ad-add-prediction-definition-console)
+ [예측 훈련(콘솔)](#ad-train-prediction-console)
+ [예측에 대한 추론 시작 또는 중지(콘솔)](#ad-start-stop-inference-console)
+ [예측 정의 추가(CLI)](#ad-add-prediction-definition-cli)
+ [예측 훈련 및 추론 시작(CLI)](#ad-train-inference-prediction-cli)
+ [예측 훈련(CLI)](#ad-train-prediction-cli)
+ [예측에 대한 추론 시작 또는 중지(CLI)](#ad-start-stop-inference-cli)

## 예측 정의 추가(콘솔)
<a name="ad-add-prediction-definition-console"></a>

에서 수집한 데이터를 Lookout for Equipment AWS IoT SiteWise 로 전송하려면 자산 모델에 AWS IoT SiteWise 예측 정의를 추가해야 합니다.

**AWS IoT SiteWise 자산 모델에 예측 정의를 추가하려면**

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

1. 탐색 창에서 **모델**을 선택하고 예측 정의를 추가할 자산 모델을 선택합니다.

1. **예측**을 선택합니다.

1. **예측 정의 추가**를 선택합니다.

1. 예측 정의에 대한 세부 정보를 정의합니다.

   1. 고유한 **이름**과 예측 정의에 대한 **설명**을 입력합니다. 예측 정의를 생성한 후에는 이름을 변경할 수 없으므로 이름을 신중하게 선택합니다.

   1.  AWS IoT SiteWise 가 Amazon Lookout for Equipment와 자산 데이터를 공유하도록 허용하는 **IAM 권한 역할**을 생성하거나 선택합니다. 역할에는 다음과 같은 IAM 및 신뢰 정책이 있어야 합니다. 역할을 생성하는 데 도움이 필요하면 [사용자 지정 신뢰 정책을 사용하여 역할 생성](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-custom.html)을 참조하세요.

      **IAM 정책**

------
#### [ JSON ]

****  

      ```
      {
          "Version":"2012-10-17",		 	 	 
          "Statement": [
              {
                  "Sid": "L4EPermissions",
                  "Effect": "Allow",
                  "Action": [
                      "lookoutequipment:CreateDataset",
                      "lookoutequipment:CreateModel",
                      "lookoutequipment:CreateInferenceScheduler",
                      "lookoutequipment:DescribeDataset",
                      "lookoutequipment:DescribeModel",
                      "lookoutequipment:DescribeInferenceScheduler",
                      "lookoutequipment:ListInferenceExecutions",
                      "lookoutequipment:StartDataIngestionJob",
                      "lookoutequipment:StartInferenceScheduler",
                      "lookoutequipment:UpdateInferenceScheduler",
                      "lookoutequipment:StopInferenceScheduler"
                  ],
                  "Resource": [
                      "arn:aws:lookoutequipment:us-east-1:123456789012:inference-scheduler/IoTSiteWise_*",
                      "arn:aws:lookoutequipment:us-east-1:123456789012:model/IoTSiteWise_*",
                      "arn:aws:lookoutequipment:us-east-1:123456789012:dataset/IoTSiteWise_*"
                  ]
              },
              {
                  "Sid": "L4EPermissions2",
                  "Effect": "Allow",
                  "Action": [
                      "lookoutequipment:DescribeDataIngestionJob"
                  ],
                  "Resource": "*"
              },
              {
                  "Sid": "S3Permissions",
                  "Effect": "Allow",
                  "Action": [
                      "s3:CreateBucket",
                      "s3:ListBucket",
                      "s3:PutObject",
                      "s3:GetObject"
                  ],
                  "Resource": [
                      "arn:aws:s3:::iotsitewise-*"
                  ]
              },
              {
                  "Sid": "IAMPermissions",
                  "Effect": "Allow",
                  "Action": [
                      "iam:GetRole",
                      "iam:PassRole"
                  ],
                  "Resource": "arn:aws:iam::111122223333:role/Role_name"
              }
          ]
      }
      ```

------

      **신뢰 정책**

------
#### [ JSON ]

****  

      ```
      {
          "Version":"2012-10-17",		 	 	 
          "Statement": [
              {
                  "Effect": "Allow",
                  "Principal": {
                      "Service": "iotsitewise.amazonaws.com"
                  },
                  "Action": "sts:AssumeRole",
                  "Condition": {
                      "StringEquals": {
                          "aws:SourceAccount": "123456789012"
                      },
                      "ArnEquals": {
                          "aws:SourceArn": "arn:aws:iotsitewise:us-east-1:123456789012:asset/*"
                      }
                  }
              },
              {
                  "Effect": "Allow",
                  "Principal": {
                      "Service": "lookoutequipment.amazonaws.com"
                  },
                  "Action": "sts:AssumeRole",
                  "Condition": {
                      "StringEquals": {
                          "aws:SourceAccount": "123456789012"
                      },
                      "ArnEquals": {
                          "aws:SourceArn": "arn:aws:lookoutequipment:us-east-1:123456789012:*"
                      }
                  }
              }
          ]
      }
      ```

------

   1. **다음**을 선택합니다.

1. Lookout for Equipment로 전송할 데이터 속성(측정값, 변환 및 지표)을 선택합니다.

   1. (선택 사항) 측정값을 선택합니다.

   1. (선택 사항) 변환을 선택합니다.

   1. (선택 사항) 지표를 선택합니다.

   1. **다음**을 선택합니다.

1. 선택한 내용을 검토합니다. 자산 모델에 예측 정의를 추가하려면 요약 페이지에서 **예측 정의 추가**를 선택합니다.

활성 예측이 연결된 기존 예측 정의를 **편집**하거나 **삭제**할 수도 있습니다.

## 예측 훈련(콘솔)
<a name="ad-train-prediction-console"></a>

자산 모델에 예측 정의를 추가한 후 자산에 있는 예측을 훈련할 수 있습니다.

**에서 예측을 훈련하려면 AWS IoT SiteWise**

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

1. 탐색 창에서 **자산**을 선택하고 모니터링할 자산을 선택합니다.

1. **예측**을 선택합니다.

1. 훈련하려는 예측을 선택합니다.

1. **작업**에서 **훈련 시작**을 선택하고 다음을 수행합니다.

   1. **예측 세부 정보**에서가 자산 데이터를 Lookout for Equipment와 공유할 AWS IoT SiteWise 수 있도록 허용하는 IAM 권한 역할을 선택합니다. 새 역할을 생성해야 하는 경우, **새 역할 생성**을 선택합니다.

   1. **훈련 데이터 설정**에서 **훈련 데이터 시간 범위**를 입력하여 예측 훈련에 사용할 데이터를 선택합니다.

   1. (선택 사항) 사후 처리 후 데이터의 샘플링 속도를 선택합니다. 

   1. (선택 사항) **데이터 레이블**에 Amazon S3 버킷 및 레이블 지정 데이터를 포함하는 접두사를 제공합니다. 데이터 레이블 지정에 대한 자세한 내용은 *Amazon Lookout for Equipment 사용 설명서*의 [데이터 레이블 지정](https://docs.aws.amazon.com/lookout-for-equipment/latest/ug/labeling-data.html)을 참조하세요.

   1. **다음**을 선택합니다.

1. (선택 사항) 훈련을 완료하는 즉시 예측을 활성화하려면 **고급 설정**에서 **훈련 후 예측 자동 활성화**를 선택한 다음 다음을 수행합니다.

   1. **입력 데이터**의 **데이터 업로드 빈도**에서 데이터가 업로드되는 빈도를 정의하고 **오프셋 지연 시간**에서는 사용할 버퍼의 양을 정의합니다.

   1. **다음**을 선택합니다.

1. 예측 세부 정보를 검토하고 **저장 및 시작**을 선택합니다.

## 예측에 대한 추론 시작 또는 중지(콘솔)
<a name="ad-start-stop-inference-console"></a>

**참고**  
Lookout for Equipment 요금은 AWS IoT SiteWise 및 Lookout for Equipment 간에 데이터가 전송된 예약된 추론에 적용됩니다. 자세한 내용은 [Amazon Lookout for Equipment 요금](https://aws.amazon.com/lookout-for-equipment/pricing/)을 참조하세요.

예측 `lookoutequipment:CreateDataset`를 추가했지만 훈련 후 활성화하지 않은 경우 자산 모니터링을 시작하려면 활성화해야 합니다.

**예측에 대한 추론을 시작하려면 다음을 수행하세요.**

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

1. 탐색 창에서 **자산**을 선택하고 예측이 추가될 자산을 선택합니다.

1. **예측**을 선택합니다.

1. 활성화하려는 예측을 선택합니다.

1. **작업**에서 **추론 시작**을 선택하고 다음을 수행합니다.

   1. **입력 데이터**의 **데이터 업로드 빈도**에서 데이터가 업로드되는 빈도를 정의하고 **오프셋 지연 시간**에서는 사용할 버퍼의 양을 정의합니다.

   1. **저장 및 테스트**를 선택합니다.

**예측에 대한 추론을 중지하려면 다음을 수행하세요.**

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

1. 탐색 창에서 **자산**을 선택하고 예측이 추가될 자산을 선택합니다.

1. **예측**을 선택합니다.

1. 중지하려는 예측을 선택합니다.

1. **작업**에서 **추론 중지**를 선택합니다.

## 예측 정의 추가(CLI)
<a name="ad-add-prediction-definition-cli"></a>

신규 또는 기존 자산 모델에 대한 예측 정의를 정의하려면 AWS Command Line Interface ()를 사용할 수 있습니다AWS CLI. 자산 모델에서 예측 정의를 정의한 후 Lookout for Equipment를 사용하여 이상 탐지를 수행하기 AWS IoT SiteWise 위해의 자산에 대한 예측을 훈련하고 추론을 예약합니다.

**사전 조건**

이 단계를 완료하려면 자산 모델과 하나 이상의 자산을 생성해야 합니다. 자세한 내용은 [자산 모델 생성(AWS CLI)](create-asset-models.md#create-asset-model-cli) 및 [자산 생성(AWS CLI)](create-assets.md#create-asset-cli) 섹션을 참조하세요.

처음 사용하는 경우 `CreateBulkImportJob` API 작업을 호출하여 자산 속성 값을 가져와 AWS IoT SiteWise야 합니다. AWS IoT SiteWise이 값은 모델 훈련에 사용됩니다. 자세한 내용은 [AWS IoT SiteWise 대량 가져오기 작업 생성(AWS CLI)](CreateBulkImportJob.md) 단원을 참조하십시오.

**예측 정의를 추가하려면 다음을 수행하세요.**

1. `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. 다음 코드를 추가하여 Lookout for Equipment 복합 모델(`assetModelCompositeModels`)을 자산 모델에 추가합니다.
   + `Property`를 포함하려는 속성의 ID로 바꿉니다. 이러한 ID를 가져오려면 [https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_DescribeAssetModel.html](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_DescribeAssetModel.html)을 직접적으로 호출합니다.
   + `RoleARN`를 Lookout for Equipment가 AWS IoT SiteWise 데이터에 액세스할 수 있도록 허용하는 IAM 역할의 ARN으로 바꿉니다.

   ```
   { 
     ...
     "assetModelCompositeModels": [
       {
         "name": "L4Epredictiondefinition",
         "type": "AWS/L4E_ANOMALY",
         "properties": [
             {
               "name": "AWS/L4E_ANOMALY_RESULT",
               "dataType": "STRUCT",
               "dataTypeSpec": "AWS/L4E_ANOMALY_RESULT",
               "unit": "none",
               "type": {
                 "measurement": {}
               }
             },
             {
               "name": "AWS/L4E_ANOMALY_INPUT",
               "dataType": "STRUCT",
               "dataTypeSpec": "AWS/L4E_ANOMALY_INPUT",
               "type": {
                  "attribute": {
                    "defaultValue": "{\"properties\": [\"Property1\", \"Property2\"]}"
                  }
               }
             },
             {
               "name": "AWS/L4E_ANOMALY_PERMISSIONS",
               "dataType": "STRUCT",
               "dataTypeSpec": "AWS/L4E_ANOMALY_PERMISSIONS",
               "type": {
                 "attribute": {
                   "defaultValue": "{\"roleArn\": \"RoleARN\"}"
                 }
               }
             },
             {
               "name": "AWS/L4E_ANOMALY_DATASET",
               "dataType": "STRUCT",
               "dataTypeSpec": "AWS/L4E_ANOMALY_DATASET",
               "type": {
                   "attribute": {}
               }
             },
             {
               "name": "AWS/L4E_ANOMALY_MODEL",
               "dataType": "STRUCT",
               "dataTypeSpec": "AWS/L4E_ANOMALY_MODEL",
               "type": {
                 "attribute": {}
               }
             },
             {
               "name": "AWS/L4E_ANOMALY_INFERENCE",
               "dataType": "STRUCT",
               "dataTypeSpec": "AWS/L4E_ANOMALY_INFERENCE",
               "type": {
                 "attribute": {}
               }
             },
             {
               "name": "AWS/L4E_ANOMALY_TRAINING_STATUS",
               "dataType": "STRUCT",
               "dataTypeSpec": "AWS/L4E_ANOMALY_TRAINING_STATUS",
               "type": {
                 "attribute": {
                   "defaultValue": "{}"
                 }
               }
             },
             {
               "name": "AWS/L4E_ANOMALY_INFERENCE_STATUS",
               "dataType": "STRUCT",
               "dataTypeSpec": "AWS/L4E_ANOMALY_INFERENCE_STATUS",
               "type": {
                 "attribute": {
                   "defaultValue": "{}"
                 }
               }
             }
      ]
   }
   ```

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

## 예측 훈련 및 추론 시작(CLI)
<a name="ad-train-inference-prediction-cli"></a>

이제 예측 정의가 정의되었으므로 이를 기반으로 자산을 훈련하고 추론을 시작할 수 있습니다. 예측을 훈련하지만 추론을 시작하지 않으려면 [예측 훈련(CLI)](#ad-train-prediction-cli) 섹션으로 건너뛰세요. 예측을 훈련하고 자산에 대한 추론을 시작하려면 대상 리소스의 `assetId`가 필요합니다.

**예측 추론을 훈련하고 시작하려면 다음을 수행하세요.**

1. 다음 명령을 실행하여 `assetModelCompositeModelSummaries` 아래의 `assetModelCompositeModelId`를 찾습니다. *`asset-model-id`*를 [자산 모델, 구성 요소 모델 또는 인터페이스 업데이트(AWS CLI)](update-asset-models.md#update-asset-model-cli)에서 생성한 자산 모델의 ID로 바꿉니다.

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

1. 다음 명령을 실행하여 `TrainingWithInference` 작업의 `actionDefinitionId`를 찾습니다. *`asset-model-id`*를 이전 단계에서 사용된 ID로 바꾸고 *`asset-model-composite-model-id`*를 이전 단계에서 반환된 ID로 바꿉니다.

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

1. `train-start-inference-prediction.json`이라는 파일을 생성하고 다음을 대체하여 다음 코드를 추가합니다.
   + `asset-id`를 대상 자산의 ID로
   + `action-definition-id`를 TrainingWithInference 작업의 ID로
   + `StartTime`을 Epoch 초 단위로 제공되는 훈련 데이터 시작 시점으로
   + `EndTime`을 Epoch 초 단위로 제공되는 훈련 데이터 종료 시점으로
   + `TargetSamplingRate`를 Lookout for Equipment에 의해 사후 처리된 후의 데이터 샘플링 속도로 허용되는 값은 `PT1S | PT5S | PT10S | PT15S | PT30S | PT1M | PT5M | PT10M | PT15M | PT30M | PT1H`입니다.

   ```
   {
     "targetResource": {
       "assetId": "asset-id"
     },
     "actionDefinitionId": "action-definition-Id",
     "actionPayload":{
       "stringValue": "{\"l4ETrainingWithInference\":{\"trainingWithInferenceMode\":\"START\",\"trainingPayload\":{\"exportDataStartTime\":StartTime,\"exportDataEndTime\":EndTime},\"targetSamplingRate\":\"TargetSamplingRate\"},\"inferencePayload\":{\"dataDelayOffsetInMinutes\":0,\"dataUploadFrequency\":\"PT5M\"}}}"
     }
   }
   ```

1. 다음 명령을 실행하여 훈련 및 추론을 시작합니다.

   ```
   aws iotsitewise execute-action --cli-input-json file://train-start-inference-prediction.json
   ```

## 예측 훈련(CLI)
<a name="ad-train-prediction-cli"></a>

이제 예측 정의가 정의되었으므로 이를 기반으로 자산을 훈련할 수 있습니다. 자산에 대한 예측을 훈련하려면 대상 리소스의 `assetId`가 필요합니다.

**예측을 훈련하려면 다음을 수행하세요.**

1. 다음 명령을 실행하여 `assetModelCompositeModelSummaries` 아래의 `assetModelCompositeModelId`를 찾습니다. *`asset-model-id`*를 [자산 모델, 구성 요소 모델 또는 인터페이스 업데이트(AWS CLI)](update-asset-models.md#update-asset-model-cli)에서 생성한 자산 모델의 ID로 바꿉니다.

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

1. 다음 명령을 실행하여 `Training` 작업의 `actionDefinitionId`를 찾습니다. *`asset-model-id`*를 이전 단계에서 사용된 ID로 바꾸고 *`asset-model-composite-model-id`*를 이전 단계에서 반환된 ID로 바꿉니다.

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

1. `train-prediction.json`이라는 파일을 생성하고 다음을 대체하여 다음 코드를 추가합니다.
   + `asset-id`를 대상 자산의 ID로
   + `action-definition-id`를 훈련 작업의 ID로
   + `StartTime`을 Epoch 초 단위로 제공되는 훈련 데이터 시작 시점으로
   + `EndTime`을 Epoch 초 단위로 제공되는 훈련 데이터 종료 시점으로
   + (선택 사항) `BucketName`을 레이블 데이터를 저장하는 Amazon S3 버킷의 이름으로
   + (선택 사항) `Prefix`를 Amazon S3 버킷과 연결된 접두사로
   + `TargetSamplingRate`를 Lookout for Equipment에 의해 사후 처리된 후의 데이터 샘플링 속도로 허용되는 값은 `PT1S | PT5S | PT10S | PT15S | PT30S | PT1M | PT5M | PT10M | PT15M | PT30M | PT1H`입니다.
**참고**  
버킷 이름과 접두사를 둘 다 포함하거나 둘 다 포함하지 않습니다.

   ```
   {
     "targetResource": {
       "assetId": "asset-id"
     },
     "actionDefinitionId": "action-definition-Id",
     "actionPayload":{ "stringValue": "{\"l4ETraining\": {\"trainingMode\":\"START\",\"exportDataStartTime\": StartTime, \"exportDataEndTime\": EndTime, \"targetSamplingRate\":\"TargetSamplingRate\"}, \"labelInputConfiguration\": {\"bucketName\": \"BucketName\", \"prefix\": \"Prefix\"}}}"
   }
   }
   ```

1. 훈련을 시작하려면 다음 명령을 실행합니다.

   ```
   aws iotsitewise execute-action --cli-input-json file://train-prediction.json
   ```

추론을 시작하려면 먼저 훈련을 완료해야 합니다. 훈련 상태를 확인하려면 다음 중 하나를 수행하세요.
+ 콘솔에서 예측이 켜져 있는 자산으로 이동합니다.
+ 에서 `trainingStatus` 속성`propertyId`의를 `BatchGetAssetPropertyValue` 사용하여를 AWS CLI호출합니다.

## 예측에 대한 추론 시작 또는 중지(CLI)
<a name="ad-start-stop-inference-cli"></a>

예측이 훈련되면 추론을 시작하여 Lookout for Equipment에 자산 모니터링을 시작하도록 지시할 수 있습니다. 추론을 시작하거나 중지하려면 대상 리소스의 `assetId`가 필요합니다.

**추론을 시작하려면 다음을 수행하세요.**

1. 다음 명령을 실행하여 `assetModelCompositeModelSummaries` 아래의 `assetModelCompositeModelId`를 찾습니다. *`asset-model-id`*를 [자산 모델, 구성 요소 모델 또는 인터페이스 업데이트(AWS CLI)](update-asset-models.md#update-asset-model-cli)에서 생성한 자산 모델의 ID로 바꿉니다.

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

1. 다음 명령을 실행하여 `Inference` 작업의 `actionDefinitionId`를 찾습니다. *`asset-model-id`*를 이전 단계에서 사용된 ID로 바꾸고 *`asset-model-composite-model-id`*를 이전 단계에서 반환된 ID로 바꿉니다.

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

1. `start-inference.json`이라는 파일을 생성하고 다음을 대체하여 다음 코드를 추가합니다.
   + `asset-id`를 대상 자산의 ID로
   + `action-definition-id`를 시작 추론 작업의 ID로
   + `Offset`을 사용할 버퍼의 양으로
   + `Frequency`를 데이터가 업로드되는 빈도로

   ```
   {
     "targetResource": {
       "assetId": "asset-id"
     },
     "actionDefinitionId": "action-definition-Id",
     "actionPayload":{ "stringValue": "{\"l4EInference\": {\"inferenceMode\":\"START\",\"dataDelayOffsetInMinutes\": Offset, \"dataUploadFrequency\": \"Frequency\"}}"
   }}
   ```

1. 추론을 실행하려면 다음 명령을 실행합니다.

   ```
   aws iotsitewise execute-action --cli-input-json file://start-inference.json 
   ```

**추론을 중지하려면 다음을 수행하세요.**

1. 다음 명령을 실행하여 `assetModelCompositeModelSummaries` 아래의 `assetModelCompositeModelId`를 찾습니다. *`asset-model-id`*를 [자산 모델, 구성 요소 모델 또는 인터페이스 업데이트(AWS CLI)](update-asset-models.md#update-asset-model-cli)에서 생성한 자산 모델의 ID로 바꿉니다.

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

1. 다음 명령을 실행하여 `Inference` 작업의 `actionDefinitionId`를 찾습니다. *`asset-model-id`*를 이전 단계에서 사용된 ID로 바꾸고 *`asset-model-composite-model-id`*를 이전 단계에서 반환된 ID로 바꿉니다.

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

1. `stop-inference.json`이라는 파일을 생성하고 다음을 대체하여 다음 코드를 추가합니다.
   + `asset-id`를 대상 자산의 ID로
   + `action-definition-id`를 시작 추론 작업의 ID로

   ```
   {
     "targetResource": {
       "assetId": "asset-id"
     },
     "actionDefinitionId": "action-definition-Id",
     "actionPayload":{ "stringValue": "{\"l4EInference\":{\"inferenceMode\":\"STOP\"}}"
   }}
   ```

1. 추론을 실행하려면 다음 명령을 실행합니다.

   ```
   aws iotsitewise execute-action --cli-input-json file://stop-inference.json 
   ```