BatchUpdateDevicePosition
Uploads position update data for one or more devices to a tracker resource (up to 10 devices per batch). Amazon Location uses the data when it reports the last known device position and position history. Amazon Location retains location data for 30 days.
Note
Position updates are handled based on the PositionFiltering
property of the tracker. When PositionFiltering
is set to
TimeBased
, updates are evaluated against linked geofence collections,
and location data is stored at a maximum of one position per 30 second interval.
If your update frequency is more often than every 30 seconds, only one update per
30 seconds is stored for each unique device ID.
When PositionFiltering
is set to DistanceBased
filtering, location data is stored and evaluated against linked geofence
collections only if the device has moved more than 30 m (98.4 ft).
When PositionFiltering
is set to AccuracyBased
filtering, location data is stored and evaluated against linked geofence
collections only if the device has moved more than the measured accuracy. For
example, if two consecutive updates from a device have a horizontal accuracy of
5 m and 10 m, the second update is neither stored or evaluated if the device has
moved less than 15 m. If PositionFiltering
is set to
AccuracyBased
filtering, Amazon Location uses the default value
{ "Horizontal": 0}
when accuracy is not provided on a
DevicePositionUpdate
.
Request Syntax
POST /tracking/v0/trackers/TrackerName
/positions HTTP/1.1
Content-type: application/json
{
"Updates": [
{
"Accuracy": {
"Horizontal": number
},
"DeviceId": "string
",
"Position": [ number
],
"PositionProperties": {
"string
" : "string
"
},
"SampleTime": "string
"
}
]
}
URI Request Parameters
The request uses the following URI parameters.
- TrackerName
-
The name of the tracker resource to update.
Length Constraints: Minimum length of 1. Maximum length of 100.
Pattern:
[-._\w]+
Required: Yes
Request Body
The request accepts the following data in JSON format.
- Updates
-
Contains the position update details for each device, up to 10 devices.
Type: Array of DevicePositionUpdate objects
Array Members: Minimum number of 1 item. Maximum number of 10 items.
Required: Yes
Response Syntax
HTTP/1.1 200
Content-type: application/json
{
"Errors": [
{
"DeviceId": "string",
"Error": {
"Code": "string",
"Message": "string"
},
"SampleTime": "string"
}
]
}
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
The following data is returned in JSON format by the service.
- Errors
-
Contains error details for each device that failed to update its position.
Type: Array of BatchUpdateDevicePositionError objects
Errors
For information about the errors that are common to all actions, see Common Errors.
- AccessDeniedException
-
The request was denied because of insufficient access or permissions. Check with an administrator to verify your permissions.
HTTP Status Code: 403
- InternalServerException
-
The request has failed to process because of an unknown server error, exception, or failure.
HTTP Status Code: 500
- ResourceNotFoundException
-
The resource that you've entered was not found in your AWS account.
HTTP Status Code: 404
- ThrottlingException
-
The request was denied because of request throttling.
HTTP Status Code: 429
- ValidationException
-
The input failed to meet the constraints specified by the AWS service.
HTTP Status Code: 400
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following: