기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
위치
Location(location
) 작업은 지리적 위치 데이터를 Amazon Location Service로 전송합니다.
요구 사항
이 규칙 작업은 다음 요구 사항을 충족해야 합니다.
-
geo:BatchUpdateDevicePosition
작업을 수행하기 위해 수임할 AWS IoT 수 있는 IAM 역할입니다. 자세한 내용은 필요한 AWS IoT 액세스 권한 규칙 부여 단원을 참조하십시오.AWS IoT 콘솔에서 가 이 규칙 작업을 수행하도록 허용할 역할을 선택하거나 생성할 수 AWS IoT 있습니다.
파라미터
이 작업으로 AWS IoT 규칙을 생성할 때 다음 정보를 지정해야 합니다.
deviceId
-
위치 데이터를 제공하는 디바이스의 고유 ID입니다. 자세한 내용은 Amazon Location Service 참조
DeviceId
의 섹션을 참조하세요. API대체 템플릿 지원: 예
latitude
-
디바이스 위치의 위도를 나타내는 double 값으로 평가되는 문자열입니다.
대체 템플릿 지원: 예
longitude
-
디바이스 위치의 경도를 나타내는 double 값으로 평가되는 문자열입니다.
대체 템플릿 지원: 예
roleArn
-
Amazon Location Service 도메인에 대한 액세스를 허용하는 IAM 역할입니다. 자세한 내용은 요구 사항 단원을 참조하십시오.
timestamp
-
위치 데이터가 샘플링된 시간입니다. 기본값은 MQTT 메시지가 처리된 시간입니다.
timestamp
값은 다음 두 값으로 구성됩니다.-
value
: 긴 Epoch 시간 값을 반환하는 표현식입니다. time_to_epoch(String, String) 함수를 사용하여 메시지 페이로드에 전달된 날짜 또는 시간 값에서 유효한 타임스탬프를 만들 수 있습니다. 대체 템플릿 지원: 예. -
unit
: (선택 사항)value
에 설명된 표현식에서 기인하는 타임스탬프 값의 정밀도입니다. 유효한 값:SECONDS
|MILLISECONDS
|MICROSECONDS
|NANOSECONDS
. 기본값은MILLISECONDS
입니다. 대체 템플릿 : API 및 AWS CLI 만 지원합니다.
-
trackerName
-
위치가 업데이트되는 Amazon Location의 추적기 리소스 이름입니다. 자세한 정보는 Amazon Location Service 개발자 안내서의 추적기를 참조하세요.
대체 템플릿 : API 및 AWS CLI 만 지원
예시
다음 JSON 예제에서는 AWS IoT 규칙에서 위치 작업을 정의합니다.
{ "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 규칙의 대체 템플릿을 사용하여 위치 작업을 정의합니다.
{ "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 Developer Guide(Amazon Location Service 개발자 안내서)의 What is Amazon Location Service?(Amazon Location Service란 무엇인가요?)