updateTracker method
Updates the specified properties of a given tracker resource.
May throw AccessDeniedException.
May throw InternalServerException.
May throw ResourceNotFoundException.
May throw ThrottlingException.
May throw ValidationException.
Parameter trackerName :
The name of the tracker resource to update.
Parameter description :
Updates the description for the tracker resource.
Parameter eventBridgeEnabled :
Whether to enable position UPDATE events from this tracker to
be sent to EventBridge.
Parameter kmsKeyEnableGeospatialQueries :
Enables GeospatialQueries for a tracker that uses a Amazon
Web Services KMS customer managed key.
This parameter is only used if you are using a KMS customer managed key.
Parameter positionFiltering :
Updates the position filtering for the tracker resource.
Valid values:
-
TimeBased- Location updates are evaluated against linked geofence collections, but not every location update is stored. If your update frequency is more often than 30 seconds, only one update per 30 seconds is stored for each unique device ID. -
DistanceBased- If the device has moved less than 30 m (98.4 ft), location updates are ignored. Location updates within this distance are neither evaluated against linked geofence collections, nor stored. This helps control costs by reducing the number of geofence evaluations and historical device positions to paginate through. Distance-based filtering can also reduce the effects of GPS noise when displaying device trajectories on a map. -
AccuracyBased- If the device has moved less than the measured accuracy, location updates are ignored. For example, if two consecutive updates from a device have a horizontal accuracy of 5 m and 10 m, the second update is ignored if the device has moved less than 15 m. Ignored location updates are neither evaluated against linked geofence collections, nor stored. This helps educe the effects of GPS noise when displaying device trajectories on a map, and can help control costs by reducing the number of geofence evaluations.
Parameter pricingPlan :
No longer used. If included, the only allowed value is
RequestBasedUsage.
Parameter pricingPlanDataSource :
This parameter is no longer used.
Implementation
Future<UpdateTrackerResponse> updateTracker({
required String trackerName,
String? description,
bool? eventBridgeEnabled,
bool? kmsKeyEnableGeospatialQueries,
PositionFiltering? positionFiltering,
PricingPlan? pricingPlan,
String? pricingPlanDataSource,
}) async {
final $payload = <String, dynamic>{
if (description != null) 'Description': description,
if (eventBridgeEnabled != null) 'EventBridgeEnabled': eventBridgeEnabled,
if (kmsKeyEnableGeospatialQueries != null)
'KmsKeyEnableGeospatialQueries': kmsKeyEnableGeospatialQueries,
if (positionFiltering != null)
'PositionFiltering': positionFiltering.value,
if (pricingPlan != null) 'PricingPlan': pricingPlan.value,
if (pricingPlanDataSource != null)
'PricingPlanDataSource': pricingPlanDataSource,
};
final response = await _protocol.send(
payload: $payload,
method: 'PATCH',
requestUri: '/tracking/v0/trackers/${Uri.encodeComponent(trackerName)}',
exceptionFnMap: _exceptionFns,
);
return UpdateTrackerResponse.fromJson(response);
}