getLatestTabularData method
Gets the most recent tabular data captured from the specified data source, as long as it was synced within the last year.
_viam = await Viam.withApiKey(
dotenv.env['API_KEY_ID'] ?? '',
dotenv.env['API_KEY'] ?? ''
);
final dataClient = _viam.dataClient;
try {
// Get latest tabular data
final response = await dataClient.getLatestTabularData(
"<YOUR-PART-ID>",
"movement_sensor-1",
"rdk:component:movement_sensor",
"Position"
);
print('Successfully retrieved latest tabular data: $response');
} catch (e) {
print('Error retrieving latest tabular data: $e');
}
For more information, see Data Client API.
Implementation
Future<({DateTime timeCaptured, DateTime timeSynced, Map<String, dynamic> payload})?> getLatestTabularData(
String partId,
String resourceName,
String resourceSubtype,
String methodName,
) async {
final request = GetLatestTabularDataRequest()
..partId = partId
..resourceName = resourceName
..resourceSubtype = resourceSubtype
..methodName = methodName;
final response = await _dataClient.getLatestTabularData(request);
if (!response.hasPayload() || !response.hasTimeCaptured() || !response.hasTimeSynced()) {
return null;
}
return (
timeCaptured: response.timeCaptured.toDateTime(),
timeSynced: response.timeSynced.toDateTime(),
payload: response.payload.toMap(),
);
}