read method
Reads rows from the database using key lookups and scans, as a simple key/value style alternative to ExecuteSql.
This method can't be used to return a result set larger than 10 MiB; if
the read matches more data than that, the read fails with a
FAILED_PRECONDITION error. Reads inside read-write transactions might
return ABORTED. If this occurs, the application should restart the
transaction from the beginning. See Transaction for more details. Larger
result sets can be yielded in streaming fashion by calling StreamingRead
instead.
request - The metadata request object.
Request parameters:
session - Required. The session in which the read should be performed.
Value must have pattern
^projects/\[^/\]+/instances/\[^/\]+/databases/\[^/\]+/sessions/\[^/\]+$.
$fields - Selector specifying which fields to include in a partial
response.
Completes with a ResultSet.
Completes with a commons.ApiRequestError if the API endpoint returned an error.
If the used http.Client completes with an error when making a REST call,
this method will complete with the same error.
Implementation
async.Future<ResultSet> read(
ReadRequest request,
core.String session, {
core.String? $fields,
}) async {
final body_ = convert.json.encode(request);
final queryParams_ = <core.String, core.List<core.String>>{
if ($fields != null) 'fields': [$fields],
};
final url_ = 'v1/' + core.Uri.encodeFull('$session') + ':read';
final response_ = await _requester.request(
url_,
'POST',
body: body_,
queryParams: queryParams_,
);
return ResultSet.fromJson(response_ as core.Map<core.String, core.dynamic>);
}