

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

# AWS IoT SiteWise
<a name="iotsitewise-rule-action"></a>

 AWS IoT SiteWise (`iotSiteWise`) 작업은 MQTT 메시지의 데이터를의 자산 속성으로 전송합니다 AWS IoT SiteWise.

사물에서 데이터를 수집하는 방법을 보여주는 자습서를 따를 수 AWS IoT 있습니다. 자세한 내용은 사용 *AWS IoT SiteWise 설명서*의 [AWS IoT 사물에서 로 AWS IoT SiteWise 데이터 수집](https://docs.aws.amazon.com/iot-sitewise/latest/userguide/ingest-data-from-iot-things.html) 자습서 또는 [AWS IoT 코어 규칙을 사용하여 데이터 수집](https://docs.aws.amazon.com/iot-sitewise/latest/userguide/iot-rules.html) 섹션을 참조하세요.

## 요구 사항
<a name="iotsitewise-rule-action-requirements"></a>

이 규칙 작업은 다음 요구 사항을 충족해야 합니다.
+ `iotsitewise:BatchPutAssetPropertyValue` 작업을 수행하기 위해가 맡을 AWS IoT 수 있는 IAM 역할입니다. 자세한 내용은 [AWS IoT 규칙에 필요한 액세스 권한 부여](iot-create-role.md) 단원을 참조하십시오.

  아래 예제는 역할에 연결할 수 있는 신뢰 정책을 보여줍니다.  
****  

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

  보안을 강화하기 위해 `Condition` 속성에서 AWS IoT SiteWise 자산 계층 구조 경로를 지정할 수 있습니다. 다음 예제는 자산 계층 구조 경로를 지정하는 신뢰 정책입니다.  
****  

  ```
  {
      "Version":"2012-10-17",		 	 	 
      "Statement": [
          {
              "Effect": "Allow",
              "Action": "iotsitewise:BatchPutAssetPropertyValue",
              "Resource": "*",
              "Condition": {
                  "StringLike": {
                      "iotsitewise:assetHierarchyPath": [
                          "/{{root node asset ID}}",
                          "/{{root node asset ID}}/*"
                      ]
              }
          }
          }
      ]
  }
  ```
+ 이 작업을 AWS IoT SiteWise 사용하여에 데이터를 전송할 때 데이터는 `BatchPutAssetPropertyValue` 작업의 요구 사항을 충족해야 합니다. 자세한 내용은 *AWS IoT SiteWise API 참조*의 [BatchPutAssetPropertyValue](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_BatchPutAssetPropertyValue.html)를 참조하세요.

## 파라미터
<a name="iotsitewise-rule-action-parameters"></a>

이 작업을 사용하여 AWS IoT 규칙을 생성할 때 다음 정보를 지정해야 합니다.

`putAssetPropertyValueEntries`  
각각 다음 정보를 포함하는 자산 속성 값 항목 목록입니다.    
`propertyAlias`  
(선택 사항) 자산 속성과 연결된 속성 별칭입니다. `propertyAlias` 또는 `assetId`와 `propertyId` 둘 다 지정합니다. 속성 별칭에 대한 자세한 내용은 *AWS IoT SiteWise 사용 설명서*의 [자산 속성에 산업 데이터 스트림 매핑](https://docs.aws.amazon.com/iot-sitewise/latest/userguide/connect-data-streams.html)을 참조하세요.  
[대체 템플릿](iot-substitution-templates.md) 지원: 예  
`assetId`  
(선택 사항) AWS IoT SiteWise 자산의 ID입니다. `propertyAlias` 또는 `assetId`와 `propertyId` 둘 다 지정합니다.  
[대체 템플릿](iot-substitution-templates.md) 지원: 예  
`propertyId`  
(선택 사항) 자산 속성 ID입니다. `propertyAlias` 또는 `assetId`와 `propertyId` 둘 다 지정합니다.  
[대체 템플릿](iot-substitution-templates.md) 지원: 예  
`entryId`  
(선택 사항) 이 항목의 고유 식별자입니다. 오류 발생 시 오류를 유발한 메시지를 더 잘 추적하도록 `entryId`를 정의합니다. 기본값은 새 UUID입니다.  
[대체 템플릿](iot-substitution-templates.md) 지원: 예  
`propertyValues`  
각각 다음 형식의 타임스탬프, 품질 및 값(TQV)을 포함하는 삽입할 속성 값 목록입니다.    
`timestamp`  
다음 정보가 포함된 타임스탬프 구조입니다.    
`timeInSeconds`  
Unix Epoch 시간에 초 단위 시간을 포함하는 문자열입니다. 메시지 페이로드에 타임스탬프가 없는 경우 현재 시간을 밀리초 단위로 반환하는 [timestamp()](iot-sql-functions.md#iot-function-timestamp)를 사용할 수 있습니다. 이 시간을 초로 변환하려면 대체 템플릿 **${floor(timestamp() / 1E3)}**을 사용할 수 있습니다.  
[대체 템플릿](iot-substitution-templates.md) 지원: 예  
`offsetInNanos`  
(선택 사항) 초 단위 시간에서 나노초 시간 오프셋을 포함하는 문자열입니다. 메시지 페이로드에 타임스탬프가 없는 경우 현재 시간을 밀리초 단위로 반환하는 [timestamp()](iot-sql-functions.md#iot-function-timestamp)를 사용할 수 있습니다. 해당 시간에서 나노초 시간 오프셋을 계산하려면 대체 템플릿 **${(timestamp() % 1E3) \* 1E6}**을 사용할 수 있습니다.  
[대체 템플릿](iot-substitution-templates.md) 지원: 예
Unix epoch 시간과 관련하여는 타임스탬프가 과거 최대 7일, 향후 최대 5분인 항목만 AWS IoT SiteWise 허용합니다.  
`quality`  
(선택 사항) 값의 품질을 설명하는 문자열입니다. 유효한 값: `GOOD`, `BAD`, `UNCERTAIN`.  
[대체 템플릿](iot-substitution-templates.md) 지원: 예  
`value`  
자산 속성의 데이터 형식에 따라 다음 값 필드 중 하나를 포함하는 값 구조입니다.    
`booleanValue`  
(선택 사항) 값 항목의 부울 값을 포함하는 문자열입니다.  
[대체 템플릿](iot-substitution-templates.md) 지원: 예  
`doubleValue`  
(선택 사항) 값 항목의 실수 값을 포함하는 문자열입니다.  
[대체 템플릿](iot-substitution-templates.md) 지원: 예  
`integerValue`  
(선택 사항) 값 항목의 정수 값을 포함하는 문자열입니다.  
[대체 템플릿](iot-substitution-templates.md) 지원: 예  
`stringValue`  
(선택 사항) 값 항목의 문자열 값입니다.  
[대체 템플릿](iot-substitution-templates.md) 지원: 예

`roleArn`  
자산 속성 값을 보낼 수 있는 AWS IoT 권한을 부여하는 IAM 역할의 ARN입니다 AWS IoT SiteWise. 자세한 내용은 [요구 사항](#iotsitewise-rule-action-requirements) 단원을 참조하십시오.  
[대체 템플릿](iot-substitution-templates.md) 지원: 아니오

## 예제
<a name="iotsitewise-rule-action-examples"></a>

다음 JSON 예제에서는 AWS IoT 규칙에서 기본 IoT SiteWise 작업을 정의합니다.

```
{
    "topicRulePayload": {
        "sql": "SELECT * FROM 'some/topic'",
        "ruleDisabled": false,
        "awsIotSqlVersion": "2016-03-23",
        "actions": [
            {
                "iotSiteWise": {
                    "putAssetPropertyValueEntries": [
                        {
                            "propertyAlias": "/some/property/alias",
                            "propertyValues": [
                                {
                                    "timestamp": {
                                        "timeInSeconds": "${my.payload.timeInSeconds}"
                                    },
                                    "value": {
                                        "integerValue": "${my.payload.value}"
                                    }
                                }
                            ]
                        }
                    ],
                    "roleArn": "arn:aws:iam::123456789012:role/aws_iot_sitewise"
                }
            }
        ]
    }
}
```

다음 JSON 예제에서는 AWS IoT 규칙에서 IoT SiteWise 작업을 정의합니다. 이 예제에서는 주제를 속성 별칭 및 `timestamp()` 함수로 사용합니다. 예를 들어 에 데이터를 `/company/windfarm/3/turbine/7/rpm`에 게시하는 경우 이 작업은 지정한 주제와 동일한 속성 별칭을 사용하여 데이터를 자산 속성에 전송합니다.

```
{
    "topicRulePayload": {
        "sql": "SELECT * FROM '/company/windfarm/+/turbine/+/+'",
        "ruleDisabled": false,
        "awsIotSqlVersion": "2016-03-23",
        "actions": [
            {
                "iotSiteWise": {
                    "putAssetPropertyValueEntries": [
                        {
                            "propertyAlias": "${topic()}",
                            "propertyValues": [
                                {
                                    "timestamp": {
                                        "timeInSeconds": "${floor(timestamp() / 1E3)}",
                                        "offsetInNanos": "${(timestamp() % 1E3) * 1E6}"
                                    },
                                    "value": {
                                        "doubleValue": "${my.payload.value}"
                                    }
                                }
                            ]
                        }
                    ],
                    "roleArn": "arn:aws:iam::123456789012:role/aws_iot_sitewise"
                }
            }
        ]
    }
}
```

## 다음 사항도 참조하세요.
<a name="iotsitewise-rule-action-see-also"></a>
+ *AWS IoT SiteWise 사용 설명서*의 [AWS IoT SiteWise란 무엇입니까?](https://docs.aws.amazon.com/iot-sitewise/latest/userguide/what-is-sitewise.html)
+ *AWS IoT SiteWise 사용 설명서*의 [AWS IoT Core 규칙을 사용하여 데이터 수집](https://docs.aws.amazon.com/iot-sitewise/latest/userguide/iot-rules.html) 
+ *AWS IoT SiteWise 사용 설명서*의 [AWS IoT 사물 AWS IoT SiteWise 에서 로 데이터 수집](https://docs.aws.amazon.com/iot-sitewise/latest/userguide/ingest-data-from-iot-things.html) 
+ *AWS IoT SiteWise 사용 설명서*의 [AWS IoT SiteWise 규칙 작업 문제 해결](https://docs.aws.amazon.com/iot-sitewise/latest/userguide/troubleshoot-rule.html) 