

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

# 디바이스 위치로 트래커를 업데이트합니다.
<a name="send-location-updates"></a>

디바이스를 추적하기 위해 디바이스 위치 업데이트를 트래커에 게시할 수 있습니다. 나중에 트래커 리소스에서 이러한 디바이스 위치 또는 디바이스 위치 기록을 검색할 수 있습니다.

각 위치 업데이트에는 디바이스 ID, 타임스탬프, 위치가 포함되어야 합니다. 필요에 따라 정확도 및 최대 3개의 키-값 쌍을 비롯한 기타 메타데이터를 포함시킬 수 있습니다.

트래커가 하나 이상의 지오펜스 컬렉션에 연결된 경우, 트래커에 지정한 필터링 규칙에 따라 해당 지오펜스를 기준으로 업데이트가 평가됩니다. (디바이스가 영역 내부에서 외부로 또는 그 반대로 이동하여) 지오펜스 영역을 침해하는 경우 EventBridge에서 이벤트를 받게 됩니다. 이러한 `ENTER` 이벤트 또는 `EXIT` 이벤트에는 디바이스 ID, 타임스탬프, 관련 메타데이터를 비롯한 위치 업데이트 세부 정보가 포함됩니다.

**참고**  
위치 필터링에 대한 자세한 내용은 [트래커 생성](start-create-tracker.md) 섹션을 참조하세요.  
지오펜스 이벤트에 대한 자세한 내용은 [Amazon EventBridge를 사용하여 Amazon Location Service 이벤트에 대응하기](location-events.md) 단원을 참조하세요.

다음 방법 중 하나를 사용하여 디바이스 업데이트를 전송합니다.
+ [MQTT 업데이트를 IoT Core 리소스로 전송](tracking-using-mqtt.md)하고 트래커 리소스에 연결합니다. AWS IoT 
+ Amazon Location Trackers API, AWS CLI또는 Amazon Location API를 사용하여 위치 업데이트를 전송합니다. [AWS SDK](dev-sdks.md)를 사용하여 iOS 또는 Android 애플리케이션에서 API를 호출할 수 있습니다.

------
#### [ API ]

**Amazon Location API를 사용하여 위치 업데이트를 보내려면**

Amazon Location Trackers API에서 `[BatchUpdateDevicePosition](https://docs.aws.amazon.com/location/latest/APIReference/API_WaypointTracking_BatchUpdateDevicePosition.html)` 작업을 사용합니다.

다음 예시에서는 API 요청을 사용하여 *ExampleDevice*에 대한 디바이스 위치 업데이트를 *ExampleTracker* 트래커에 게시합니다.

```
POST /tracking/v0/trackers/ExampleTracker/positions
Content-type: application/json
{
 "Updates": [
    {
    "DeviceId": "1",
    "Position": [
   -123.12245146162303, 49.27521118043802
    ],
    "SampleTime": "2022-10-24T19:09:07.327Z",
     "PositionProperties": { 
            "name" : "device1" 
         },
         "Accuracy": { 
            "Horizontal": 10
         }
    },

    {
    "DeviceId": "2",
    "Position": [
   -123.1230104928471, 49.27752402723152
    ],
    "SampleTime": "2022-10-02T19:09:07.327Z"
    },
    {
    "DeviceId": "3",
    "Position": [
    -123.12325592118916, 49.27340530543111
    ],
    "SampleTime": "2022-10-02T19:09:07.327Z"
    },
    {
    "DeviceId": "4",
    "Position": [
    -123.11958813096311, 49.27774641063121
    ],
    "SampleTime": "2022-10-02T19:09:07.327Z"
    },
    {
    "DeviceId": "5",
    "Position": [
    -123.1277418058896, 49.2765989015285
    ],
    "SampleTime": "2022-10-02T19:09:07.327Z"
    },
    {
    "DeviceId": "6",
    "Position": [
   -123.11964267059481, 49.274188155916534
    ],
    "SampleTime": "2022-10-02T19:09:07.327Z"
    }
    ]
}
```

------
#### [ AWS CLI ]

** AWS CLI 명령을 사용하여 위치 업데이트를 전송하려면**

`[batch-update-device-position](https://docs.aws.amazon.com/cli/latest/reference/location/batch-update-device-position.html)` 명령을 사용합니다.

다음 예제에서는 AWS CLI 를 사용하여 *ExampleDevice-1* 및 *ExampleDevice-2*에 대한 디바이스 위치 업데이트를 트래커 *ExampleTracker*에 게시합니다.

```
aws location batch-update-device-position \
--tracker-name ExampleTracker \
--updates '[{"DeviceId":"ExampleDevice-1","Position":[-123.123,47.123],"SampleTime":"2021-11-30T21:47:25.149Z"},{"DeviceId":"ExampleDevice-2","Position":[-123.123,47.123],"SampleTime":"2021-11-30T21:47:25.149Z","Accuracy":{"Horizontal":10.30},"PositionProperties":{"field1":"value1","field2":"value2"}}]'
```

------