AWS IoT SiteWise - AWS IoT Core

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

AWS IoT SiteWise

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

AWS IoT モノからデータを取り込む方法を示すチュートリアルに従うことができます。詳細については、「 ユーザーガイド」の AWS IoT 「モノから への AWS IoT SiteWise データの取り込み」チュートリアルまたはAWS IoT 「 Core ルールを使用したデータの取り込み」セクションを参照してください。 AWS IoT SiteWise

要件

このルールアクションには、以下の要件があります。

  • オペレーションを実行するために が引き受け AWS IoT ることができる IAM ロールiotsitewise:BatchPutAssetPropertyValue。詳細については、「AWS IoT ルールに必要なアクセス許可を付与する」を参照してください。

    次の信頼ポリシーの例をロールにアタッチできます。

    { "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 を参照してください。

パラメータ

このアクションで AWS IoT ルールを作成するときは、次の情報を指定する必要があります。

putAssetPropertyValueEntries

アセットプロパティ値エントリのリストで、それぞれに次の情報が含まれています。

propertyAlias

(オプション) アセットプロパティに関連付けられたプロパティエイリアス。propertyAlias または assetIdpropertyId の両方のいずれかを指定します。プロパティのエイリアスの詳細については、AWS IoT SiteWise ユーザーガイドMapping industrial data streams to asset properties を参照してください。

置換テンプレートをサポート: はい

assetId

(オプション) AWS IoT SiteWise アセットの ID。propertyAlias または assetIdpropertyId の両方のいずれかを指定します。

置換テンプレートをサポート: はい

propertyId

(オプション) アセットのプロパティの ID。propertyAlias または assetIdpropertyId の両方のいずれかを指定します。

置換テンプレートをサポート: はい

entryId

(オプション) このエントリの一意な識別子。entryId を定義して、障害発生時にエラーの原因となったメッセージをより正確に追跡します。デフォルトは新しい UUID です。

置換テンプレートをサポート: はい

propertyValues

次の形式でタイムスタンプ、品質、値 (TQV) を含み、挿入するプロパティ値のリスト。

timestamp

次の情報を含むタイムスタンプ構造体。

timeInSeconds

時間を秒単位で含む文字列 (Unix エポック時間)。メッセージペイロードにタイムスタンプがない場合は、timestamp() を使用して、現在の時間をミリ秒単位で返すことができます。この時間を秒に変換するには、次の置換テンプレートを使用できます: ${floor(timestamp() / 1E3)}

置換テンプレートをサポート: はい

offsetInNanos

(オプション) 秒単位の時間からのナノ秒の時間オフセットを含む文字列。メッセージペイロードにタイムスタンプがない場合は、timestamp() を使用して、現在の時間をミリ秒単位で返すことができます。その時点からのナノ秒のオフセットを計算するには、次の置換テンプレートを使用できます: ${(timestamp() % 1E3) * 1E6}

置換テンプレートをサポート: はい

Unix エポックタイムに関して、 は、過去最大 7 日、将来最大 5 分までのタイムスタンプを持つエントリのみ AWS IoT SiteWise を受け入れます。

quality

(オプション) 値の品質を表す文字列。有効な値: GOODBADUNCERTAIN

置換テンプレートをサポート: はい

value

アセットプロパティのデータ型に応じて、次のいずれかの値フィールドを含む値構造体。

booleanValue

(オプション) 値エントリのブール値を含む文字列。

置換テンプレートをサポート: はい

doubleValue

(オプション) 値エントリの double 値を含む文字列。

置換テンプレートをサポート: はい

integerValue

(オプション) 値エントリの整数値を含む文字列。

置換テンプレートをサポート: はい

stringValue

(オプション) 値エントリの文字列値。

置換テンプレートをサポート: はい

roleArn

アセットプロパティ値を に送信する AWS IoT アクセス許可を付与する IAM ロールの ARN AWS IoT SiteWise。詳細については、「要件」を参照してください。

置換テンプレートをサポート: いいえ

次の JSON 例では、 ルールで基本的な IoT SiteWise AWS IoT アクションを定義します。

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

以下も参照してください。