BinaryUpdate method
Updates the entire contents of a Binary resource.
If the specified resource does not exist and the FHIR store has
enable_update_create set, creates the resource with the client-specified
ID. It is strongly advised not to include or encode any sensitive data
such as patient identifiers in client-specified resource IDs. Those IDs
are part of the FHIR resource path recorded in Cloud Audit Logs and
Pub/Sub notifications. Those IDs can also be contained in reference fields
within other resources. This method can be used to update a Binary
resource either by using one of the accepted FHIR JSON content types, or
as a raw data stream. If a resource is updated with this method using the
FHIR content type this method's behavior is the same as update
. If a
resource type other than Binary is used in the request it will be treated
in the same way as non-FHIR data. When a non-FHIR content type is used in
the request, a Binary resource will be generated using the ID from the
resource path, and the uploaded data will be stored in the content
field
(DSTU2
and STU3
), or the data
field (R4
). The Binary resource's
contentType
will be filled in using the value of the Content-Type
header, and the securityContext
field (not present in DSTU2
) will be
populated from the X-Security-Context
header if it exists. At this time
securityContext
has no special behavior in the Cloud Healthcare API.
Note: the limit on data ingested through this method is 2 GB. For best
performance, use a non-FHIR data type instead of wrapping the data in a
Binary resource. Some of the Healthcare API features, such as
exporting to BigQuery
or
Pub/Sub notifications
with full resource content, do not support Binary resources that are
larger than 10 MB. In these cases the resource's data
field will be
omitted. Instead, the
"http://hl7.org/fhir/StructureDefinition/data-absent-reason" extension
will be present to indicate that including the data is unsupported
. On
success, an empty 200 OK response will be returned, or a 201 Created if
the resource did not exit. The resource's ID and version are returned in
the Location header. Using Prefer: representation=resource
is not
allowed for this method. The definition of the Binary REST API can be
found at https://hl7.org/fhir/binary.html#rest.
request
- The metadata request object.
Request parameters:
name
- Required. The name of the resource to update.
Value must have pattern
^projects/\[^/\]+/locations/\[^/\]+/datasets/\[^/\]+/fhirStores/\[^/\]+/fhir/Binary/\[^/\]+$
.
$fields
- Selector specifying which fields to include in a partial
response.
Completes with a HttpBody.
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<HttpBody> BinaryUpdate(
HttpBody request,
core.String name, {
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('$name');
final response_ = await _requester.request(
url_,
'PUT',
body: body_,
queryParams: queryParams_,
);
return HttpBody.fromJson(response_ as core.Map<core.String, core.dynamic>);
}