위치 - AWS IoT Core

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

위치

Location(location) 작업은 지리적 위치 데이터를 Amazon Location Service로 전송합니다.

요구 사항

이 규칙 작업은 다음 요구 사항을 충족해야 합니다.

  • 작업을 수행할 AWS IoT 수 있는 IAM 역할. geo:BatchUpdateDevicePosition 자세한 정보는 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 값은 다음 두 값으로 구성됩니다.

  • 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-name mytracker
{ "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란 무엇인가요?)