

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

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

 AWS IoT SiteWise (`iotSiteWise`) アクションは、MQTT メッセージから のアセットプロパティにデータを送信します AWS IoT SiteWise。

 AWS IoT モノからデータを取り込む方法を示すチュートリアルに従うことができます。詳細については、[AWS IoT SiteWise 「 ユーザーガイド」の AWS IoT 「 ](https://docs.aws.amazon.com/iot-sitewise/latest/userguide/ingest-data-from-iot-things.html)へのデータの取り込み」チュートリアルまたは[AWS IoT 「 Core ルールを使用したデータの取り込み](https://docs.aws.amazon.com/iot-sitewise/latest/userguide/iot-rules.html)」セクションを参照してください。 *AWS IoT SiteWise *

## 要件
<a name="iotsitewise-rule-action-requirements"></a>

このルールアクションには、以下の要件があります。
+ オペレーションを実行するために が引き受け AWS IoT ることができる IAM ロール`iotsitewise:BatchPutAssetPropertyValue`。詳細については、「[必要なアクセスを 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 ユーザーガイド*の [Mapping industrial data streams to asset properties](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 エポック時間)。メッセージペイロードにタイムスタンプがない場合は、[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 エポック時間に関して、 はタイムスタンプが過去最大 7 日、5 分先までのエントリのみ AWS IoT SiteWise を受け入れます。  
`quality`  
(オプション) 値の品質を表す文字列。有効な値: `GOOD`、`BAD`、`UNCERTAIN`。  
[置換テンプレート](iot-substitution-templates.md)をサポート: はい  
`value`  
アセットプロパティのデータ型に応じて、次のいずれかの値フィールドを含む値構造体。    
`booleanValue`  
(オプション) 値エントリのブール値を含む文字列。  
[置換テンプレート](iot-substitution-templates.md)をサポート: はい  
`doubleValue`  
(オプション) 値エントリの double 値を含む文字列。  
[置換テンプレート](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 SiteWiseAWS IoT 「 へのデータの取り込み](https://docs.aws.amazon.com/iot-sitewise/latest/userguide/ingest-data-from-iot-things.html)*AWS IoT SiteWise *」
+ *AWS IoT SiteWise ユーザーガイド*[の AWS IoT SiteWise ルールアクションのトラブルシューティング](https://docs.aws.amazon.com/iot-sitewise/latest/userguide/troubleshoot-rule.html) 