翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
ロケーション
Location (location
) アクションによって、地理的位置データを Amazon Location Service に送信します。
要件
このルールアクションには、以下の要件があります。
-
geo:BatchUpdateDevicePosition
オペレーションの実行を引き受け AWS IoT ることができるIAMロール。詳細については、「必要なアクセスを AWS IoT ルールに付与する」を参照してください。AWS IoT コンソールで、 AWS IoT このルールアクションを実行するためのロールを選択または作成できます。
パラメータ
このアクションで AWS IoT ルールを作成するときは、次の情報を指定する必要があります。
deviceId
-
位置データを提供するデバイスの一意の ID。詳細については、「Amazon Location Service APIリファレンス
DeviceId
」の「」を参照してください。置換テンプレートをサポート: はい
latitude
-
デバイスの位置の緯度を表す double 値として評価される文字列。
置換テンプレートをサポート: はい
longitude
-
デバイスの位置の経度を表す double 値として評価される文字列。
置換テンプレートをサポート: はい
roleArn
-
Amazon Location Service ドメインへのアクセスを許可するIAMロール。詳細については、「要件」を参照してください。
timestamp
-
位置データがサンプリングされた時刻。デフォルト値は、MQTTメッセージが処理された時刻です。
timestamp
値は、次の 2 つの値で構成されます。-
value
: 長いエポック時間の値を返す式。time_to_epoch(String, String) 関数を使用して、メッセージペイロードで渡される日付または時刻の値から有効なタイムスタンプを作成できます。置換テンプレートのサポート: はい -
unit
(オプション):value
で説明されている式の結果として生じるタイムスタンプ値の精度。有効な値:SECONDS
|MILLISECONDS
|MICROSECONDS
|NANOSECONDS
。デフォルト:MILLISECONDS
。代替テンプレート : APIおよび AWS CLI のみをサポートします。
-
trackerName
-
Location が更新される Amazon Location トラッカーリソースの名前。詳細については、Amazon Location Service デベロッパーガイドの「トラッカー」を参照してください。
代替テンプレート : APIおよび AWS CLI のみをサポート
例
次のJSON例では、 AWS IoT ルールで Location アクションを定義します。
{ "topicRulePayload": { "sql": "SELECT * FROM 'some/topic'", "ruleDisabled": false, "awsIotSqlVersion": "2016-03-23", "actions": [ { "location": { "roleArn": "arn:aws:iam::123454962127:role/service-role/ExampleRole", "trackerName": "MyTracker", "deviceId": "001", "sampleTime": { "value": "${timestamp()}", "unit": "MILLISECONDS" }, "latitude": "-12.3456", "longitude": "65.4321" } } ] } }
次のJSON例では、 AWS IoT ルール内の代替テンプレートを使用して Location アクションを定義します。
{ "topicRulePayload": { "sql": "SELECT * FROM 'some/topic'", "ruleDisabled": false, "awsIotSqlVersion": "2016-03-23", "actions": [ { "location": { "roleArn": "arn:aws:iam::123456789012:role/service-role/ExampleRole", "trackerName": "${TrackerName}", "deviceId": "${DeviceID}", "timestamp": { "value": "${timestamp()}", "unit": "MILLISECONDS" }, "latitude": "${get(position, 0)}", "longitude": "${get(position, 1)}" } } ] } }
次のMQTTペイロード例は、前の例の代替テンプレートがデータにアクセスする方法を示しています。get-device-position-history CLI コマンドを使用して、MQTTペイロードデータがロケーショントラッカーに配信されていることを確認します。
{ "TrackerName": "mytracker", "DeviceID": "001", "position": [ "-12.3456", "65.4321" ] }
aws location get-device-position-history --device-id
001
--tracker-namemytracker
{ "DevicePositions": [ { "DeviceId": "001", "Position": [ -12.3456, 65.4321 ], "ReceivedTime": "2022-11-11T01:31:54.464000+00:00", "SampleTime": "2022-11-11T01:31:54.308000+00:00" } ] }
以下も参照してください。
-
Amazon Location Service デベロッパーガイドの「Amazon Location Service とは?」