- 2.62.1 (latest)
- 2.62.0
- 2.60.0
- 2.59.0
- 2.58.1
- 2.57.0
- 2.56.0
- 2.55.0
- 2.54.0
- 2.53.3
- 2.52.3
- 2.50.0
- 2.49.0
- 2.48.2
- 2.47.0
- 2.46.0
- 2.45.0
- 2.44.1
- 2.43.2
- 2.42.0
- 2.41.0
- 2.40.1
- 2.39.0
- 2.38.0
- 2.37.0
- 2.36.1
- 2.34.0
- 2.33.0
- 2.32.1
- 2.30.1
- 2.29.1
- 2.28.0
- 2.27.1
- 2.24.0
- 2.23.0
- 2.22.6
- 2.21.0
- 2.20.2
- 2.19.0
- 2.18.0
- 2.17.2
- 2.16.0
- 2.15.1
- 2.14.0
- 2.13.1
- 2.12.0
- 2.11.3
- 2.10.0
- 2.9.3
- 2.8.1
- 2.7.1
- 2.6.1
- 2.5.1
- 2.4.5
- 2.3.0
- 2.2.3
- 2.1.10
| GitHub Repository | Product Reference |
Service Description: ## API Overview and Naming Syntax
The Cloud Storage gRPC API allows applications to read and write data through the abstractions of buckets and objects. For a description of these abstractions please see Cloud Storage documentation.
Resources are named as follows:
- Projects are referred to as they are defined by the Resource Manager API, using strings like
projects/123456 or projects/my-string-id. - Buckets are named using string names of the form:
projects/{project}/buckets/{bucket}. For globally unique buckets, _ might be substituted for
the project. - Objects are uniquely identified by their name along with the name of the bucket
they belong to, as separate strings in this API. For example:
` ReadObjectRequest { bucket: 'projects/_/buckets/my-bucket' object: 'my-object' }
Note that object names can contain / characters, which are treated as any other character
(no special directory semantics).
This class provides the ability to make remote calls to the backing service through method
calls that map to API methods. Sample code to get started:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (StorageClient storageClient = StorageClient.create()) {
BucketName name = BucketName.of("[PROJECT]", "[BUCKET]");
storageClient.deleteBucket(name);
}
Note: close() needs to be called on the StorageClient object to clean up resources such as
threads. In the example above, try-with-resources is used, which automatically calls close().
Methods
Method
Description
Method Variants
DeleteBucket
Permanently deletes an empty bucket. The request fails if there are any live or noncurrent objects in the bucket, but the request succeeds if the bucket only contains soft-deleted objects or incomplete uploads, such as ongoing XML API multipart uploads. Does not permanently delete soft-deleted objects.
When this API is used to delete a bucket containing an object that has a soft delete policy enabled, the object becomes soft deleted, and the
softDeleteTime and hardDeleteTime properties are set on the object.
Objects and multipart uploads that were in the bucket at the time of deletion are also retained for the specified retention duration. When a soft-deleted bucket reaches the end of its retention duration, it is permanently deleted. The hardDeleteTime of the bucket always equals or exceeds the expiration time of the last soft-deleted object in the bucket.
**IAM Permissions**:
Requires storage.buckets.delete IAM permission on the bucket.
Request object method variants only take one parameter, a request object, which must be constructed before the call.
deleteBucket(DeleteBucketRequest request)
"Flattened" method variants have converted the fields of the request object into function parameters to enable multiple ways to call the same method.
deleteBucket(BucketName name)
deleteBucket(String name)
Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.
deleteBucketCallable()
GetBucket
Returns metadata for the specified bucket.
**IAM Permissions**:
Requires storage.buckets.get IAM permission on the bucket. Additionally, to return specific bucket metadata, the authenticated user must have the following permissions:
- To return the IAM policies: storage.buckets.getIamPolicy - To return the bucket IP filtering rules: storage.buckets.getIpFilter
Request object method variants only take one parameter, a request object, which must be constructed before the call.
getBucket(GetBucketRequest request)
"Flattened" method variants have converted the fields of the request object into function parameters to enable multiple ways to call the same method.
getBucket(BucketName name)
getBucket(String name)
Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.
getBucketCallable()
CreateBucket
Creates a new bucket.
**IAM Permissions**:
Requires storage.buckets.create IAM permission on the bucket. Additionally, to enable specific bucket features, the authenticated user must have the following permissions:
- To enable object retention using the enableObjectRetention query parameter: storage.buckets.enableObjectRetention - To set the bucket IP filtering rules: storage.buckets.setIpFilter
Request object method variants only take one parameter, a request object, which must be constructed before the call.
createBucket(CreateBucketRequest request)
"Flattened" method variants have converted the fields of the request object into function parameters to enable multiple ways to call the same method.
createBucket(ProjectName parent, Bucket bucket, String bucketId)
createBucket(String parent, Bucket bucket, String bucketId)
Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.
createBucketCallable()
ListBuckets
Retrieves a list of buckets for a given project, ordered lexicographically by name.
**IAM Permissions**:
Requires storage.buckets.list IAM permission on the bucket. Additionally, to enable specific bucket features, the authenticated user must have the following permissions:
- To list the IAM policies: storage.buckets.getIamPolicy - To list the bucket IP filtering rules: storage.buckets.getIpFilter
Request object method variants only take one parameter, a request object, which must be constructed before the call.
listBuckets(ListBucketsRequest request)
"Flattened" method variants have converted the fields of the request object into function parameters to enable multiple ways to call the same method.
listBuckets(ProjectName parent)
listBuckets(String parent)
Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.
listBucketsPagedCallable()
listBucketsCallable()
LockBucketRetentionPolicy
Permanently locks the retention policy that is currently applied to the specified bucket.
Caution: Locking a bucket is an irreversible action. Once you lock a bucket:
- You cannot remove the retention policy from the bucket. - You cannot decrease the retention period for the policy.
Once locked, you must delete the entire bucket in order to remove the bucket's retention policy. However, before you can delete the bucket, you must delete all the objects in the bucket, which is only possible if all the objects have reached the retention period set by the retention policy.
**IAM Permissions**:
Requires storage.buckets.update IAM permission on the bucket.
Request object method variants only take one parameter, a request object, which must be constructed before the call.
lockBucketRetentionPolicy(LockBucketRetentionPolicyRequest request)
"Flattened" method variants have converted the fields of the request object into function parameters to enable multiple ways to call the same method.
lockBucketRetentionPolicy(BucketName bucket)
lockBucketRetentionPolicy(String bucket)
Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.
lockBucketRetentionPolicyCallable()
GetIamPolicy
Gets the IAM policy for a specified bucket or managed folder. The resource field in the request should be projects//buckets/{bucket} for a bucket, or projects//buckets/{bucket}/managedFolders/{managedFolder} for a managed folder.
**IAM Permissions**:
Requires storage.buckets.getIamPolicy on the bucket or storage.managedFolders.getIamPolicy IAM permission on the managed folder.
Request object method variants only take one parameter, a request object, which must be constructed before the call.
getIamPolicy(GetIamPolicyRequest request)
"Flattened" method variants have converted the fields of the request object into function parameters to enable multiple ways to call the same method.
getIamPolicy(ResourceName resource)
getIamPolicy(String resource)
Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.
getIamPolicyCallable()
SetIamPolicy
Updates an IAM policy for the specified bucket or managed folder. The resource field in the request should be projects//buckets/{bucket} for a bucket, or projects//buckets/{bucket}/managedFolders/{managedFolder} for a managed folder.
Request object method variants only take one parameter, a request object, which must be constructed before the call.
setIamPolicy(SetIamPolicyRequest request)
"Flattened" method variants have converted the fields of the request object into function parameters to enable multiple ways to call the same method.
setIamPolicy(ResourceName resource, Policy policy)
setIamPolicy(String resource, Policy policy)
Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.
setIamPolicyCallable()
TestIamPermissions
Tests a set of permissions on the given bucket, object, or managed folder to see which, if any, are held by the caller. The resource field in the request should be projects//buckets/{bucket} for a bucket, projects//buckets/{bucket}/objects/{object} for an object, or projects/_/buckets/{bucket}/managedFolders/{managedFolder} for a managed folder.
Request object method variants only take one parameter, a request object, which must be constructed before the call.
testIamPermissions(TestIamPermissionsRequest request)
"Flattened" method variants have converted the fields of the request object into function parameters to enable multiple ways to call the same method.
testIamPermissions(ResourceName resource, List<String> permissions)
testIamPermissions(String resource, List<String> permissions)
Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.
testIamPermissionsCallable()
UpdateBucket
Updates a bucket. Changes to the bucket are readable immediately after writing, but configuration changes might take time to propagate. This method supports patch semantics.
**IAM Permissions**:
Requires storage.buckets.update IAM permission on the bucket. Additionally, to enable specific bucket features, the authenticated user must have the following permissions:
- To set bucket IP filtering rules: storage.buckets.setIpFilter - To update public access prevention policies or access control lists (ACLs): storage.buckets.setIamPolicy
Request object method variants only take one parameter, a request object, which must be constructed before the call.
updateBucket(UpdateBucketRequest request)
"Flattened" method variants have converted the fields of the request object into function parameters to enable multiple ways to call the same method.
updateBucket(Bucket bucket, FieldMask updateMask)
Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.
updateBucketCallable()
ComposeObject
Concatenates a list of existing objects into a new object in the same bucket. The existing source objects are unaffected by this operation.
**IAM Permissions**:
Requires the storage.objects.create and storage.objects.get IAM permissions to use this method. If the new composite object overwrites an existing object, the authenticated user must also have the storage.objects.delete permission. If the request body includes the retention property, the authenticated user must also have the storage.objects.setRetention IAM permission.
Request object method variants only take one parameter, a request object, which must be constructed before the call.
composeObject(ComposeObjectRequest request)
Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.
composeObjectCallable()
DeleteObject
Deletes an object and its metadata. Deletions are permanent if versioning is not enabled for the bucket, or if the generation parameter is used, or if soft delete is not enabled for the bucket. When this API is used to delete an object from a bucket that has soft delete policy enabled, the object becomes soft deleted, and the softDeleteTime and hardDeleteTime properties are set on the object. This API cannot be used to permanently delete soft-deleted objects. Soft-deleted objects are permanently deleted according to their hardDeleteTime.
You can use the RestoreObject API to restore soft-deleted objects until the soft delete retention period has passed.
**IAM Permissions**:
Requires storage.objects.delete IAM permission on the bucket.
Request object method variants only take one parameter, a request object, which must be constructed before the call.
deleteObject(DeleteObjectRequest request)
"Flattened" method variants have converted the fields of the request object into function parameters to enable multiple ways to call the same method.
deleteObject(BucketName bucket, String object)
deleteObject(String bucket, String object)
deleteObject(BucketName bucket, String object, long generation)
deleteObject(String bucket, String object, long generation)
Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.
deleteObjectCallable()
RestoreObject
Restores a soft-deleted object. When a soft-deleted object is restored, a new copy of that object is created in the same bucket and inherits the same metadata as the soft-deleted object. The inherited metadata is the metadata that existed when the original object became soft deleted, with the following exceptions:
- The createTime of the new object is set to the time at which the soft-deleted object was restored. - The softDeleteTime and hardDeleteTime values are cleared. - A new generation is assigned and the metageneration is reset to 1. - If the soft-deleted object was in a bucket that had Autoclass enabled, the new object is restored to Standard storage. - The restored object inherits the bucket's default object ACL, unless copySourceAcl is true.
If a live object using the same name already exists in the bucket and becomes overwritten, the live object becomes a noncurrent object if Object Versioning is enabled on the bucket. If Object Versioning is not enabled, the live object becomes soft deleted.
**IAM Permissions**:
Requires the following IAM permissions to use this method:
- storage.objects.restore - storage.objects.create - storage.objects.delete (only required if overwriting an existing object) - storage.objects.getIamPolicy (only required if projection is full and the relevant bucket has uniform bucket-level access disabled) - storage.objects.setIamPolicy (only required if copySourceAcl is true and the relevant bucket has uniform bucket-level access disabled)
Request object method variants only take one parameter, a request object, which must be constructed before the call.
restoreObject(RestoreObjectRequest request)
"Flattened" method variants have converted the fields of the request object into function parameters to enable multiple ways to call the same method.
restoreObject(BucketName bucket, String object, long generation)
restoreObject(String bucket, String object, long generation)
Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.
restoreObjectCallable()
CancelResumableWrite
Cancels an in-progress resumable upload.
Any attempts to write to the resumable upload after cancelling the upload fail.
The behavior for any in-progress write operations is not guaranteed; they could either complete before the cancellation or fail if the cancellation completes first.
Request object method variants only take one parameter, a request object, which must be constructed before the call.
cancelResumableWrite(CancelResumableWriteRequest request)
"Flattened" method variants have converted the fields of the request object into function parameters to enable multiple ways to call the same method.
cancelResumableWrite(String uploadId)
Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.
cancelResumableWriteCallable()
GetObject
Retrieves object metadata.
**IAM Permissions**:
Requires storage.objects.get IAM permission on the bucket. To return object ACLs, the authenticated user must also have the storage.objects.getIamPolicy permission.
Request object method variants only take one parameter, a request object, which must be constructed before the call.
getObject(GetObjectRequest request)
"Flattened" method variants have converted the fields of the request object into function parameters to enable multiple ways to call the same method.
getObject(BucketName bucket, String object)
getObject(String bucket, String object)
getObject(BucketName bucket, String object, long generation)
getObject(String bucket, String object, long generation)
Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.
getObjectCallable()
ReadObject
Retrieves object data.
**IAM Permissions**:
Requires storage.objects.get IAM permission on the bucket.
Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.
readObjectCallable()
BidiReadObject
Reads an object's data.
This bi-directional API reads data from an object, allowing you to request multiple data ranges within a single stream, even across several messages. If an error occurs with any request, the stream closes with a relevant error code. Since you can have multiple outstanding requests, the error response includes a BidiReadObjectRangesError field detailing the specific error for each pending read_id.
**IAM Permissions**:
Requires storage.objects.get IAM permission on the bucket.
Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.
bidiReadObjectCallable()
UpdateObject
Updates an object's metadata. Equivalent to JSON API's storage.objects.patch method.
**IAM Permissions**:
Requires storage.objects.update IAM permission on the bucket.
Request object method variants only take one parameter, a request object, which must be constructed before the call.
updateObject(UpdateObjectRequest request)
"Flattened" method variants have converted the fields of the request object into function parameters to enable multiple ways to call the same method.
updateObject(Object object, FieldMask updateMask)
Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.
updateObjectCallable()
WriteObject
Stores a new object and metadata.
An object can be written either in a single message stream or in a resumable sequence of message streams. To write using a single stream, the client should include in the first message of the stream an WriteObjectSpec describing the destination bucket, object, and any preconditions. Additionally, the final message must set 'finish_write' to true, or else it is an error.
For a resumable write, the client should instead call StartResumableWrite(), populating a WriteObjectSpec into that request. They should then attach the returned upload_id to the first message of each following call to WriteObject. If the stream is closed before finishing the upload (either explicitly by the client or due to a network error or an error response from the server), the client should do as follows:
- Check the result Status of the stream, to determine if writing can be resumed on this stream or must be restarted from scratch (by calling StartResumableWrite()). The resumable errors are DEADLINE_EXCEEDED, INTERNAL, and UNAVAILABLE. For each case, the client should use binary exponential backoff before retrying. Additionally, writes can be resumed after RESOURCE_EXHAUSTED errors, but only after taking appropriate measures, which might include reducing aggregate send rate across clients and/or requesting a quota increase for your project. - If the call to WriteObject returns ABORTED, that indicates concurrent attempts to update the resumable write, caused either by multiple racing clients or by a single client where the previous request was timed out on the client side but nonetheless reached the server. In this case the client should take steps to prevent further concurrent writes. For example, increase the timeouts and stop using more than one process to perform the upload. Follow the steps below for resuming the upload. - For resumable errors, the client should call QueryWriteStatus() and then continue writing from the returned persisted_size. This might be less than the amount of data the client previously sent. Note also that it is acceptable to send data starting at an offset earlier than the returned persisted_size; in this case, the service skips data at offsets that were already persisted (without checking that it matches the previously written data), and write only the data starting from the persisted offset. Even though the data isn't written, it might still incur a performance cost over resuming at the correct write offset. This behavior can make client-side handling simpler in some cases. - Clients must only send data that is a multiple of 256 KiB per message, unless the object is being finished with finish_write set to true.
The service does not view the object as complete until the client has sent a WriteObjectRequest with finish_write set to true. Sending any requests on a stream after sending a request with finish_write set to true causes an error. The client must check the response it receives to determine how much data the service is able to commit and whether the service views the object as complete.
Attempting to resume an already finalized object results in an OK status, with a WriteObjectResponse containing the finalized object's metadata.
Alternatively, you can use the BidiWriteObject operation to write an object with controls over flushing and the ability to fetch the ability to determine the current persisted size.
**IAM Permissions**:
Requires storage.objects.create IAM permission on the bucket.
Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.
writeObjectCallable()
BidiWriteObject
Stores a new object and metadata.
This is similar to the WriteObject call with the added support for manual flushing of persisted state, and the ability to determine current persisted size without closing the stream.
The client might specify one or both of the state_lookup and flush fields in each BidiWriteObjectRequest. If flush is specified, the data written so far is persisted to storage. If state_lookup is specified, the service responds with a BidiWriteObjectResponse that contains the persisted size. If both flush and state_lookup are specified, the flush always occurs before a state_lookup, so that both might be set in the same request and the returned state is the state of the object post-flush. When the stream is closed, a BidiWriteObjectResponse is always sent to the client, regardless of the value of state_lookup.
Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.
bidiWriteObjectCallable()
ListObjects
Retrieves a list of objects matching the criteria.
**IAM Permissions**:
The authenticated user requires storage.objects.list IAM permission to use this method. To return object ACLs, the authenticated user must also have the storage.objects.getIamPolicy permission.
Request object method variants only take one parameter, a request object, which must be constructed before the call.
listObjects(ListObjectsRequest request)
"Flattened" method variants have converted the fields of the request object into function parameters to enable multiple ways to call the same method.
listObjects(BucketName parent)
listObjects(String parent)
Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.
listObjectsPagedCallable()
listObjectsCallable()
RewriteObject
Rewrites a source object to a destination object. Optionally overrides metadata.
Request object method variants only take one parameter, a request object, which must be constructed before the call.
rewriteObject(RewriteObjectRequest request)
Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.
rewriteObjectCallable()
StartResumableWrite
Starts a resumable write operation. This method is part of the Resumable upload feature. This allows you to upload large objects in multiple chunks, which is more resilient to network interruptions than a single upload. The validity duration of the write operation, and the consequences of it becoming invalid, are service-dependent.
**IAM Permissions**:
Requires storage.objects.create IAM permission on the bucket.
Request object method variants only take one parameter, a request object, which must be constructed before the call.
startResumableWrite(StartResumableWriteRequest request)
Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.
startResumableWriteCallable()
QueryWriteStatus
Determines the persisted_size of an object that is being written. This method is part of the resumable upload feature. The returned value is the size of the object that has been persisted so far. The value can be used as the write_offset for the next Write() call.
If the object does not exist, meaning if it was deleted, or the first Write() has not yet reached the service, this method returns the error NOT_FOUND.
This method is useful for clients that buffer data and need to know which data can be safely evicted. The client can call QueryWriteStatus() at any time to determine how much data has been logged for this object. For any sequence of QueryWriteStatus() calls for a given object name, the sequence of returned persisted_size values are non-decreasing.
Request object method variants only take one parameter, a request object, which must be constructed before the call.
queryWriteStatus(QueryWriteStatusRequest request)
"Flattened" method variants have converted the fields of the request object into function parameters to enable multiple ways to call the same method.
queryWriteStatus(String uploadId)
Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.
queryWriteStatusCallable()
MoveObject
Moves the source object to the destination object in the same bucket. This operation moves a source object to a destination object in the same bucket by renaming the object. The move itself is an atomic transaction, ensuring all steps either complete successfully or no changes are made.
**IAM Permissions**:
Requires the following IAM permissions to use this method:
- storage.objects.move - storage.objects.create - storage.objects.delete` (only required if overwriting an existing object)
Request object method variants only take one parameter, a request object, which must be constructed before the call.
moveObject(MoveObjectRequest request)
"Flattened" method variants have converted the fields of the request object into function parameters to enable multiple ways to call the same method.
moveObject(BucketName bucket, String sourceObject, String destinationObject)
moveObject(String bucket, String sourceObject, String destinationObject)
Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.
moveObjectCallable()
See the individual methods for example code.
Many parameters require resource names to be formatted in a particular way. To assist with these names, this class includes a format method for each type of name, and additionally a parse method to extract the individual identifiers contained within names that are returned.
This class can be customized by passing in a custom instance of StorageSettings to create(). For example:
To customize credentials:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
StorageSettings storageSettings =
StorageSettings.newBuilder()
.setCredentialsProvider(FixedCredentialsProvider.create(myCredentials))
.build();
StorageClient storageClient = StorageClient.create(storageSettings);
To customize the endpoint:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
StorageSettings storageSettings = StorageSettings.newBuilder().setEndpoint(myEndpoint).build();
StorageClient storageClient = StorageClient.create(storageSettings);
Please refer to the GitHub repository's samples for more quickstart code snippets.
Static Methods
create()
public static final StorageClient create()Constructs an instance of StorageClient with default settings.
| Returns | |
|---|---|
| Type | Description |
StorageClient |
|
| Exceptions | |
|---|---|
| Type | Description |
IOException |
|
create(StorageSettings settings)
public static final StorageClient create(StorageSettings settings)Constructs an instance of StorageClient, using the given settings. The channels are created based on the settings passed in, or defaults for any settings that are not set.
| Parameter | |
|---|---|
| Name | Description |
settings |
StorageSettings |
| Returns | |
|---|---|
| Type | Description |
StorageClient |
|
| Exceptions | |
|---|---|
| Type | Description |
IOException |
|
create(StorageStub stub)
public static final StorageClient create(StorageStub stub)Constructs an instance of StorageClient, using the given stub for making calls. This is for advanced usage - prefer using create(StorageSettings).
| Parameter | |
|---|---|
| Name | Description |
stub |
StorageStub |
| Returns | |
|---|---|
| Type | Description |
StorageClient |
|
Constructors
StorageClient(StorageSettings settings)
protected StorageClient(StorageSettings settings)Constructs an instance of StorageClient, using the given settings. This is protected so that it is easy to make a subclass, but otherwise, the static factory methods should be preferred.
| Parameter | |
|---|---|
| Name | Description |
settings |
StorageSettings |
StorageClient(StorageStub stub)
protected StorageClient(StorageStub stub)| Parameter | |
|---|---|
| Name | Description |
stub |
StorageStub |
Methods
awaitTermination(long duration, TimeUnit unit)
public boolean awaitTermination(long duration, TimeUnit unit)| Parameters | |
|---|---|
| Name | Description |
duration |
long |
unit |
TimeUnit |
| Returns | |
|---|---|
| Type | Description |
boolean |
|
| Exceptions | |
|---|---|
| Type | Description |
InterruptedException |
|
bidiReadObjectCallable()
public final BidiStreamingCallable<BidiReadObjectRequest,BidiReadObjectResponse> bidiReadObjectCallable()Reads an object's data.
This bi-directional API reads data from an object, allowing you to request multiple data
ranges within a single stream, even across several messages. If an error occurs with any
request, the stream closes with a relevant error code. Since you can have multiple outstanding
requests, the error response includes a BidiReadObjectRangesError field detailing the
specific error for each pending read_id.
**IAM Permissions**:
Requires storage.objects.get IAM permission on the bucket.
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (StorageClient storageClient = StorageClient.create()) {
BidiStream<BidiReadObjectRequest, BidiReadObjectResponse> bidiStream =
storageClient.bidiReadObjectCallable().call();
BidiReadObjectRequest request =
BidiReadObjectRequest.newBuilder()
.setReadObjectSpec(BidiReadObjectSpec.newBuilder().build())
.addAllReadRanges(new ArrayList<ReadRange>())
.build();
bidiStream.send(request);
for (BidiReadObjectResponse response : bidiStream) {
// Do something when a response is received.
}
}
| Returns | |
|---|---|
| Type | Description |
BidiStreamingCallable<BidiReadObjectRequest,BidiReadObjectResponse> |
|
bidiWriteObjectCallable()
public final BidiStreamingCallable<BidiWriteObjectRequest,BidiWriteObjectResponse> bidiWriteObjectCallable()Stores a new object and metadata.
This is similar to the WriteObject call with the added support for manual flushing of
persisted state, and the ability to determine current persisted size without closing the
stream.
The client might specify one or both of the state_lookup and flush fields in each
BidiWriteObjectRequest. If flush is specified, the data written so far is persisted to
storage. If state_lookup is specified, the service responds with a BidiWriteObjectResponse
that contains the persisted size. If both flush and state_lookup are specified, the flush
always occurs before a state_lookup, so that both might be set in the same request and the
returned state is the state of the object post-flush. When the stream is closed, a
BidiWriteObjectResponse is always sent to the client, regardless of the value of
state_lookup.
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (StorageClient storageClient = StorageClient.create()) {
BidiStream<BidiWriteObjectRequest, BidiWriteObjectResponse> bidiStream =
storageClient.bidiWriteObjectCallable().call();
BidiWriteObjectRequest request =
BidiWriteObjectRequest.newBuilder()
.setWriteOffset(-1559543565)
.setObjectChecksums(ObjectChecksums.newBuilder().build())
.setStateLookup(true)
.setFlush(true)
.setFinishWrite(true)
.setCommonObjectRequestParams(CommonObjectRequestParams.newBuilder().build())
.build();
bidiStream.send(request);
for (BidiWriteObjectResponse response : bidiStream) {
// Do something when a response is received.
}
}
| Returns | |
|---|---|
| Type | Description |
BidiStreamingCallable<BidiWriteObjectRequest,BidiWriteObjectResponse> |
|
cancelResumableWrite(CancelResumableWriteRequest request)
public final CancelResumableWriteResponse cancelResumableWrite(CancelResumableWriteRequest request)Cancels an in-progress resumable upload.
Any attempts to write to the resumable upload after cancelling the upload fail.
The behavior for any in-progress write operations is not guaranteed; they could either complete before the cancellation or fail if the cancellation completes first.
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (StorageClient storageClient = StorageClient.create()) {
CancelResumableWriteRequest request =
CancelResumableWriteRequest.newBuilder().setUploadId("uploadId1563990780").build();
CancelResumableWriteResponse response = storageClient.cancelResumableWrite(request);
}
| Parameter | |
|---|---|
| Name | Description |
request |
CancelResumableWriteRequestThe request object containing all of the parameters for the API call. |
| Returns | |
|---|---|
| Type | Description |
CancelResumableWriteResponse |
|
cancelResumableWrite(String uploadId)
public final CancelResumableWriteResponse cancelResumableWrite(String uploadId)Cancels an in-progress resumable upload.
Any attempts to write to the resumable upload after cancelling the upload fail.
The behavior for any in-progress write operations is not guaranteed; they could either complete before the cancellation or fail if the cancellation completes first.
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (StorageClient storageClient = StorageClient.create()) {
String uploadId = "uploadId1563990780";
CancelResumableWriteResponse response = storageClient.cancelResumableWrite(uploadId);
}
| Parameter | |
|---|---|
| Name | Description |
uploadId |
StringRequired. The upload_id of the resumable upload to cancel. This should be
copied from the |
| Returns | |
|---|---|
| Type | Description |
CancelResumableWriteResponse |
|
cancelResumableWriteCallable()
public final UnaryCallable<CancelResumableWriteRequest,CancelResumableWriteResponse> cancelResumableWriteCallable()Cancels an in-progress resumable upload.
Any attempts to write to the resumable upload after cancelling the upload fail.
The behavior for any in-progress write operations is not guaranteed; they could either complete before the cancellation or fail if the cancellation completes first.
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (StorageClient storageClient = StorageClient.create()) {
CancelResumableWriteRequest request =
CancelResumableWriteRequest.newBuilder().setUploadId("uploadId1563990780").build();
ApiFuture<CancelResumableWriteResponse> future =
storageClient.cancelResumableWriteCallable().futureCall(request);
// Do something.
CancelResumableWriteResponse response = future.get();
}
| Returns | |
|---|---|
| Type | Description |
UnaryCallable<CancelResumableWriteRequest,CancelResumableWriteResponse> |
|
close()
public final void close()composeObject(ComposeObjectRequest request)
public final Object composeObject(ComposeObjectRequest request)Concatenates a list of existing objects into a new object in the same bucket. The existing source objects are unaffected by this operation.
**IAM Permissions**:
Requires the storage.objects.create and storage.objects.get IAM permissions to use this
method. If the new composite object overwrites an existing object, the authenticated user must
also have the storage.objects.delete permission. If the request body includes the retention
property, the authenticated user must also have the storage.objects.setRetention IAM
permission.
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (StorageClient storageClient = StorageClient.create()) {
ComposeObjectRequest request =
ComposeObjectRequest.newBuilder()
.setDestination(Object.newBuilder().build())
.addAllSourceObjects(new ArrayList<ComposeObjectRequest.SourceObject>())
.setDestinationPredefinedAcl("destinationPredefinedAcl1111125814")
.setIfGenerationMatch(-1086241088)
.setIfMetagenerationMatch(1043427781)
.setKmsKey(
CryptoKeyName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]")
.toString())
.setCommonObjectRequestParams(CommonObjectRequestParams.newBuilder().build())
.setObjectChecksums(ObjectChecksums.newBuilder().build())
.build();
Object response = storageClient.composeObject(request);
}
| Parameter | |
|---|---|
| Name | Description |
request |
ComposeObjectRequestThe request object containing all of the parameters for the API call. |
| Returns | |
|---|---|
| Type | Description |
Object |
|
composeObjectCallable()
public final UnaryCallable<ComposeObjectRequest,Object> composeObjectCallable()Concatenates a list of existing objects into a new object in the same bucket. The existing source objects are unaffected by this operation.
**IAM Permissions**:
Requires the storage.objects.create and storage.objects.get IAM permissions to use this
method. If the new composite object overwrites an existing object, the authenticated user must
also have the storage.objects.delete permission. If the request body includes the retention
property, the authenticated user must also have the storage.objects.setRetention IAM
permission.
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (StorageClient storageClient = StorageClient.create()) {
ComposeObjectRequest request =
ComposeObjectRequest.newBuilder()
.setDestination(Object.newBuilder().build())
.addAllSourceObjects(new ArrayList<ComposeObjectRequest.SourceObject>())
.setDestinationPredefinedAcl("destinationPredefinedAcl1111125814")
.setIfGenerationMatch(-1086241088)
.setIfMetagenerationMatch(1043427781)
.setKmsKey(
CryptoKeyName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]")
.toString())
.setCommonObjectRequestParams(CommonObjectRequestParams.newBuilder().build())
.setObjectChecksums(ObjectChecksums.newBuilder().build())
.build();
ApiFuture<Object> future = storageClient.composeObjectCallable().futureCall(request);
// Do something.
Object response = future.get();
}
| Returns | |
|---|---|
| Type | Description |
UnaryCallable<ComposeObjectRequest,Object> |
|
createBucket(CreateBucketRequest request)
public final Bucket createBucket(CreateBucketRequest request)Creates a new bucket.
**IAM Permissions**:
Requires storage.buckets.create IAM permission on the bucket. Additionally, to enable
specific bucket features, the authenticated user must have the following permissions:
- To enable object retention using the enableObjectRetention query parameter:
storage.buckets.enableObjectRetention - To set the bucket IP filtering rules:
storage.buckets.setIpFilter
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (StorageClient storageClient = StorageClient.create()) {
CreateBucketRequest request =
CreateBucketRequest.newBuilder()
.setParent(ProjectName.of("[PROJECT]").toString())
.setBucket(Bucket.newBuilder().build())
.setBucketId("bucketId-1603305307")
.setPredefinedAcl("predefinedAcl1207041188")
.setPredefinedDefaultObjectAcl("predefinedDefaultObjectAcl2109168048")
.setEnableObjectRetention(true)
.build();
Bucket response = storageClient.createBucket(request);
}
| Parameter | |
|---|---|
| Name | Description |
request |
CreateBucketRequestThe request object containing all of the parameters for the API call. |
| Returns | |
|---|---|
| Type | Description |
Bucket |
|
createBucket(ProjectName parent, Bucket bucket, String bucketId)
public final Bucket createBucket(ProjectName parent, Bucket bucket, String bucketId)Creates a new bucket.
**IAM Permissions**:
Requires storage.buckets.create IAM permission on the bucket. Additionally, to enable
specific bucket features, the authenticated user must have the following permissions:
- To enable object retention using the enableObjectRetention query parameter:
storage.buckets.enableObjectRetention - To set the bucket IP filtering rules:
storage.buckets.setIpFilter
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (StorageClient storageClient = StorageClient.create()) {
ProjectName parent = ProjectName.of("[PROJECT]");
Bucket bucket = Bucket.newBuilder().build();
String bucketId = "bucketId-1603305307";
Bucket response = storageClient.createBucket(parent, bucket, bucketId);
}
| Parameters | |
|---|---|
| Name | Description |
parent |
ProjectNameRequired. The project to which this bucket belongs. This field must either be
empty or |
bucket |
BucketOptional. Properties of the new bucket being inserted. The name of the bucket is
specified in the |
bucketId |
StringRequired. The ID to use for this bucket, which becomes the final component of
the bucket's resource name. For example, the value |
| Returns | |
|---|---|
| Type | Description |
Bucket |
|
createBucket(String parent, Bucket bucket, String bucketId)
public final Bucket createBucket(String parent, Bucket bucket, String bucketId)Creates a new bucket.
**IAM Permissions**:
Requires storage.buckets.create IAM permission on the bucket. Additionally, to enable
specific bucket features, the authenticated user must have the following permissions:
- To enable object retention using the enableObjectRetention query parameter:
storage.buckets.enableObjectRetention - To set the bucket IP filtering rules:
storage.buckets.setIpFilter
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (StorageClient storageClient = StorageClient.create()) {
String parent = ProjectName.of("[PROJECT]").toString();
Bucket bucket = Bucket.newBuilder().build();
String bucketId = "bucketId-1603305307";
Bucket response = storageClient.createBucket(parent, bucket, bucketId);
}
| Parameters | |
|---|---|
| Name | Description |
parent |
StringRequired. The project to which this bucket belongs. This field must either be
empty or |
bucket |
BucketOptional. Properties of the new bucket being inserted. The name of the bucket is
specified in the |
bucketId |
StringRequired. The ID to use for this bucket, which becomes the final component of
the bucket's resource name. For example, the value |
| Returns | |
|---|---|
| Type | Description |
Bucket |
|
createBucketCallable()
public final UnaryCallable<CreateBucketRequest,Bucket> createBucketCallable()Creates a new bucket.
**IAM Permissions**:
Requires storage.buckets.create IAM permission on the bucket. Additionally, to enable
specific bucket features, the authenticated user must have the following permissions:
- To enable object retention using the enableObjectRetention query parameter:
storage.buckets.enableObjectRetention - To set the bucket IP filtering rules:
storage.buckets.setIpFilter
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (StorageClient storageClient = StorageClient.create()) {
CreateBucketRequest request =
CreateBucketRequest.newBuilder()
.setParent(ProjectName.of("[PROJECT]").toString())
.setBucket(Bucket.newBuilder().build())
.setBucketId("bucketId-1603305307")
.setPredefinedAcl("predefinedAcl1207041188")
.setPredefinedDefaultObjectAcl("predefinedDefaultObjectAcl2109168048")
.setEnableObjectRetention(true)
.build();
ApiFuture<Bucket> future = storageClient.createBucketCallable().futureCall(request);
// Do something.
Bucket response = future.get();
}
| Returns | |
|---|---|
| Type | Description |
UnaryCallable<CreateBucketRequest,Bucket> |
|
deleteBucket(BucketName name)
public final void deleteBucket(BucketName name)Permanently deletes an empty bucket. The request fails if there are any live or noncurrent objects in the bucket, but the request succeeds if the bucket only contains soft-deleted objects or incomplete uploads, such as ongoing XML API multipart uploads. Does not permanently delete soft-deleted objects.
When this API is used to delete a bucket containing an object that has a soft delete policy
enabled, the object becomes soft deleted, and the softDeleteTime and hardDeleteTime
properties are set on the object.
Objects and multipart uploads that were in the bucket at the time of deletion are also
retained for the specified retention duration. When a soft-deleted bucket reaches the end of
its retention duration, it is permanently deleted. The hardDeleteTime of the bucket always
equals or exceeds the expiration time of the last soft-deleted object in the bucket.
**IAM Permissions**:
Requires storage.buckets.delete IAM permission on the bucket.
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (StorageClient storageClient = StorageClient.create()) {
BucketName name = BucketName.of("[PROJECT]", "[BUCKET]");
storageClient.deleteBucket(name);
}
| Parameter | |
|---|---|
| Name | Description |
name |
BucketNameRequired. Name of a bucket to delete. |
deleteBucket(DeleteBucketRequest request)
public final void deleteBucket(DeleteBucketRequest request)Permanently deletes an empty bucket. The request fails if there are any live or noncurrent objects in the bucket, but the request succeeds if the bucket only contains soft-deleted objects or incomplete uploads, such as ongoing XML API multipart uploads. Does not permanently delete soft-deleted objects.
When this API is used to delete a bucket containing an object that has a soft delete policy
enabled, the object becomes soft deleted, and the softDeleteTime and hardDeleteTime
properties are set on the object.
Objects and multipart uploads that were in the bucket at the time of deletion are also
retained for the specified retention duration. When a soft-deleted bucket reaches the end of
its retention duration, it is permanently deleted. The hardDeleteTime of the bucket always
equals or exceeds the expiration time of the last soft-deleted object in the bucket.
**IAM Permissions**:
Requires storage.buckets.delete IAM permission on the bucket.
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (StorageClient storageClient = StorageClient.create()) {
DeleteBucketRequest request =
DeleteBucketRequest.newBuilder()
.setName(BucketName.of("[PROJECT]", "[BUCKET]").toString())
.setIfMetagenerationMatch(1043427781)
.setIfMetagenerationNotMatch(1025430873)
.build();
storageClient.deleteBucket(request);
}
| Parameter | |
|---|---|
| Name | Description |
request |
DeleteBucketRequestThe request object containing all of the parameters for the API call. |
deleteBucket(String name)
public final void deleteBucket(String name)Permanently deletes an empty bucket. The request fails if there are any live or noncurrent objects in the bucket, but the request succeeds if the bucket only contains soft-deleted objects or incomplete uploads, such as ongoing XML API multipart uploads. Does not permanently delete soft-deleted objects.
When this API is used to delete a bucket containing an object that has a soft delete policy
enabled, the object becomes soft deleted, and the softDeleteTime and hardDeleteTime
properties are set on the object.
Objects and multipart uploads that were in the bucket at the time of deletion are also
retained for the specified retention duration. When a soft-deleted bucket reaches the end of
its retention duration, it is permanently deleted. The hardDeleteTime of the bucket always
equals or exceeds the expiration time of the last soft-deleted object in the bucket.
**IAM Permissions**:
Requires storage.buckets.delete IAM permission on the bucket.
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (StorageClient storageClient = StorageClient.create()) {
String name = BucketName.of("[PROJECT]", "[BUCKET]").toString();
storageClient.deleteBucket(name);
}
| Parameter | |
|---|---|
| Name | Description |
name |
StringRequired. Name of a bucket to delete. |
deleteBucketCallable()
public final UnaryCallable<DeleteBucketRequest,Empty> deleteBucketCallable()Permanently deletes an empty bucket. The request fails if there are any live or noncurrent objects in the bucket, but the request succeeds if the bucket only contains soft-deleted objects or incomplete uploads, such as ongoing XML API multipart uploads. Does not permanently delete soft-deleted objects.
When this API is used to delete a bucket containing an object that has a soft delete policy
enabled, the object becomes soft deleted, and the softDeleteTime and hardDeleteTime
properties are set on the object.
Objects and multipart uploads that were in the bucket at the time of deletion are also
retained for the specified retention duration. When a soft-deleted bucket reaches the end of
its retention duration, it is permanently deleted. The hardDeleteTime of the bucket always
equals or exceeds the expiration time of the last soft-deleted object in the bucket.
**IAM Permissions**:
Requires storage.buckets.delete IAM permission on the bucket.
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (StorageClient storageClient = StorageClient.create()) {
DeleteBucketRequest request =
DeleteBucketRequest.newBuilder()
.setName(BucketName.of("[PROJECT]", "[BUCKET]").toString())
.setIfMetagenerationMatch(1043427781)
.setIfMetagenerationNotMatch(1025430873)
.build();
ApiFuture<Empty> future = storageClient.deleteBucketCallable().futureCall(request);
// Do something.
future.get();
}
| Returns | |
|---|---|
| Type | Description |
UnaryCallable<DeleteBucketRequest,Empty> |
|
deleteObject(BucketName bucket, String object)
public final void deleteObject(BucketName bucket, String object)Deletes an object and its metadata. Deletions are permanent if versioning is not enabled for
the bucket, or if the generation parameter is used, or if soft delete is not enabled for the
bucket. When this API is used to delete an object from a bucket that has soft delete policy
enabled, the object becomes soft deleted, and the softDeleteTime and hardDeleteTime
properties are set on the object. This API cannot be used to permanently delete soft-deleted
objects. Soft-deleted objects are permanently deleted according to their hardDeleteTime.
You can use the RestoreObject API to restore
soft-deleted objects until the soft delete retention period has passed.
**IAM Permissions**:
Requires storage.objects.delete IAM permission on the bucket.
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (StorageClient storageClient = StorageClient.create()) {
BucketName bucket = BucketName.of("[PROJECT]", "[BUCKET]");
String object = "object-1023368385";
storageClient.deleteObject(bucket, object);
}
| Parameters | |
|---|---|
| Name | Description |
bucket |
BucketNameRequired. Name of the bucket in which the object resides. |
object |
StringRequired. The name of the finalized object to delete. Note: If you want to delete
an unfinalized resumable upload please use |
deleteObject(BucketName bucket, String object, long generation)
public final void deleteObject(BucketName bucket, String object, long generation)Deletes an object and its metadata. Deletions are permanent if versioning is not enabled for
the bucket, or if the generation parameter is used, or if soft delete is not enabled for the
bucket. When this API is used to delete an object from a bucket that has soft delete policy
enabled, the object becomes soft deleted, and the softDeleteTime and hardDeleteTime
properties are set on the object. This API cannot be used to permanently delete soft-deleted
objects. Soft-deleted objects are permanently deleted according to their hardDeleteTime.
You can use the RestoreObject API to restore
soft-deleted objects until the soft delete retention period has passed.
**IAM Permissions**:
Requires storage.objects.delete IAM permission on the bucket.
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (StorageClient storageClient = StorageClient.create()) {
BucketName bucket = BucketName.of("[PROJECT]", "[BUCKET]");
String object = "object-1023368385";
long generation = 305703192;
storageClient.deleteObject(bucket, object, generation);
}
| Parameters | |
|---|---|
| Name | Description |
bucket |
BucketNameRequired. Name of the bucket in which the object resides. |
object |
StringRequired. The name of the finalized object to delete. Note: If you want to delete
an unfinalized resumable upload please use |
generation |
longOptional. If present, permanently deletes a specific revision of this object (as opposed to the latest version, the default). |
deleteObject(DeleteObjectRequest request)
public final void deleteObject(DeleteObjectRequest request)Deletes an object and its metadata. Deletions are permanent if versioning is not enabled for
the bucket, or if the generation parameter is used, or if soft delete is not enabled for the
bucket. When this API is used to delete an object from a bucket that has soft delete policy
enabled, the object becomes soft deleted, and the softDeleteTime and hardDeleteTime
properties are set on the object. This API cannot be used to permanently delete soft-deleted
objects. Soft-deleted objects are permanently deleted according to their hardDeleteTime.
You can use the RestoreObject API to restore
soft-deleted objects until the soft delete retention period has passed.
**IAM Permissions**:
Requires storage.objects.delete IAM permission on the bucket.
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (StorageClient storageClient = StorageClient.create()) {
DeleteObjectRequest request =
DeleteObjectRequest.newBuilder()
.setBucket(BucketName.of("[PROJECT]", "[BUCKET]").toString())
.setObject("object-1023368385")
.setGeneration(305703192)
.setIfGenerationMatch(-1086241088)
.setIfGenerationNotMatch(1475720404)
.setIfMetagenerationMatch(1043427781)
.setIfMetagenerationNotMatch(1025430873)
.setCommonObjectRequestParams(CommonObjectRequestParams.newBuilder().build())
.build();
storageClient.deleteObject(request);
}
| Parameter | |
|---|---|
| Name | Description |
request |
DeleteObjectRequestThe request object containing all of the parameters for the API call. |
deleteObject(String bucket, String object)
public final void deleteObject(String bucket, String object)Deletes an object and its metadata. Deletions are permanent if versioning is not enabled for
the bucket, or if the generation parameter is used, or if soft delete is not enabled for the
bucket. When this API is used to delete an object from a bucket that has soft delete policy
enabled, the object becomes soft deleted, and the softDeleteTime and hardDeleteTime
properties are set on the object. This API cannot be used to permanently delete soft-deleted
objects. Soft-deleted objects are permanently deleted according to their hardDeleteTime.
You can use the RestoreObject API to restore
soft-deleted objects until the soft delete retention period has passed.
**IAM Permissions**:
Requires storage.objects.delete IAM permission on the bucket.
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (StorageClient storageClient = StorageClient.create()) {
String bucket = BucketName.of("[PROJECT]", "[BUCKET]").toString();
String object = "object-1023368385";
storageClient.deleteObject(bucket, object);
}
| Parameters | |
|---|---|
| Name | Description |
bucket |
StringRequired. Name of the bucket in which the object resides. |
object |
StringRequired. The name of the finalized object to delete. Note: If you want to delete
an unfinalized resumable upload please use |
deleteObject(String bucket, String object, long generation)
public final void deleteObject(String bucket, String object, long generation)Deletes an object and its metadata. Deletions are permanent if versioning is not enabled for
the bucket, or if the generation parameter is used, or if soft delete is not enabled for the
bucket. When this API is used to delete an object from a bucket that has soft delete policy
enabled, the object becomes soft deleted, and the softDeleteTime and hardDeleteTime
properties are set on the object. This API cannot be used to permanently delete soft-deleted
objects. Soft-deleted objects are permanently deleted according to their hardDeleteTime.
You can use the RestoreObject API to restore
soft-deleted objects until the soft delete retention period has passed.
**IAM Permissions**:
Requires storage.objects.delete IAM permission on the bucket.
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (StorageClient storageClient = StorageClient.create()) {
String bucket = BucketName.of("[PROJECT]", "[BUCKET]").toString();
String object = "object-1023368385";
long generation = 305703192;
storageClient.deleteObject(bucket, object, generation);
}
| Parameters | |
|---|---|
| Name | Description |
bucket |
StringRequired. Name of the bucket in which the object resides. |
object |
StringRequired. The name of the finalized object to delete. Note: If you want to delete
an unfinalized resumable upload please use |
generation |
longOptional. If present, permanently deletes a specific revision of this object (as opposed to the latest version, the default). |
deleteObjectCallable()
public final UnaryCallable<DeleteObjectRequest,Empty> deleteObjectCallable()Deletes an object and its metadata. Deletions are permanent if versioning is not enabled for
the bucket, or if the generation parameter is used, or if soft delete is not enabled for the
bucket. When this API is used to delete an object from a bucket that has soft delete policy
enabled, the object becomes soft deleted, and the softDeleteTime and hardDeleteTime
properties are set on the object. This API cannot be used to permanently delete soft-deleted
objects. Soft-deleted objects are permanently deleted according to their hardDeleteTime.
You can use the RestoreObject API to restore
soft-deleted objects until the soft delete retention period has passed.
**IAM Permissions**:
Requires storage.objects.delete IAM permission on the bucket.
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (StorageClient storageClient = StorageClient.create()) {
DeleteObjectRequest request =
DeleteObjectRequest.newBuilder()
.setBucket(BucketName.of("[PROJECT]", "[BUCKET]").toString())
.setObject("object-1023368385")
.setGeneration(305703192)
.setIfGenerationMatch(-1086241088)
.setIfGenerationNotMatch(1475720404)
.setIfMetagenerationMatch(1043427781)
.setIfMetagenerationNotMatch(1025430873)
.setCommonObjectRequestParams(CommonObjectRequestParams.newBuilder().build())
.build();
ApiFuture<Empty> future = storageClient.deleteObjectCallable().futureCall(request);
// Do something.
future.get();
}
| Returns | |
|---|---|
| Type | Description |
UnaryCallable<DeleteObjectRequest,Empty> |
|
getBucket(BucketName name)
public final Bucket getBucket(BucketName name)Returns metadata for the specified bucket.
**IAM Permissions**:
Requires storage.buckets.get IAM permission on the bucket. Additionally, to return
specific bucket metadata, the authenticated user must have the following permissions:
- To return the IAM policies: storage.buckets.getIamPolicy - To return the bucket IP
filtering rules: storage.buckets.getIpFilter
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (StorageClient storageClient = StorageClient.create()) {
BucketName name = BucketName.of("[PROJECT]", "[BUCKET]");
Bucket response = storageClient.getBucket(name);
}
| Parameter | |
|---|---|
| Name | Description |
name |
BucketNameRequired. Name of a bucket. |
| Returns | |
|---|---|
| Type | Description |
Bucket |
|
getBucket(GetBucketRequest request)
public final Bucket getBucket(GetBucketRequest request)Returns metadata for the specified bucket.
**IAM Permissions**:
Requires storage.buckets.get IAM permission on the bucket. Additionally, to return
specific bucket metadata, the authenticated user must have the following permissions:
- To return the IAM policies: storage.buckets.getIamPolicy - To return the bucket IP
filtering rules: storage.buckets.getIpFilter
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (StorageClient storageClient = StorageClient.create()) {
GetBucketRequest request =
GetBucketRequest.newBuilder()
.setName(BucketName.of("[PROJECT]", "[BUCKET]").toString())
.setIfMetagenerationMatch(1043427781)
.setIfMetagenerationNotMatch(1025430873)
.setReadMask(FieldMask.newBuilder().build())
.build();
Bucket response = storageClient.getBucket(request);
}
| Parameter | |
|---|---|
| Name | Description |
request |
GetBucketRequestThe request object containing all of the parameters for the API call. |
| Returns | |
|---|---|
| Type | Description |
Bucket |
|
getBucket(String name)
public final Bucket getBucket(String name)Returns metadata for the specified bucket.
**IAM Permissions**:
Requires storage.buckets.get IAM permission on the bucket. Additionally, to return
specific bucket metadata, the authenticated user must have the following permissions:
- To return the IAM policies: storage.buckets.getIamPolicy - To return the bucket IP
filtering rules: storage.buckets.getIpFilter
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (StorageClient storageClient = StorageClient.create()) {
String name = BucketName.of("[PROJECT]", "[BUCKET]").toString();
Bucket response = storageClient.getBucket(name);
}
| Parameter | |
|---|---|
| Name | Description |
name |
StringRequired. Name of a bucket. |
| Returns | |
|---|---|
| Type | Description |
Bucket |
|
getBucketCallable()
public final UnaryCallable<GetBucketRequest,Bucket> getBucketCallable()Returns metadata for the specified bucket.
**IAM Permissions**:
Requires storage.buckets.get IAM permission on the bucket. Additionally, to return
specific bucket metadata, the authenticated user must have the following permissions:
- To return the IAM policies: storage.buckets.getIamPolicy - To return the bucket IP
filtering rules: storage.buckets.getIpFilter
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (StorageClient storageClient = StorageClient.create()) {
GetBucketRequest request =
GetBucketRequest.newBuilder()
.setName(BucketName.of("[PROJECT]", "[BUCKET]").toString())
.setIfMetagenerationMatch(1043427781)
.setIfMetagenerationNotMatch(1025430873)
.setReadMask(FieldMask.newBuilder().build())
.build();
ApiFuture<Bucket> future = storageClient.getBucketCallable().futureCall(request);
// Do something.
Bucket response = future.get();
}
| Returns | |
|---|---|
| Type | Description |
UnaryCallable<GetBucketRequest,Bucket> |
|
getIamPolicy(ResourceName resource)
public final Policy getIamPolicy(ResourceName resource)Gets the IAM policy for a specified bucket or managed folder. The resource field in the
request should be projects//buckets/{bucket} for a bucket, or
projects//buckets/{bucket}/managedFolders/{managedFolder} for a managed folder.
**IAM Permissions**:
Requires storage.buckets.getIamPolicy on the bucket or
storage.managedFolders.getIamPolicy IAM permission on the managed folder.
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (StorageClient storageClient = StorageClient.create()) {
ResourceName resource =
CryptoKeyName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]");
Policy response = storageClient.getIamPolicy(resource);
}
| Parameter | |
|---|---|
| Name | Description |
resource |
com.google.api.resourcenames.ResourceNameREQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field. |
| Returns | |
|---|---|
| Type | Description |
com.google.iam.v1.Policy |
|
getIamPolicy(GetIamPolicyRequest request)
public final Policy getIamPolicy(GetIamPolicyRequest request)Gets the IAM policy for a specified bucket or managed folder. The resource field in the
request should be projects//buckets/{bucket} for a bucket, or
projects//buckets/{bucket}/managedFolders/{managedFolder} for a managed folder.
**IAM Permissions**:
Requires storage.buckets.getIamPolicy on the bucket or
storage.managedFolders.getIamPolicy IAM permission on the managed folder.
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (StorageClient storageClient = StorageClient.create()) {
GetIamPolicyRequest request =
GetIamPolicyRequest.newBuilder()
.setResource(
CryptoKeyName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]")
.toString())
.setOptions(GetPolicyOptions.newBuilder().build())
.build();
Policy response = storageClient.getIamPolicy(request);
}
| Parameter | |
|---|---|
| Name | Description |
request |
com.google.iam.v1.GetIamPolicyRequestThe request object containing all of the parameters for the API call. |
| Returns | |
|---|---|
| Type | Description |
com.google.iam.v1.Policy |
|
getIamPolicy(String resource)
public final Policy getIamPolicy(String resource)Gets the IAM policy for a specified bucket or managed folder. The resource field in the
request should be projects//buckets/{bucket} for a bucket, or
projects//buckets/{bucket}/managedFolders/{managedFolder} for a managed folder.
**IAM Permissions**:
Requires storage.buckets.getIamPolicy on the bucket or
storage.managedFolders.getIamPolicy IAM permission on the managed folder.
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (StorageClient storageClient = StorageClient.create()) {
String resource =
CryptoKeyName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]").toString();
Policy response = storageClient.getIamPolicy(resource);
}
| Parameter | |
|---|---|
| Name | Description |
resource |
StringREQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field. |
| Returns | |
|---|---|
| Type | Description |
com.google.iam.v1.Policy |
|
getIamPolicyCallable()
public final UnaryCallable<GetIamPolicyRequest,Policy> getIamPolicyCallable()Gets the IAM policy for a specified bucket or managed folder. The resource field in the
request should be projects//buckets/{bucket} for a bucket, or
projects//buckets/{bucket}/managedFolders/{managedFolder} for a managed folder.
**IAM Permissions**:
Requires storage.buckets.getIamPolicy on the bucket or
storage.managedFolders.getIamPolicy IAM permission on the managed folder.
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (StorageClient storageClient = StorageClient.create()) {
GetIamPolicyRequest request =
GetIamPolicyRequest.newBuilder()
.setResource(
CryptoKeyName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]")
.toString())
.setOptions(GetPolicyOptions.newBuilder().build())
.build();
ApiFuture<Policy> future = storageClient.getIamPolicyCallable().futureCall(request);
// Do something.
Policy response = future.get();
}
| Returns | |
|---|---|
| Type | Description |
UnaryCallable<com.google.iam.v1.GetIamPolicyRequest,com.google.iam.v1.Policy> |
|
getObject(BucketName bucket, String object)
public final Object getObject(BucketName bucket, String object)Retrieves object metadata.
**IAM Permissions**:
Requires storage.objects.get IAM permission on the bucket. To return object ACLs, the
authenticated user must also have the storage.objects.getIamPolicy permission.
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (StorageClient storageClient = StorageClient.create()) {
BucketName bucket = BucketName.of("[PROJECT]", "[BUCKET]");
String object = "object-1023368385";
Object response = storageClient.getObject(bucket, object);
}
| Parameters | |
|---|---|
| Name | Description |
bucket |
BucketNameRequired. Name of the bucket in which the object resides. |
object |
StringRequired. Name of the object. |
| Returns | |
|---|---|
| Type | Description |
Object |
|
getObject(BucketName bucket, String object, long generation)
public final Object getObject(BucketName bucket, String object, long generation)Retrieves object metadata.
**IAM Permissions**:
Requires storage.objects.get IAM permission on the bucket. To return object ACLs, the
authenticated user must also have the storage.objects.getIamPolicy permission.
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (StorageClient storageClient = StorageClient.create()) {
BucketName bucket = BucketName.of("[PROJECT]", "[BUCKET]");
String object = "object-1023368385";
long generation = 305703192;
Object response = storageClient.getObject(bucket, object, generation);
}
| Parameters | |
|---|---|
| Name | Description |
bucket |
BucketNameRequired. Name of the bucket in which the object resides. |
object |
StringRequired. Name of the object. |
generation |
longOptional. If present, selects a specific revision of this object (as opposed to the latest version, the default). |
| Returns | |
|---|---|
| Type | Description |
Object |
|
getObject(GetObjectRequest request)
public final Object getObject(GetObjectRequest request)Retrieves object metadata.
**IAM Permissions**:
Requires storage.objects.get IAM permission on the bucket. To return object ACLs, the
authenticated user must also have the storage.objects.getIamPolicy permission.
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (StorageClient storageClient = StorageClient.create()) {
GetObjectRequest request =
GetObjectRequest.newBuilder()
.setBucket(BucketName.of("[PROJECT]", "[BUCKET]").toString())
.setObject("object-1023368385")
.setGeneration(305703192)
.setSoftDeleted(true)
.setIfGenerationMatch(-1086241088)
.setIfGenerationNotMatch(1475720404)
.setIfMetagenerationMatch(1043427781)
.setIfMetagenerationNotMatch(1025430873)
.setCommonObjectRequestParams(CommonObjectRequestParams.newBuilder().build())
.setReadMask(FieldMask.newBuilder().build())
.setRestoreToken("restoreToken1638686731")
.build();
Object response = storageClient.getObject(request);
}
| Parameter | |
|---|---|
| Name | Description |
request |
GetObjectRequestThe request object containing all of the parameters for the API call. |
| Returns | |
|---|---|
| Type | Description |
Object |
|
getObject(String bucket, String object)
public final Object getObject(String bucket, String object)Retrieves object metadata.
**IAM Permissions**:
Requires storage.objects.get IAM permission on the bucket. To return object ACLs, the
authenticated user must also have the storage.objects.getIamPolicy permission.
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (StorageClient storageClient = StorageClient.create()) {
String bucket = BucketName.of("[PROJECT]", "[BUCKET]").toString();
String object = "object-1023368385";
Object response = storageClient.getObject(bucket, object);
}
| Parameters | |
|---|---|
| Name | Description |
bucket |
StringRequired. Name of the bucket in which the object resides. |
object |
StringRequired. Name of the object. |
| Returns | |
|---|---|
| Type | Description |
Object |
|
getObject(String bucket, String object, long generation)
public final Object getObject(String bucket, String object, long generation)Retrieves object metadata.
**IAM Permissions**:
Requires storage.objects.get IAM permission on the bucket. To return object ACLs, the
authenticated user must also have the storage.objects.getIamPolicy permission.
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (StorageClient storageClient = StorageClient.create()) {
String bucket = BucketName.of("[PROJECT]", "[BUCKET]").toString();
String object = "object-1023368385";
long generation = 305703192;
Object response = storageClient.getObject(bucket, object, generation);
}
| Parameters | |
|---|---|
| Name | Description |
bucket |
StringRequired. Name of the bucket in which the object resides. |
object |
StringRequired. Name of the object. |
generation |
longOptional. If present, selects a specific revision of this object (as opposed to the latest version, the default). |
| Returns | |
|---|---|
| Type | Description |
Object |
|
getObjectCallable()
public final UnaryCallable<GetObjectRequest,Object> getObjectCallable()Retrieves object metadata.
**IAM Permissions**:
Requires storage.objects.get IAM permission on the bucket. To return object ACLs, the
authenticated user must also have the storage.objects.getIamPolicy permission.
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (StorageClient storageClient = StorageClient.create()) {
GetObjectRequest request =
GetObjectRequest.newBuilder()
.setBucket(BucketName.of("[PROJECT]", "[BUCKET]").toString())
.setObject("object-1023368385")
.setGeneration(305703192)
.setSoftDeleted(true)
.setIfGenerationMatch(-1086241088)
.setIfGenerationNotMatch(1475720404)
.setIfMetagenerationMatch(1043427781)
.setIfMetagenerationNotMatch(1025430873)
.setCommonObjectRequestParams(CommonObjectRequestParams.newBuilder().build())
.setReadMask(FieldMask.newBuilder().build())
.setRestoreToken("restoreToken1638686731")
.build();
ApiFuture<Object> future = storageClient.getObjectCallable().futureCall(request);
// Do something.
Object response = future.get();
}
| Returns | |
|---|---|
| Type | Description |
UnaryCallable<GetObjectRequest,Object> |
|
getSettings()
public final StorageSettings getSettings()| Returns | |
|---|---|
| Type | Description |
StorageSettings |
|
getStub()
public StorageStub getStub()| Returns | |
|---|---|
| Type | Description |
StorageStub |
|
isShutdown()
public boolean isShutdown()| Returns | |
|---|---|
| Type | Description |
boolean |
|
isTerminated()
public boolean isTerminated()| Returns | |
|---|---|
| Type | Description |
boolean |
|
listBuckets(ListBucketsRequest request)
public final StorageClient.ListBucketsPagedResponse listBuckets(ListBucketsRequest request)Retrieves a list of buckets for a given project, ordered lexicographically by name.
**IAM Permissions**:
Requires storage.buckets.list IAM permission on the bucket. Additionally, to enable
specific bucket features, the authenticated user must have the following permissions:
- To list the IAM policies: storage.buckets.getIamPolicy - To list the bucket IP filtering
rules: storage.buckets.getIpFilter
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (StorageClient storageClient = StorageClient.create()) {
ListBucketsRequest request =
ListBucketsRequest.newBuilder()
.setParent(ProjectName.of("[PROJECT]").toString())
.setPageSize(883849137)
.setPageToken("pageToken873572522")
.setPrefix("prefix-980110702")
.setReadMask(FieldMask.newBuilder().build())
.setReturnPartialSuccess(true)
.build();
for (Bucket element : storageClient.listBuckets(request).iterateAll()) {
// doThingsWith(element);
}
}
| Parameter | |
|---|---|
| Name | Description |
request |
ListBucketsRequestThe request object containing all of the parameters for the API call. |
| Returns | |
|---|---|
| Type | Description |
StorageClient.ListBucketsPagedResponse |
|
listBuckets(ProjectName parent)
public final StorageClient.ListBucketsPagedResponse listBuckets(ProjectName parent)Retrieves a list of buckets for a given project, ordered lexicographically by name.
**IAM Permissions**:
Requires storage.buckets.list IAM permission on the bucket. Additionally, to enable
specific bucket features, the authenticated user must have the following permissions:
- To list the IAM policies: storage.buckets.getIamPolicy - To list the bucket IP filtering
rules: storage.buckets.getIpFilter
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (StorageClient storageClient = StorageClient.create()) {
ProjectName parent = ProjectName.of("[PROJECT]");
for (Bucket element : storageClient.listBuckets(parent).iterateAll()) {
// doThingsWith(element);
}
}
| Parameter | |
|---|---|
| Name | Description |
parent |
ProjectNameRequired. The project whose buckets we are listing. |
| Returns | |
|---|---|
| Type | Description |
StorageClient.ListBucketsPagedResponse |
|
listBuckets(String parent)
public final StorageClient.ListBucketsPagedResponse listBuckets(String parent)Retrieves a list of buckets for a given project, ordered lexicographically by name.
**IAM Permissions**:
Requires storage.buckets.list IAM permission on the bucket. Additionally, to enable
specific bucket features, the authenticated user must have the following permissions:
- To list the IAM policies: storage.buckets.getIamPolicy - To list the bucket IP filtering
rules: storage.buckets.getIpFilter
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (StorageClient storageClient = StorageClient.create()) {
String parent = ProjectName.of("[PROJECT]").toString();
for (Bucket element : storageClient.listBuckets(parent).iterateAll()) {
// doThingsWith(element);
}
}
| Parameter | |
|---|---|
| Name | Description |
parent |
StringRequired. The project whose buckets we are listing. |
| Returns | |
|---|---|
| Type | Description |
StorageClient.ListBucketsPagedResponse |
|
listBucketsCallable()
public final UnaryCallable<ListBucketsRequest,ListBucketsResponse> listBucketsCallable()Retrieves a list of buckets for a given project, ordered lexicographically by name.
**IAM Permissions**:
Requires storage.buckets.list IAM permission on the bucket. Additionally, to enable
specific bucket features, the authenticated user must have the following permissions:
- To list the IAM policies: storage.buckets.getIamPolicy - To list the bucket IP filtering
rules: storage.buckets.getIpFilter
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (StorageClient storageClient = StorageClient.create()) {
ListBucketsRequest request =
ListBucketsRequest.newBuilder()
.setParent(ProjectName.of("[PROJECT]").toString())
.setPageSize(883849137)
.setPageToken("pageToken873572522")
.setPrefix("prefix-980110702")
.setReadMask(FieldMask.newBuilder().build())
.setReturnPartialSuccess(true)
.build();
while (true) {
ListBucketsResponse response = storageClient.listBucketsCallable().call(request);
for (Bucket element : response.getBucketsList()) {
// doThingsWith(element);
}
String nextPageToken = response.getNextPageToken();
if (!Strings.isNullOrEmpty(nextPageToken)) {
request = request.toBuilder().setPageToken(nextPageToken).build();
} else {
break;
}
}
}
| Returns | |
|---|---|
| Type | Description |
UnaryCallable<ListBucketsRequest,ListBucketsResponse> |
|
listBucketsPagedCallable()
public final UnaryCallable<ListBucketsRequest,StorageClient.ListBucketsPagedResponse> listBucketsPagedCallable()Retrieves a list of buckets for a given project, ordered lexicographically by name.
**IAM Permissions**:
Requires storage.buckets.list IAM permission on the bucket. Additionally, to enable
specific bucket features, the authenticated user must have the following permissions:
- To list the IAM policies: storage.buckets.getIamPolicy - To list the bucket IP filtering
rules: storage.buckets.getIpFilter
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (StorageClient storageClient = StorageClient.create()) {
ListBucketsRequest request =
ListBucketsRequest.newBuilder()
.setParent(ProjectName.of("[PROJECT]").toString())
.setPageSize(883849137)
.setPageToken("pageToken873572522")
.setPrefix("prefix-980110702")
.setReadMask(FieldMask.newBuilder().build())
.setReturnPartialSuccess(true)
.build();
ApiFuture<Bucket> future = storageClient.listBucketsPagedCallable().futureCall(request);
// Do something.
for (Bucket element : future.get().iterateAll()) {
// doThingsWith(element);
}
}
| Returns | |
|---|---|
| Type | Description |
UnaryCallable<ListBucketsRequest,ListBucketsPagedResponse> |
|
listObjects(BucketName parent)
public final StorageClient.ListObjectsPagedResponse listObjects(BucketName parent)Retrieves a list of objects matching the criteria.
**IAM Permissions**:
The authenticated user requires storage.objects.list IAM permission to use this method. To
return object ACLs, the authenticated user must also have the storage.objects.getIamPolicy
permission.
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (StorageClient storageClient = StorageClient.create()) {
BucketName parent = BucketName.of("[PROJECT]", "[BUCKET]");
for (Object element : storageClient.listObjects(parent).iterateAll()) {
// doThingsWith(element);
}
}
| Parameter | |
|---|---|
| Name | Description |
parent |
BucketNameRequired. Name of the bucket in which to look for objects. |
| Returns | |
|---|---|
| Type | Description |
StorageClient.ListObjectsPagedResponse |
|
listObjects(ListObjectsRequest request)
public final StorageClient.ListObjectsPagedResponse listObjects(ListObjectsRequest request)Retrieves a list of objects matching the criteria.
**IAM Permissions**:
The authenticated user requires storage.objects.list IAM permission to use this method. To
return object ACLs, the authenticated user must also have the storage.objects.getIamPolicy
permission.
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (StorageClient storageClient = StorageClient.create()) {
ListObjectsRequest request =
ListObjectsRequest.newBuilder()
.setParent(BucketName.of("[PROJECT]", "[BUCKET]").toString())
.setPageSize(883849137)
.setPageToken("pageToken873572522")
.setDelimiter("delimiter-250518009")
.setIncludeTrailingDelimiter(true)
.setPrefix("prefix-980110702")
.setVersions(true)
.setReadMask(FieldMask.newBuilder().build())
.setLexicographicStart("lexicographicStart-2093413008")
.setLexicographicEnd("lexicographicEnd1646968169")
.setSoftDeleted(true)
.setIncludeFoldersAsPrefixes(true)
.setMatchGlob("matchGlob613636317")
.setFilter("filter-1274492040")
.build();
for (Object element : storageClient.listObjects(request).iterateAll()) {
// doThingsWith(element);
}
}
| Parameter | |
|---|---|
| Name | Description |
request |
ListObjectsRequestThe request object containing all of the parameters for the API call. |
| Returns | |
|---|---|
| Type | Description |
StorageClient.ListObjectsPagedResponse |
|
listObjects(String parent)
public final StorageClient.ListObjectsPagedResponse listObjects(String parent)Retrieves a list of objects matching the criteria.
**IAM Permissions**:
The authenticated user requires storage.objects.list IAM permission to use this method. To
return object ACLs, the authenticated user must also have the storage.objects.getIamPolicy
permission.
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (StorageClient storageClient = StorageClient.create()) {
String parent = BucketName.of("[PROJECT]", "[BUCKET]").toString();
for (Object element : storageClient.listObjects(parent).iterateAll()) {
// doThingsWith(element);
}
}
| Parameter | |
|---|---|
| Name | Description |
parent |
StringRequired. Name of the bucket in which to look for objects. |
| Returns | |
|---|---|
| Type | Description |
StorageClient.ListObjectsPagedResponse |
|
listObjectsCallable()
public final UnaryCallable<ListObjectsRequest,ListObjectsResponse> listObjectsCallable()Retrieves a list of objects matching the criteria.
**IAM Permissions**:
The authenticated user requires storage.objects.list IAM permission to use this method. To
return object ACLs, the authenticated user must also have the storage.objects.getIamPolicy
permission.
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (StorageClient storageClient = StorageClient.create()) {
ListObjectsRequest request =
ListObjectsRequest.newBuilder()
.setParent(BucketName.of("[PROJECT]", "[BUCKET]").toString())
.setPageSize(883849137)
.setPageToken("pageToken873572522")
.setDelimiter("delimiter-250518009")
.setIncludeTrailingDelimiter(true)
.setPrefix("prefix-980110702")
.setVersions(true)
.setReadMask(FieldMask.newBuilder().build())
.setLexicographicStart("lexicographicStart-2093413008")
.setLexicographicEnd("lexicographicEnd1646968169")
.setSoftDeleted(true)
.setIncludeFoldersAsPrefixes(true)
.setMatchGlob("matchGlob613636317")
.setFilter("filter-1274492040")
.build();
while (true) {
ListObjectsResponse response = storageClient.listObjectsCallable().call(request);
for (Object element : response.getObjectsList()) {
// doThingsWith(element);
}
String nextPageToken = response.getNextPageToken();
if (!Strings.isNullOrEmpty(nextPageToken)) {
request = request.toBuilder().setPageToken(nextPageToken).build();
} else {
break;
}
}
}
| Returns | |
|---|---|
| Type | Description |
UnaryCallable<ListObjectsRequest,ListObjectsResponse> |
|
listObjectsPagedCallable()
public final UnaryCallable<ListObjectsRequest,StorageClient.ListObjectsPagedResponse> listObjectsPagedCallable()Retrieves a list of objects matching the criteria.
**IAM Permissions**:
The authenticated user requires storage.objects.list IAM permission to use this method. To
return object ACLs, the authenticated user must also have the storage.objects.getIamPolicy
permission.
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (StorageClient storageClient = StorageClient.create()) {
ListObjectsRequest request =
ListObjectsRequest.newBuilder()
.setParent(BucketName.of("[PROJECT]", "[BUCKET]").toString())
.setPageSize(883849137)
.setPageToken("pageToken873572522")
.setDelimiter("delimiter-250518009")
.setIncludeTrailingDelimiter(true)
.setPrefix("prefix-980110702")
.setVersions(true)
.setReadMask(FieldMask.newBuilder().build())
.setLexicographicStart("lexicographicStart-2093413008")
.setLexicographicEnd("lexicographicEnd1646968169")
.setSoftDeleted(true)
.setIncludeFoldersAsPrefixes(true)
.setMatchGlob("matchGlob613636317")
.setFilter("filter-1274492040")
.build();
ApiFuture<Object> future = storageClient.listObjectsPagedCallable().futureCall(request);
// Do something.
for (Object element : future.get().iterateAll()) {
// doThingsWith(element);
}
}
| Returns | |
|---|---|
| Type | Description |
UnaryCallable<ListObjectsRequest,ListObjectsPagedResponse> |
|
lockBucketRetentionPolicy(BucketName bucket)
public final Bucket lockBucketRetentionPolicy(BucketName bucket)Permanently locks the retention policy that is currently applied to the specified bucket.
Caution: Locking a bucket is an irreversible action. Once you lock a bucket:
- You cannot remove the retention policy from the bucket. - You cannot decrease the retention period for the policy.
Once locked, you must delete the entire bucket in order to remove the bucket's retention policy. However, before you can delete the bucket, you must delete all the objects in the bucket, which is only possible if all the objects have reached the retention period set by the retention policy.
**IAM Permissions**:
Requires storage.buckets.update IAM permission on the bucket.
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (StorageClient storageClient = StorageClient.create()) {
BucketName bucket = BucketName.of("[PROJECT]", "[BUCKET]");
Bucket response = storageClient.lockBucketRetentionPolicy(bucket);
}
| Parameter | |
|---|---|
| Name | Description |
bucket |
BucketNameRequired. Name of a bucket. |
| Returns | |
|---|---|
| Type | Description |
Bucket |
|
lockBucketRetentionPolicy(LockBucketRetentionPolicyRequest request)
public final Bucket lockBucketRetentionPolicy(LockBucketRetentionPolicyRequest request)Permanently locks the retention policy that is currently applied to the specified bucket.
Caution: Locking a bucket is an irreversible action. Once you lock a bucket:
- You cannot remove the retention policy from the bucket. - You cannot decrease the retention period for the policy.
Once locked, you must delete the entire bucket in order to remove the bucket's retention policy. However, before you can delete the bucket, you must delete all the objects in the bucket, which is only possible if all the objects have reached the retention period set by the retention policy.
**IAM Permissions**:
Requires storage.buckets.update IAM permission on the bucket.
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (StorageClient storageClient = StorageClient.create()) {
LockBucketRetentionPolicyRequest request =
LockBucketRetentionPolicyRequest.newBuilder()
.setBucket(BucketName.of("[PROJECT]", "[BUCKET]").toString())
.setIfMetagenerationMatch(1043427781)
.build();
Bucket response = storageClient.lockBucketRetentionPolicy(request);
}
| Parameter | |
|---|---|
| Name | Description |
request |
LockBucketRetentionPolicyRequestThe request object containing all of the parameters for the API call. |
| Returns | |
|---|---|
| Type | Description |
Bucket |
|
lockBucketRetentionPolicy(String bucket)
public final Bucket lockBucketRetentionPolicy(String bucket)Permanently locks the retention policy that is currently applied to the specified bucket.
Caution: Locking a bucket is an irreversible action. Once you lock a bucket:
- You cannot remove the retention policy from the bucket. - You cannot decrease the retention period for the policy.
Once locked, you must delete the entire bucket in order to remove the bucket's retention policy. However, before you can delete the bucket, you must delete all the objects in the bucket, which is only possible if all the objects have reached the retention period set by the retention policy.
**IAM Permissions**:
Requires storage.buckets.update IAM permission on the bucket.
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (StorageClient storageClient = StorageClient.create()) {
String bucket = BucketName.of("[PROJECT]", "[BUCKET]").toString();
Bucket response = storageClient.lockBucketRetentionPolicy(bucket);
}
| Parameter | |
|---|---|
| Name | Description |
bucket |
StringRequired. Name of a bucket. |
| Returns | |
|---|---|
| Type | Description |
Bucket |
|
lockBucketRetentionPolicyCallable()
public final UnaryCallable<LockBucketRetentionPolicyRequest,Bucket> lockBucketRetentionPolicyCallable()Permanently locks the retention policy that is currently applied to the specified bucket.
Caution: Locking a bucket is an irreversible action. Once you lock a bucket:
- You cannot remove the retention policy from the bucket. - You cannot decrease the retention period for the policy.
Once locked, you must delete the entire bucket in order to remove the bucket's retention policy. However, before you can delete the bucket, you must delete all the objects in the bucket, which is only possible if all the objects have reached the retention period set by the retention policy.
**IAM Permissions**:
Requires storage.buckets.update IAM permission on the bucket.
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (StorageClient storageClient = StorageClient.create()) {
LockBucketRetentionPolicyRequest request =
LockBucketRetentionPolicyRequest.newBuilder()
.setBucket(BucketName.of("[PROJECT]", "[BUCKET]").toString())
.setIfMetagenerationMatch(1043427781)
.build();
ApiFuture<Bucket> future =
storageClient.lockBucketRetentionPolicyCallable().futureCall(request);
// Do something.
Bucket response = future.get();
}
| Returns | |
|---|---|
| Type | Description |
UnaryCallable<LockBucketRetentionPolicyRequest,Bucket> |
|
moveObject(BucketName bucket, String sourceObject, String destinationObject)
public final Object moveObject(BucketName bucket, String sourceObject, String destinationObject)Moves the source object to the destination object in the same bucket. This operation moves a source object to a destination object in the same bucket by renaming the object. The move itself is an atomic transaction, ensuring all steps either complete successfully or no changes are made.
**IAM Permissions**:
Requires the following IAM permissions to use this method:
- storage.objects.move - storage.objects.create - storage.objects.delete (only
required if overwriting an existing object)
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (StorageClient storageClient = StorageClient.create()) {
BucketName bucket = BucketName.of("[PROJECT]", "[BUCKET]");
String sourceObject = "sourceObject1196439354";
String destinationObject = "destinationObject-1761603347";
Object response = storageClient.moveObject(bucket, sourceObject, destinationObject);
}
| Parameters | |
|---|---|
| Name | Description |
bucket |
BucketNameRequired. Name of the bucket in which the object resides. |
sourceObject |
StringRequired. Name of the source object. |
destinationObject |
StringRequired. Name of the destination object. |
| Returns | |
|---|---|
| Type | Description |
Object |
|
moveObject(MoveObjectRequest request)
public final Object moveObject(MoveObjectRequest request)Moves the source object to the destination object in the same bucket. This operation moves a source object to a destination object in the same bucket by renaming the object. The move itself is an atomic transaction, ensuring all steps either complete successfully or no changes are made.
**IAM Permissions**:
Requires the following IAM permissions to use this method:
- storage.objects.move - storage.objects.create - storage.objects.delete (only
required if overwriting an existing object)
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (StorageClient storageClient = StorageClient.create()) {
MoveObjectRequest request =
MoveObjectRequest.newBuilder()
.setBucket(BucketName.of("[PROJECT]", "[BUCKET]").toString())
.setSourceObject("sourceObject1196439354")
.setDestinationObject("destinationObject-1761603347")
.setIfSourceGenerationMatch(-1427877280)
.setIfSourceGenerationNotMatch(1575612532)
.setIfSourceMetagenerationMatch(1143319909)
.setIfSourceMetagenerationNotMatch(1900822777)
.setIfGenerationMatch(-1086241088)
.setIfGenerationNotMatch(1475720404)
.setIfMetagenerationMatch(1043427781)
.setIfMetagenerationNotMatch(1025430873)
.build();
Object response = storageClient.moveObject(request);
}
| Parameter | |
|---|---|
| Name | Description |
request |
MoveObjectRequestThe request object containing all of the parameters for the API call. |
| Returns | |
|---|---|
| Type | Description |
Object |
|
moveObject(String bucket, String sourceObject, String destinationObject)
public final Object moveObject(String bucket, String sourceObject, String destinationObject)Moves the source object to the destination object in the same bucket. This operation moves a source object to a destination object in the same bucket by renaming the object. The move itself is an atomic transaction, ensuring all steps either complete successfully or no changes are made.
**IAM Permissions**:
Requires the following IAM permissions to use this method:
- storage.objects.move - storage.objects.create - storage.objects.delete (only
required if overwriting an existing object)
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (StorageClient storageClient = StorageClient.create()) {
String bucket = BucketName.of("[PROJECT]", "[BUCKET]").toString();
String sourceObject = "sourceObject1196439354";
String destinationObject = "destinationObject-1761603347";
Object response = storageClient.moveObject(bucket, sourceObject, destinationObject);
}
| Parameters | |
|---|---|
| Name | Description |
bucket |
StringRequired. Name of the bucket in which the object resides. |
sourceObject |
StringRequired. Name of the source object. |
destinationObject |
StringRequired. Name of the destination object. |
| Returns | |
|---|---|
| Type | Description |
Object |
|
moveObjectCallable()
public final UnaryCallable<MoveObjectRequest,Object> moveObjectCallable()Moves the source object to the destination object in the same bucket. This operation moves a source object to a destination object in the same bucket by renaming the object. The move itself is an atomic transaction, ensuring all steps either complete successfully or no changes are made.
**IAM Permissions**:
Requires the following IAM permissions to use this method:
- storage.objects.move - storage.objects.create - storage.objects.delete (only
required if overwriting an existing object)
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (StorageClient storageClient = StorageClient.create()) {
MoveObjectRequest request =
MoveObjectRequest.newBuilder()
.setBucket(BucketName.of("[PROJECT]", "[BUCKET]").toString())
.setSourceObject("sourceObject1196439354")
.setDestinationObject("destinationObject-1761603347")
.setIfSourceGenerationMatch(-1427877280)
.setIfSourceGenerationNotMatch(1575612532)
.setIfSourceMetagenerationMatch(1143319909)
.setIfSourceMetagenerationNotMatch(1900822777)
.setIfGenerationMatch(-1086241088)
.setIfGenerationNotMatch(1475720404)
.setIfMetagenerationMatch(1043427781)
.setIfMetagenerationNotMatch(1025430873)
.build();
ApiFuture<Object> future = storageClient.moveObjectCallable().futureCall(request);
// Do something.
Object response = future.get();
}
| Returns | |
|---|---|
| Type | Description |
UnaryCallable<MoveObjectRequest,Object> |
|
queryWriteStatus(QueryWriteStatusRequest request)
public final QueryWriteStatusResponse queryWriteStatus(QueryWriteStatusRequest request)Determines the persisted_size of an object that is being written. This method is part of the
resumable upload feature. The returned value is the size of the object that has been persisted
so far. The value can be used as the write_offset for the next Write() call.
If the object does not exist, meaning if it was deleted, or the first Write() has not yet
reached the service, this method returns the error NOT_FOUND.
This method is useful for clients that buffer data and need to know which data can be safely
evicted. The client can call QueryWriteStatus() at any time to determine how much data has
been logged for this object. For any sequence of QueryWriteStatus() calls for a given object
name, the sequence of returned persisted_size values are non-decreasing.
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (StorageClient storageClient = StorageClient.create()) {
QueryWriteStatusRequest request =
QueryWriteStatusRequest.newBuilder()
.setUploadId("uploadId1563990780")
.setCommonObjectRequestParams(CommonObjectRequestParams.newBuilder().build())
.build();
QueryWriteStatusResponse response = storageClient.queryWriteStatus(request);
}
| Parameter | |
|---|---|
| Name | Description |
request |
QueryWriteStatusRequestThe request object containing all of the parameters for the API call. |
| Returns | |
|---|---|
| Type | Description |
QueryWriteStatusResponse |
|
queryWriteStatus(String uploadId)
public final QueryWriteStatusResponse queryWriteStatus(String uploadId)Determines the persisted_size of an object that is being written. This method is part of the
resumable upload feature. The returned value is the size of the object that has been persisted
so far. The value can be used as the write_offset for the next Write() call.
If the object does not exist, meaning if it was deleted, or the first Write() has not yet
reached the service, this method returns the error NOT_FOUND.
This method is useful for clients that buffer data and need to know which data can be safely
evicted. The client can call QueryWriteStatus() at any time to determine how much data has
been logged for this object. For any sequence of QueryWriteStatus() calls for a given object
name, the sequence of returned persisted_size values are non-decreasing.
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (StorageClient storageClient = StorageClient.create()) {
String uploadId = "uploadId1563990780";
QueryWriteStatusResponse response = storageClient.queryWriteStatus(uploadId);
}
| Parameter | |
|---|---|
| Name | Description |
uploadId |
StringRequired. The name of the resume token for the object whose write status is being requested. |
| Returns | |
|---|---|
| Type | Description |
QueryWriteStatusResponse |
|
queryWriteStatusCallable()
public final UnaryCallable<QueryWriteStatusRequest,QueryWriteStatusResponse> queryWriteStatusCallable()Determines the persisted_size of an object that is being written. This method is part of the
resumable upload feature. The returned value is the size of the object that has been persisted
so far. The value can be used as the write_offset for the next Write() call.
If the object does not exist, meaning if it was deleted, or the first Write() has not yet
reached the service, this method returns the error NOT_FOUND.
This method is useful for clients that buffer data and need to know which data can be safely
evicted. The client can call QueryWriteStatus() at any time to determine how much data has
been logged for this object. For any sequence of QueryWriteStatus() calls for a given object
name, the sequence of returned persisted_size values are non-decreasing.
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (StorageClient storageClient = StorageClient.create()) {
QueryWriteStatusRequest request =
QueryWriteStatusRequest.newBuilder()
.setUploadId("uploadId1563990780")
.setCommonObjectRequestParams(CommonObjectRequestParams.newBuilder().build())
.build();
ApiFuture<QueryWriteStatusResponse> future =
storageClient.queryWriteStatusCallable().futureCall(request);
// Do something.
QueryWriteStatusResponse response = future.get();
}
| Returns | |
|---|---|
| Type | Description |
UnaryCallable<QueryWriteStatusRequest,QueryWriteStatusResponse> |
|
readObjectCallable()
public final ServerStreamingCallable<ReadObjectRequest,ReadObjectResponse> readObjectCallable()Retrieves object data.
**IAM Permissions**:
Requires storage.objects.get IAM permission on the bucket.
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (StorageClient storageClient = StorageClient.create()) {
ReadObjectRequest request =
ReadObjectRequest.newBuilder()
.setBucket(BucketName.of("[PROJECT]", "[BUCKET]").toString())
.setObject("object-1023368385")
.setGeneration(305703192)
.setReadOffset(-715377828)
.setReadLimit(-164298798)
.setIfGenerationMatch(-1086241088)
.setIfGenerationNotMatch(1475720404)
.setIfMetagenerationMatch(1043427781)
.setIfMetagenerationNotMatch(1025430873)
.setCommonObjectRequestParams(CommonObjectRequestParams.newBuilder().build())
.setReadMask(FieldMask.newBuilder().build())
.build();
ServerStream<ReadObjectResponse> stream = storageClient.readObjectCallable().call(request);
for (ReadObjectResponse response : stream) {
// Do something when a response is received.
}
}
| Returns | |
|---|---|
| Type | Description |
ServerStreamingCallable<ReadObjectRequest,ReadObjectResponse> |
|
restoreObject(BucketName bucket, String object, long generation)
public final Object restoreObject(BucketName bucket, String object, long generation)Restores a soft-deleted object. When a soft-deleted object is restored, a new copy of that object is created in the same bucket and inherits the same metadata as the soft-deleted object. The inherited metadata is the metadata that existed when the original object became soft deleted, with the following exceptions:
- The createTime of the new object is set to the time at which the soft-deleted object was
restored. - The softDeleteTime and hardDeleteTime values are cleared. - A new generation is
assigned and the metageneration is reset to 1. - If the soft-deleted object was in a bucket
that had Autoclass enabled, the new object is restored to Standard storage. - The restored
object inherits the bucket's default object ACL, unless copySourceAcl is true.
If a live object using the same name already exists in the bucket and becomes overwritten, the live object becomes a noncurrent object if Object Versioning is enabled on the bucket. If Object Versioning is not enabled, the live object becomes soft deleted.
**IAM Permissions**:
Requires the following IAM permissions to use this method:
- storage.objects.restore - storage.objects.create - storage.objects.delete (only
required if overwriting an existing object) - storage.objects.getIamPolicy (only required if
projection is full and the relevant bucket has uniform bucket-level access disabled) -
storage.objects.setIamPolicy (only required if copySourceAcl is true and the relevant
bucket has uniform bucket-level access disabled)
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (StorageClient storageClient = StorageClient.create()) {
BucketName bucket = BucketName.of("[PROJECT]", "[BUCKET]");
String object = "object-1023368385";
long generation = 305703192;
Object response = storageClient.restoreObject(bucket, object, generation);
}
| Parameters | |
|---|---|
| Name | Description |
bucket |
BucketNameRequired. Name of the bucket in which the object resides. |
object |
StringRequired. The name of the object to restore. |
generation |
longRequired. The specific revision of the object to restore. |
| Returns | |
|---|---|
| Type | Description |
Object |
|
restoreObject(RestoreObjectRequest request)
public final Object restoreObject(RestoreObjectRequest request)Restores a soft-deleted object. When a soft-deleted object is restored, a new copy of that object is created in the same bucket and inherits the same metadata as the soft-deleted object. The inherited metadata is the metadata that existed when the original object became soft deleted, with the following exceptions:
- The createTime of the new object is set to the time at which the soft-deleted object was
restored. - The softDeleteTime and hardDeleteTime values are cleared. - A new generation is
assigned and the metageneration is reset to 1. - If the soft-deleted object was in a bucket
that had Autoclass enabled, the new object is restored to Standard storage. - The restored
object inherits the bucket's default object ACL, unless copySourceAcl is true.
If a live object using the same name already exists in the bucket and becomes overwritten, the live object becomes a noncurrent object if Object Versioning is enabled on the bucket. If Object Versioning is not enabled, the live object becomes soft deleted.
**IAM Permissions**:
Requires the following IAM permissions to use this method:
- storage.objects.restore - storage.objects.create - storage.objects.delete (only
required if overwriting an existing object) - storage.objects.getIamPolicy (only required if
projection is full and the relevant bucket has uniform bucket-level access disabled) -
storage.objects.setIamPolicy (only required if copySourceAcl is true and the relevant
bucket has uniform bucket-level access disabled)
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (StorageClient storageClient = StorageClient.create()) {
RestoreObjectRequest request =
RestoreObjectRequest.newBuilder()
.setBucket(BucketName.of("[PROJECT]", "[BUCKET]").toString())
.setObject("object-1023368385")
.setGeneration(305703192)
.setRestoreToken("restoreToken1638686731")
.setIfGenerationMatch(-1086241088)
.setIfGenerationNotMatch(1475720404)
.setIfMetagenerationMatch(1043427781)
.setIfMetagenerationNotMatch(1025430873)
.setCopySourceAcl(true)
.setCommonObjectRequestParams(CommonObjectRequestParams.newBuilder().build())
.build();
Object response = storageClient.restoreObject(request);
}
| Parameter | |
|---|---|
| Name | Description |
request |
RestoreObjectRequestThe request object containing all of the parameters for the API call. |
| Returns | |
|---|---|
| Type | Description |
Object |
|
restoreObject(String bucket, String object, long generation)
public final Object restoreObject(String bucket, String object, long generation)Restores a soft-deleted object. When a soft-deleted object is restored, a new copy of that object is created in the same bucket and inherits the same metadata as the soft-deleted object. The inherited metadata is the metadata that existed when the original object became soft deleted, with the following exceptions:
- The createTime of the new object is set to the time at which the soft-deleted object was
restored. - The softDeleteTime and hardDeleteTime values are cleared. - A new generation is
assigned and the metageneration is reset to 1. - If the soft-deleted object was in a bucket
that had Autoclass enabled, the new object is restored to Standard storage. - The restored
object inherits the bucket's default object ACL, unless copySourceAcl is true.
If a live object using the same name already exists in the bucket and becomes overwritten, the live object becomes a noncurrent object if Object Versioning is enabled on the bucket. If Object Versioning is not enabled, the live object becomes soft deleted.
**IAM Permissions**:
Requires the following IAM permissions to use this method:
- storage.objects.restore - storage.objects.create - storage.objects.delete (only
required if overwriting an existing object) - storage.objects.getIamPolicy (only required if
projection is full and the relevant bucket has uniform bucket-level access disabled) -
storage.objects.setIamPolicy (only required if copySourceAcl is true and the relevant
bucket has uniform bucket-level access disabled)
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (StorageClient storageClient = StorageClient.create()) {
String bucket = BucketName.of("[PROJECT]", "[BUCKET]").toString();
String object = "object-1023368385";
long generation = 305703192;
Object response = storageClient.restoreObject(bucket, object, generation);
}
| Parameters | |
|---|---|
| Name | Description |
bucket |
StringRequired. Name of the bucket in which the object resides. |
object |
StringRequired. The name of the object to restore. |
generation |
longRequired. The specific revision of the object to restore. |
| Returns | |
|---|---|
| Type | Description |
Object |
|
restoreObjectCallable()
public final UnaryCallable<RestoreObjectRequest,Object> restoreObjectCallable()Restores a soft-deleted object. When a soft-deleted object is restored, a new copy of that object is created in the same bucket and inherits the same metadata as the soft-deleted object. The inherited metadata is the metadata that existed when the original object became soft deleted, with the following exceptions:
- The createTime of the new object is set to the time at which the soft-deleted object was
restored. - The softDeleteTime and hardDeleteTime values are cleared. - A new generation is
assigned and the metageneration is reset to 1. - If the soft-deleted object was in a bucket
that had Autoclass enabled, the new object is restored to Standard storage. - The restored
object inherits the bucket's default object ACL, unless copySourceAcl is true.
If a live object using the same name already exists in the bucket and becomes overwritten, the live object becomes a noncurrent object if Object Versioning is enabled on the bucket. If Object Versioning is not enabled, the live object becomes soft deleted.
**IAM Permissions**:
Requires the following IAM permissions to use this method:
- storage.objects.restore - storage.objects.create - storage.objects.delete (only
required if overwriting an existing object) - storage.objects.getIamPolicy (only required if
projection is full and the relevant bucket has uniform bucket-level access disabled) -
storage.objects.setIamPolicy (only required if copySourceAcl is true and the relevant
bucket has uniform bucket-level access disabled)
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (StorageClient storageClient = StorageClient.create()) {
RestoreObjectRequest request =
RestoreObjectRequest.newBuilder()
.setBucket(BucketName.of("[PROJECT]", "[BUCKET]").toString())
.setObject("object-1023368385")
.setGeneration(305703192)
.setRestoreToken("restoreToken1638686731")
.setIfGenerationMatch(-1086241088)
.setIfGenerationNotMatch(1475720404)
.setIfMetagenerationMatch(1043427781)
.setIfMetagenerationNotMatch(1025430873)
.setCopySourceAcl(true)
.setCommonObjectRequestParams(CommonObjectRequestParams.newBuilder().build())
.build();
ApiFuture<Object> future = storageClient.restoreObjectCallable().futureCall(request);
// Do something.
Object response = future.get();
}
| Returns | |
|---|---|
| Type | Description |
UnaryCallable<RestoreObjectRequest,Object> |
|
rewriteObject(RewriteObjectRequest request)
public final RewriteResponse rewriteObject(RewriteObjectRequest request)Rewrites a source object to a destination object. Optionally overrides metadata.
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (StorageClient storageClient = StorageClient.create()) {
RewriteObjectRequest request =
RewriteObjectRequest.newBuilder()
.setDestinationName("destinationName-1762755655")
.setDestinationBucket(BucketName.of("[PROJECT]", "[BUCKET]").toString())
.setDestinationKmsKey(
CryptoKeyName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]")
.toString())
.setDestination(Object.newBuilder().build())
.setSourceBucket(BucketName.of("[PROJECT]", "[BUCKET]").toString())
.setSourceObject("sourceObject1196439354")
.setSourceGeneration(1232209852)
.setRewriteToken("rewriteToken80654285")
.setDestinationPredefinedAcl("destinationPredefinedAcl1111125814")
.setIfGenerationMatch(-1086241088)
.setIfGenerationNotMatch(1475720404)
.setIfMetagenerationMatch(1043427781)
.setIfMetagenerationNotMatch(1025430873)
.setIfSourceGenerationMatch(-1427877280)
.setIfSourceGenerationNotMatch(1575612532)
.setIfSourceMetagenerationMatch(1143319909)
.setIfSourceMetagenerationNotMatch(1900822777)
.setMaxBytesRewrittenPerCall(1178170730)
.setCopySourceEncryptionAlgorithm("copySourceEncryptionAlgorithm-1524952548")
.setCopySourceEncryptionKeyBytes(ByteString.EMPTY)
.setCopySourceEncryptionKeySha256Bytes(ByteString.EMPTY)
.setCommonObjectRequestParams(CommonObjectRequestParams.newBuilder().build())
.setObjectChecksums(ObjectChecksums.newBuilder().build())
.build();
RewriteResponse response = storageClient.rewriteObject(request);
}
| Parameter | |
|---|---|
| Name | Description |
request |
RewriteObjectRequestThe request object containing all of the parameters for the API call. |
| Returns | |
|---|---|
| Type | Description |
RewriteResponse |
|
rewriteObjectCallable()
public final UnaryCallable<RewriteObjectRequest,RewriteResponse> rewriteObjectCallable()Rewrites a source object to a destination object. Optionally overrides metadata.
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (StorageClient storageClient = StorageClient.create()) {
RewriteObjectRequest request =
RewriteObjectRequest.newBuilder()
.setDestinationName("destinationName-1762755655")
.setDestinationBucket(BucketName.of("[PROJECT]", "[BUCKET]").toString())
.setDestinationKmsKey(
CryptoKeyName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]")
.toString())
.setDestination(Object.newBuilder().build())
.setSourceBucket(BucketName.of("[PROJECT]", "[BUCKET]").toString())
.setSourceObject("sourceObject1196439354")
.setSourceGeneration(1232209852)
.setRewriteToken("rewriteToken80654285")
.setDestinationPredefinedAcl("destinationPredefinedAcl1111125814")
.setIfGenerationMatch(-1086241088)
.setIfGenerationNotMatch(1475720404)
.setIfMetagenerationMatch(1043427781)
.setIfMetagenerationNotMatch(1025430873)
.setIfSourceGenerationMatch(-1427877280)
.setIfSourceGenerationNotMatch(1575612532)
.setIfSourceMetagenerationMatch(1143319909)
.setIfSourceMetagenerationNotMatch(1900822777)
.setMaxBytesRewrittenPerCall(1178170730)
.setCopySourceEncryptionAlgorithm("copySourceEncryptionAlgorithm-1524952548")
.setCopySourceEncryptionKeyBytes(ByteString.EMPTY)
.setCopySourceEncryptionKeySha256Bytes(ByteString.EMPTY)
.setCommonObjectRequestParams(CommonObjectRequestParams.newBuilder().build())
.setObjectChecksums(ObjectChecksums.newBuilder().build())
.build();
ApiFuture<RewriteResponse> future = storageClient.rewriteObjectCallable().futureCall(request);
// Do something.
RewriteResponse response = future.get();
}
| Returns | |
|---|---|
| Type | Description |
UnaryCallable<RewriteObjectRequest,RewriteResponse> |
|
setIamPolicy(ResourceName resource, Policy policy)
public final Policy setIamPolicy(ResourceName resource, Policy policy)Updates an IAM policy for the specified bucket or managed folder. The resource field in the
request should be projects//buckets/{bucket} for a bucket, or
projects//buckets/{bucket}/managedFolders/{managedFolder} for a managed folder.
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (StorageClient storageClient = StorageClient.create()) {
ResourceName resource =
CryptoKeyName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]");
Policy policy = Policy.newBuilder().build();
Policy response = storageClient.setIamPolicy(resource, policy);
}
| Parameters | |
|---|---|
| Name | Description |
resource |
com.google.api.resourcenames.ResourceNameREQUIRED: The resource for which the policy is being specified. See the operation documentation for the appropriate value for this field. |
policy |
com.google.iam.v1.PolicyREQUIRED: The complete policy to be applied to the |
| Returns | |
|---|---|
| Type | Description |
com.google.iam.v1.Policy |
|
setIamPolicy(SetIamPolicyRequest request)
public final Policy setIamPolicy(SetIamPolicyRequest request)Updates an IAM policy for the specified bucket or managed folder. The resource field in the
request should be projects//buckets/{bucket} for a bucket, or
projects//buckets/{bucket}/managedFolders/{managedFolder} for a managed folder.
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (StorageClient storageClient = StorageClient.create()) {
SetIamPolicyRequest request =
SetIamPolicyRequest.newBuilder()
.setResource(
CryptoKeyName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]")
.toString())
.setPolicy(Policy.newBuilder().build())
.setUpdateMask(FieldMask.newBuilder().build())
.build();
Policy response = storageClient.setIamPolicy(request);
}
| Parameter | |
|---|---|
| Name | Description |
request |
com.google.iam.v1.SetIamPolicyRequestThe request object containing all of the parameters for the API call. |
| Returns | |
|---|---|
| Type | Description |
com.google.iam.v1.Policy |
|
setIamPolicy(String resource, Policy policy)
public final Policy setIamPolicy(String resource, Policy policy)Updates an IAM policy for the specified bucket or managed folder. The resource field in the
request should be projects//buckets/{bucket} for a bucket, or
projects//buckets/{bucket}/managedFolders/{managedFolder} for a managed folder.
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (StorageClient storageClient = StorageClient.create()) {
String resource =
CryptoKeyName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]").toString();
Policy policy = Policy.newBuilder().build();
Policy response = storageClient.setIamPolicy(resource, policy);
}
| Parameters | |
|---|---|
| Name | Description |
resource |
StringREQUIRED: The resource for which the policy is being specified. See the operation documentation for the appropriate value for this field. |
policy |
com.google.iam.v1.PolicyREQUIRED: The complete policy to be applied to the |
| Returns | |
|---|---|
| Type | Description |
com.google.iam.v1.Policy |
|
setIamPolicyCallable()
public final UnaryCallable<SetIamPolicyRequest,Policy> setIamPolicyCallable()Updates an IAM policy for the specified bucket or managed folder. The resource field in the
request should be projects//buckets/{bucket} for a bucket, or
projects//buckets/{bucket}/managedFolders/{managedFolder} for a managed folder.
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (StorageClient storageClient = StorageClient.create()) {
SetIamPolicyRequest request =
SetIamPolicyRequest.newBuilder()
.setResource(
CryptoKeyName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]")
.toString())
.setPolicy(Policy.newBuilder().build())
.setUpdateMask(FieldMask.newBuilder().build())
.build();
ApiFuture<Policy> future = storageClient.setIamPolicyCallable().futureCall(request);
// Do something.
Policy response = future.get();
}
| Returns | |
|---|---|
| Type | Description |
UnaryCallable<com.google.iam.v1.SetIamPolicyRequest,com.google.iam.v1.Policy> |
|
shutdown()
public void shutdown()shutdownNow()
public void shutdownNow()startResumableWrite(StartResumableWriteRequest request)
public final StartResumableWriteResponse startResumableWrite(StartResumableWriteRequest request)Starts a resumable write operation. This method is part of the Resumable upload feature. This allows you to upload large objects in multiple chunks, which is more resilient to network interruptions than a single upload. The validity duration of the write operation, and the consequences of it becoming invalid, are service-dependent.
**IAM Permissions**:
Requires storage.objects.create IAM permission on the bucket.
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (StorageClient storageClient = StorageClient.create()) {
StartResumableWriteRequest request =
StartResumableWriteRequest.newBuilder()
.setWriteObjectSpec(WriteObjectSpec.newBuilder().build())
.setCommonObjectRequestParams(CommonObjectRequestParams.newBuilder().build())
.setObjectChecksums(ObjectChecksums.newBuilder().build())
.build();
StartResumableWriteResponse response = storageClient.startResumableWrite(request);
}
| Parameter | |
|---|---|
| Name | Description |
request |
StartResumableWriteRequestThe request object containing all of the parameters for the API call. |
| Returns | |
|---|---|
| Type | Description |
StartResumableWriteResponse |
|
startResumableWriteCallable()
public final UnaryCallable<StartResumableWriteRequest,StartResumableWriteResponse> startResumableWriteCallable()Starts a resumable write operation. This method is part of the Resumable upload feature. This allows you to upload large objects in multiple chunks, which is more resilient to network interruptions than a single upload. The validity duration of the write operation, and the consequences of it becoming invalid, are service-dependent.
**IAM Permissions**:
Requires storage.objects.create IAM permission on the bucket.
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (StorageClient storageClient = StorageClient.create()) {
StartResumableWriteRequest request =
StartResumableWriteRequest.newBuilder()
.setWriteObjectSpec(WriteObjectSpec.newBuilder().build())
.setCommonObjectRequestParams(CommonObjectRequestParams.newBuilder().build())
.setObjectChecksums(ObjectChecksums.newBuilder().build())
.build();
ApiFuture<StartResumableWriteResponse> future =
storageClient.startResumableWriteCallable().futureCall(request);
// Do something.
StartResumableWriteResponse response = future.get();
}
| Returns | |
|---|---|
| Type | Description |
UnaryCallable<StartResumableWriteRequest,StartResumableWriteResponse> |
|
testIamPermissions(ResourceName resource, List<String> permissions)
public final TestIamPermissionsResponse testIamPermissions(ResourceName resource, List<String> permissions)Tests a set of permissions on the given bucket, object, or managed folder to see which, if any,
are held by the caller. The resource field in the request should be
projects//buckets/{bucket} for a bucket, projects//buckets/{bucket}/objects/{object} for
an object, or projects/_/buckets/{bucket}/managedFolders/{managedFolder} for a managed
folder.
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (StorageClient storageClient = StorageClient.create()) {
ResourceName resource =
CryptoKeyName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]");
List<String> permissions = new ArrayList<>();
TestIamPermissionsResponse response = storageClient.testIamPermissions(resource, permissions);
}
| Parameters | |
|---|---|
| Name | Description |
resource |
com.google.api.resourcenames.ResourceNameREQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field. |
permissions |
List<String>The set of permissions to check for the |
| Returns | |
|---|---|
| Type | Description |
com.google.iam.v1.TestIamPermissionsResponse |
|
testIamPermissions(TestIamPermissionsRequest request)
public final TestIamPermissionsResponse testIamPermissions(TestIamPermissionsRequest request)Tests a set of permissions on the given bucket, object, or managed folder to see which, if any,
are held by the caller. The resource field in the request should be
projects//buckets/{bucket} for a bucket, projects//buckets/{bucket}/objects/{object} for
an object, or projects/_/buckets/{bucket}/managedFolders/{managedFolder} for a managed
folder.
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (StorageClient storageClient = StorageClient.create()) {
TestIamPermissionsRequest request =
TestIamPermissionsRequest.newBuilder()
.setResource(
CryptoKeyName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]")
.toString())
.addAllPermissions(new ArrayList<String>())
.build();
TestIamPermissionsResponse response = storageClient.testIamPermissions(request);
}
| Parameter | |
|---|---|
| Name | Description |
request |
com.google.iam.v1.TestIamPermissionsRequestThe request object containing all of the parameters for the API call. |
| Returns | |
|---|---|
| Type | Description |
com.google.iam.v1.TestIamPermissionsResponse |
|
testIamPermissions(String resource, List<String> permissions)
public final TestIamPermissionsResponse testIamPermissions(String resource, List<String> permissions)Tests a set of permissions on the given bucket, object, or managed folder to see which, if any,
are held by the caller. The resource field in the request should be
projects//buckets/{bucket} for a bucket, projects//buckets/{bucket}/objects/{object} for
an object, or projects/_/buckets/{bucket}/managedFolders/{managedFolder} for a managed
folder.
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (StorageClient storageClient = StorageClient.create()) {
String resource =
CryptoKeyName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]").toString();
List<String> permissions = new ArrayList<>();
TestIamPermissionsResponse response = storageClient.testIamPermissions(resource, permissions);
}
| Parameters | |
|---|---|
| Name | Description |
resource |
StringREQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field. |
permissions |
List<String>The set of permissions to check for the |
| Returns | |
|---|---|
| Type | Description |
com.google.iam.v1.TestIamPermissionsResponse |
|
testIamPermissionsCallable()
public final UnaryCallable<TestIamPermissionsRequest,TestIamPermissionsResponse> testIamPermissionsCallable()Tests a set of permissions on the given bucket, object, or managed folder to see which, if any,
are held by the caller. The resource field in the request should be
projects//buckets/{bucket} for a bucket, projects//buckets/{bucket}/objects/{object} for
an object, or projects/_/buckets/{bucket}/managedFolders/{managedFolder} for a managed
folder.
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (StorageClient storageClient = StorageClient.create()) {
TestIamPermissionsRequest request =
TestIamPermissionsRequest.newBuilder()
.setResource(
CryptoKeyName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]")
.toString())
.addAllPermissions(new ArrayList<String>())
.build();
ApiFuture<TestIamPermissionsResponse> future =
storageClient.testIamPermissionsCallable().futureCall(request);
// Do something.
TestIamPermissionsResponse response = future.get();
}
| Returns | |
|---|---|
| Type | Description |
UnaryCallable<com.google.iam.v1.TestIamPermissionsRequest,com.google.iam.v1.TestIamPermissionsResponse> |
|
updateBucket(Bucket bucket, FieldMask updateMask)
public final Bucket updateBucket(Bucket bucket, FieldMask updateMask)Updates a bucket. Changes to the bucket are readable immediately after writing, but
configuration changes might take time to propagate. This method supports patch semantics.
**IAM Permissions**:
Requires storage.buckets.update IAM permission on the bucket. Additionally, to enable
specific bucket features, the authenticated user must have the following permissions:
- To set bucket IP filtering rules: storage.buckets.setIpFilter - To update public access
prevention policies or access control lists (ACLs): storage.buckets.setIamPolicy
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (StorageClient storageClient = StorageClient.create()) {
Bucket bucket = Bucket.newBuilder().build();
FieldMask updateMask = FieldMask.newBuilder().build();
Bucket response = storageClient.updateBucket(bucket, updateMask);
}
| Parameters | |
|---|---|
| Name | Description |
bucket |
BucketRequired. The bucket to update. The bucket's |
updateMask |
FieldMaskRequired. List of fields to be updated. To specify ALL fields, equivalent to the JSON API's "update" function, specify a single
field with the value Not specifying any fields is an error. |
| Returns | |
|---|---|
| Type | Description |
Bucket |
|
updateBucket(UpdateBucketRequest request)
public final Bucket updateBucket(UpdateBucketRequest request)Updates a bucket. Changes to the bucket are readable immediately after writing, but
configuration changes might take time to propagate. This method supports patch semantics.
**IAM Permissions**:
Requires storage.buckets.update IAM permission on the bucket. Additionally, to enable
specific bucket features, the authenticated user must have the following permissions:
- To set bucket IP filtering rules: storage.buckets.setIpFilter - To update public access
prevention policies or access control lists (ACLs): storage.buckets.setIamPolicy
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (StorageClient storageClient = StorageClient.create()) {
UpdateBucketRequest request =
UpdateBucketRequest.newBuilder()
.setBucket(Bucket.newBuilder().build())
.setIfMetagenerationMatch(1043427781)
.setIfMetagenerationNotMatch(1025430873)
.setPredefinedAcl("predefinedAcl1207041188")
.setPredefinedDefaultObjectAcl("predefinedDefaultObjectAcl2109168048")
.setUpdateMask(FieldMask.newBuilder().build())
.build();
Bucket response = storageClient.updateBucket(request);
}
| Parameter | |
|---|---|
| Name | Description |
request |
UpdateBucketRequestThe request object containing all of the parameters for the API call. |
| Returns | |
|---|---|
| Type | Description |
Bucket |
|
updateBucketCallable()
public final UnaryCallable<UpdateBucketRequest,Bucket> updateBucketCallable()Updates a bucket. Changes to the bucket are readable immediately after writing, but
configuration changes might take time to propagate. This method supports patch semantics.
**IAM Permissions**:
Requires storage.buckets.update IAM permission on the bucket. Additionally, to enable
specific bucket features, the authenticated user must have the following permissions:
- To set bucket IP filtering rules: storage.buckets.setIpFilter - To update public access
prevention policies or access control lists (ACLs): storage.buckets.setIamPolicy
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (StorageClient storageClient = StorageClient.create()) {
UpdateBucketRequest request =
UpdateBucketRequest.newBuilder()
.setBucket(Bucket.newBuilder().build())
.setIfMetagenerationMatch(1043427781)
.setIfMetagenerationNotMatch(1025430873)
.setPredefinedAcl("predefinedAcl1207041188")
.setPredefinedDefaultObjectAcl("predefinedDefaultObjectAcl2109168048")
.setUpdateMask(FieldMask.newBuilder().build())
.build();
ApiFuture<Bucket> future = storageClient.updateBucketCallable().futureCall(request);
// Do something.
Bucket response = future.get();
}
| Returns | |
|---|---|
| Type | Description |
UnaryCallable<UpdateBucketRequest,Bucket> |
|
updateObject(Object object, FieldMask updateMask)
public final Object updateObject(Object object, FieldMask updateMask)Updates an object's metadata. Equivalent to JSON API's storage.objects.patch method.
**IAM Permissions**:
Requires storage.objects.update IAM permission on the bucket.
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (StorageClient storageClient = StorageClient.create()) {
Object object = Object.newBuilder().build();
FieldMask updateMask = FieldMask.newBuilder().build();
Object response = storageClient.updateObject(object, updateMask);
}
| Parameters | |
|---|---|
| Name | Description |
object |
ObjectRequired. The object to update. The object's bucket and name fields are used to identify the object to update. If present, the object's generation field selects a specific revision of this object whose metadata should be updated. Otherwise, assumes the live version of the object. |
updateMask |
FieldMaskRequired. List of fields to be updated. To specify ALL fields, equivalent to the JSON API's "update" function, specify a single
field with the value Not specifying any fields is an error. |
| Returns | |
|---|---|
| Type | Description |
Object |
|
updateObject(UpdateObjectRequest request)
public final Object updateObject(UpdateObjectRequest request)Updates an object's metadata. Equivalent to JSON API's storage.objects.patch method.
**IAM Permissions**:
Requires storage.objects.update IAM permission on the bucket.
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (StorageClient storageClient = StorageClient.create()) {
UpdateObjectRequest request =
UpdateObjectRequest.newBuilder()
.setObject(Object.newBuilder().build())
.setIfGenerationMatch(-1086241088)
.setIfGenerationNotMatch(1475720404)
.setIfMetagenerationMatch(1043427781)
.setIfMetagenerationNotMatch(1025430873)
.setPredefinedAcl("predefinedAcl1207041188")
.setUpdateMask(FieldMask.newBuilder().build())
.setCommonObjectRequestParams(CommonObjectRequestParams.newBuilder().build())
.setOverrideUnlockedRetention(true)
.build();
Object response = storageClient.updateObject(request);
}
| Parameter | |
|---|---|
| Name | Description |
request |
UpdateObjectRequestThe request object containing all of the parameters for the API call. |
| Returns | |
|---|---|
| Type | Description |
Object |
|
updateObjectCallable()
public final UnaryCallable<UpdateObjectRequest,Object> updateObjectCallable()Updates an object's metadata. Equivalent to JSON API's storage.objects.patch method.
**IAM Permissions**:
Requires storage.objects.update IAM permission on the bucket.
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (StorageClient storageClient = StorageClient.create()) {
UpdateObjectRequest request =
UpdateObjectRequest.newBuilder()
.setObject(Object.newBuilder().build())
.setIfGenerationMatch(-1086241088)
.setIfGenerationNotMatch(1475720404)
.setIfMetagenerationMatch(1043427781)
.setIfMetagenerationNotMatch(1025430873)
.setPredefinedAcl("predefinedAcl1207041188")
.setUpdateMask(FieldMask.newBuilder().build())
.setCommonObjectRequestParams(CommonObjectRequestParams.newBuilder().build())
.setOverrideUnlockedRetention(true)
.build();
ApiFuture<Object> future = storageClient.updateObjectCallable().futureCall(request);
// Do something.
Object response = future.get();
}
| Returns | |
|---|---|
| Type | Description |
UnaryCallable<UpdateObjectRequest,Object> |
|
writeObjectCallable()
public final ClientStreamingCallable<WriteObjectRequest,WriteObjectResponse> writeObjectCallable()Stores a new object and metadata.
An object can be written either in a single message stream or in a resumable sequence of
message streams. To write using a single stream, the client should include in the first message
of the stream an WriteObjectSpec describing the destination bucket, object, and any
preconditions. Additionally, the final message must set 'finish_write' to true, or else it is
an error.
For a resumable write, the client should instead call StartResumableWrite(), populating a
WriteObjectSpec into that request. They should then attach the returned upload_id to the
first message of each following call to WriteObject. If the stream is closed before finishing
the upload (either explicitly by the client or due to a network error or an error response from
the server), the client should do as follows:
- Check the result Status of the stream, to determine if writing can be resumed on this
stream or must be restarted from scratch (by calling StartResumableWrite()). The resumable
errors are DEADLINE_EXCEEDED, INTERNAL, and UNAVAILABLE. For each case, the client should
use binary exponential backoff before retrying. Additionally, writes can be resumed after
RESOURCE_EXHAUSTED errors, but only after taking appropriate measures, which might include
reducing aggregate send rate across clients and/or requesting a quota increase for your
project. - If the call to WriteObject returns ABORTED, that indicates concurrent attempts
to update the resumable write, caused either by multiple racing clients or by a single client
where the previous request was timed out on the client side but nonetheless reached the server.
In this case the client should take steps to prevent further concurrent writes. For example,
increase the timeouts and stop using more than one process to perform the upload. Follow the
steps below for resuming the upload. - For resumable errors, the client should call
QueryWriteStatus() and then continue writing from the returned persisted_size. This might
be less than the amount of data the client previously sent. Note also that it is acceptable to
send data starting at an offset earlier than the returned persisted_size; in this case, the
service skips data at offsets that were already persisted (without checking that it matches the
previously written data), and write only the data starting from the persisted offset. Even
though the data isn't written, it might still incur a performance cost over resuming at the
correct write offset. This behavior can make client-side handling simpler in some cases. -
Clients must only send data that is a multiple of 256 KiB per message, unless the object is
being finished with finish_write set to true.
The service does not view the object as complete until the client has sent a
WriteObjectRequest with finish_write set to true. Sending any requests on a stream after
sending a request with finish_write set to true causes an error. The client must check the
response it receives to determine how much data the service is able to commit and whether the
service views the object as complete.
Attempting to resume an already finalized object results in an OK status, with a
WriteObjectResponse containing the finalized object's metadata.
Alternatively, you can use the BidiWriteObject operation to write an object with controls
over flushing and the ability to fetch the ability to determine the current persisted size.
**IAM Permissions**:
Requires storage.objects.create IAM permission on the bucket.
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (StorageClient storageClient = StorageClient.create()) {
ApiStreamObserver<WriteObjectRequest> responseObserver =
new ApiStreamObserver<WriteObjectRequest>() {
{@literal @}Override
public void onNext(WriteObjectResponse response) {
// Do something when a response is received.
}
{@literal @}Override
public void onError(Throwable t) {
// Add error-handling
}
{@literal @}Override
public void onCompleted() {
// Do something when complete.
}
};
ApiStreamObserver<WriteObjectRequest> requestObserver =
storageClient.writeObject().clientStreamingCall(responseObserver);
WriteObjectRequest request =
WriteObjectRequest.newBuilder()
.setWriteOffset(-1559543565)
.setObjectChecksums(ObjectChecksums.newBuilder().build())
.setFinishWrite(true)
.setCommonObjectRequestParams(CommonObjectRequestParams.newBuilder().build())
.build();
requestObserver.onNext(request);
}
| Returns | |
|---|---|
| Type | Description |
ClientStreamingCallable<WriteObjectRequest,WriteObjectResponse> |
|