get method
- String bucket,
- String object, {
- String? generation,
- String? ifGenerationMatch,
- String? ifGenerationNotMatch,
- String? ifMetagenerationMatch,
- String? ifMetagenerationNotMatch,
- String? projection,
- String? restoreToken,
- bool? softDeleted,
- String? userProject,
- String? $fields,
- DownloadOptions downloadOptions = commons.DownloadOptions.metadata,
Retrieves an object or its metadata.
Request parameters:
bucket
- Name of the bucket in which the object resides.
object
- Name of the object. For information about how to URL encode
object names to be path safe, see
Encoding URI Path Parts.
generation
- If present, selects a specific revision of this object (as
opposed to the latest version, the default).
ifGenerationMatch
- Makes the operation conditional on whether the
object's current generation matches the given value. Setting to 0 makes
the operation succeed only if there are no live versions of the object.
ifGenerationNotMatch
- Makes the operation conditional on whether the
object's current generation does not match the given value. If no live
object exists, the precondition fails. Setting to 0 makes the operation
succeed only if there is a live version of the object.
ifMetagenerationMatch
- Makes the operation conditional on whether the
object's current metageneration matches the given value.
ifMetagenerationNotMatch
- Makes the operation conditional on whether
the object's current metageneration does not match the given value.
projection
- Set of properties to return. Defaults to noAcl.
Possible string values are:
- "full" : Include all properties.
- "noAcl" : Omit the owner, acl property.
restoreToken
- Restore token used to differentiate soft-deleted objects
with the same name and generation. Only applicable for hierarchical
namespace buckets and if softDeleted is set to true. This parameter is
optional, and is only required in the rare case when there are multiple
soft-deleted objects with the same name and generation.
softDeleted
- If true, only soft-deleted object versions will be listed.
The default is false. For more information, see
Soft Delete.
userProject
- The project to be billed for this request. Required for
Requester Pays buckets.
$fields
- Selector specifying which fields to include in a partial
response.
downloadOptions
- Options for downloading. A download can be either a
Metadata (default) or Media download. Partial Media downloads are possible
as well.
Completes with a
-
Object for Metadata downloads (see
downloadOptions
). -
commons.Media for Media downloads (see
downloadOptions
).
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<core.Object> get(
core.String bucket,
core.String object, {
core.String? generation,
core.String? ifGenerationMatch,
core.String? ifGenerationNotMatch,
core.String? ifMetagenerationMatch,
core.String? ifMetagenerationNotMatch,
core.String? projection,
core.String? restoreToken,
core.bool? softDeleted,
core.String? userProject,
core.String? $fields,
commons.DownloadOptions downloadOptions = commons.DownloadOptions.metadata,
}) async {
final queryParams_ = <core.String, core.List<core.String>>{
if (generation != null) 'generation': [generation],
if (ifGenerationMatch != null) 'ifGenerationMatch': [ifGenerationMatch],
if (ifGenerationNotMatch != null)
'ifGenerationNotMatch': [ifGenerationNotMatch],
if (ifMetagenerationMatch != null)
'ifMetagenerationMatch': [ifMetagenerationMatch],
if (ifMetagenerationNotMatch != null)
'ifMetagenerationNotMatch': [ifMetagenerationNotMatch],
if (projection != null) 'projection': [projection],
if (restoreToken != null) 'restoreToken': [restoreToken],
if (softDeleted != null) 'softDeleted': ['${softDeleted}'],
if (userProject != null) 'userProject': [userProject],
if ($fields != null) 'fields': [$fields],
};
final url_ = 'b/' +
commons.escapeVariable('$bucket') +
'/o/' +
commons.escapeVariable('$object');
final response_ = await _requester.request(
url_,
'GET',
queryParams: queryParams_,
downloadOptions: downloadOptions,
);
if (downloadOptions.isMetadataDownload) {
return Object.fromJson(response_ as core.Map<core.String, core.dynamic>);
} else {
return response_ as commons.Media;
}
}