binaryDataByFilter method
Filter and download binary data. The data will be paginated into pages of limit
items, and the last ID will be included in the
returned response.
_viam = await Viam.withApiKey(
dotenv.env['API_KEY_ID'] ?? '',
dotenv.env['API_KEY'] ?? ''
);
final dataClient = _viam.dataClient;
try {
// Create a filter to target specific binary data
final filter = Filter(
componentName: "camera-1",
);
final response = await dataClient.binaryDataByFilter(filter: filter, limit: 1);
print('Number of items: ${response.count.toInt()}');
print('Total size: ${response.totalSizeBytes.toInt()} bytes');
for (var dataPoint in response.data) {
print(dataPoint.binary);
print(dataPoint.metadata);
}
print('Successfully retrieved binary data by filter');
} catch (e) {
print('Error retrieving binary data by filter: $e');
}
For more information, see Data Client API.
Implementation
Future<BinaryDataByFilterResponse> binaryDataByFilter(
{Filter? filter, int? limit, Order? sortOrder, String? last, bool countOnly = false, bool includeBinary = false}) async {
final dataRequest = _makeDataRequest(filter, limit, last, sortOrder);
final request = BinaryDataByFilterRequest()
..dataRequest = dataRequest
..countOnly = countOnly
..includeBinary = includeBinary;
return await _dataClient.binaryDataByFilter(request);
}