update method
Updates information in an existing table.
The update method replaces the entire Table resource, whereas the patch method only replaces fields that are provided in the submitted Table resource.
request
- The metadata request object.
Request parameters:
projectId
- Required. Project ID of the table to update
Value must have pattern ^\[^/\]+$
.
datasetId
- Required. Dataset ID of the table to update
Value must have pattern ^\[^/\]+$
.
tableId
- Required. Table ID of the table to update
Value must have pattern ^\[^/\]+$
.
autodetectSchema
- Optional. When true will autodetect schema, else will
keep original schema
$fields
- Selector specifying which fields to include in a partial
response.
Completes with a Table.
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<Table> update(
Table request,
core.String projectId,
core.String datasetId,
core.String tableId, {
core.bool? autodetectSchema,
core.String? $fields,
}) async {
final body_ = convert.json.encode(request);
final queryParams_ = <core.String, core.List<core.String>>{
if (autodetectSchema != null)
'autodetect_schema': ['${autodetectSchema}'],
if ($fields != null) 'fields': [$fields],
};
final url_ = 'projects/' +
core.Uri.encodeFull('$projectId') +
'/datasets/' +
core.Uri.encodeFull('$datasetId') +
'/tables/' +
core.Uri.encodeFull('$tableId');
final response_ = await _requester.request(
url_,
'PUT',
body: body_,
queryParams: queryParams_,
);
return Table.fromJson(response_ as core.Map<core.String, core.dynamic>);
}