Class StorageGrpc.StorageStub (2.16.0)

public static final class StorageGrpc.StorageStub extends AbstractAsyncStub<StorageGrpc.StorageStub>

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 https://cloud.google.com/storage/docs. 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, _ may 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).

Inheritance

java.lang.Object > io.grpc.stub.AbstractStub > io.grpc.stub.AbstractAsyncStub > StorageGrpc.StorageStub

Methods

build(Channel channel, CallOptions callOptions)

protected StorageGrpc.StorageStub build(Channel channel, CallOptions callOptions)
Parameters
Name Description
channel io.grpc.Channel
callOptions io.grpc.CallOptions
Returns
Type Description
StorageGrpc.StorageStub
Overrides
io.grpc.stub.AbstractStub.build(io.grpc.Channel,io.grpc.CallOptions)

cancelResumableWrite(CancelResumableWriteRequest request, StreamObserver<CancelResumableWriteResponse> responseObserver)

public void cancelResumableWrite(CancelResumableWriteRequest request, StreamObserver<CancelResumableWriteResponse> responseObserver)

Cancels an in-progress resumable upload.

Parameters
Name Description
request CancelResumableWriteRequest
responseObserver io.grpc.stub.StreamObserver<CancelResumableWriteResponse>

composeObject(ComposeObjectRequest request, StreamObserver<Object> responseObserver)

public void composeObject(ComposeObjectRequest request, StreamObserver<Object> responseObserver)

Concatenates a list of existing objects into a new object in the same bucket.

Parameters
Name Description
request ComposeObjectRequest
responseObserver io.grpc.stub.StreamObserver<Object>

createBucket(CreateBucketRequest request, StreamObserver<Bucket> responseObserver)

public void createBucket(CreateBucketRequest request, StreamObserver<Bucket> responseObserver)

Creates a new bucket.

Parameters
Name Description
request CreateBucketRequest
responseObserver io.grpc.stub.StreamObserver<Bucket>

createHmacKey(CreateHmacKeyRequest request, StreamObserver<CreateHmacKeyResponse> responseObserver)

public void createHmacKey(CreateHmacKeyRequest request, StreamObserver<CreateHmacKeyResponse> responseObserver)

Creates a new HMAC key for the given service account.

Parameters
Name Description
request CreateHmacKeyRequest
responseObserver io.grpc.stub.StreamObserver<CreateHmacKeyResponse>

createNotification(CreateNotificationRequest request, StreamObserver<Notification> responseObserver)

public void createNotification(CreateNotificationRequest request, StreamObserver<Notification> responseObserver)

Creates a notification subscription for a given bucket. These notifications, when triggered, publish messages to the specified Pub/Sub topics. See https://cloud.google.com/storage/docs/pubsub-notifications.

Parameters
Name Description
request CreateNotificationRequest
responseObserver io.grpc.stub.StreamObserver<Notification>

deleteBucket(DeleteBucketRequest request, StreamObserver<Empty> responseObserver)

public void deleteBucket(DeleteBucketRequest request, StreamObserver<Empty> responseObserver)

Permanently deletes an empty bucket.

Parameters
Name Description
request DeleteBucketRequest
responseObserver io.grpc.stub.StreamObserver<Empty>

deleteHmacKey(DeleteHmacKeyRequest request, StreamObserver<Empty> responseObserver)

public void deleteHmacKey(DeleteHmacKeyRequest request, StreamObserver<Empty> responseObserver)

Deletes a given HMAC key. Key must be in an INACTIVE state.

Parameters
Name Description
request DeleteHmacKeyRequest
responseObserver io.grpc.stub.StreamObserver<Empty>

deleteNotification(DeleteNotificationRequest request, StreamObserver<Empty> responseObserver)

public void deleteNotification(DeleteNotificationRequest request, StreamObserver<Empty> responseObserver)

Permanently deletes a notification subscription.

Parameters
Name Description
request DeleteNotificationRequest
responseObserver io.grpc.stub.StreamObserver<Empty>

deleteObject(DeleteObjectRequest request, StreamObserver<Empty> responseObserver)

public void deleteObject(DeleteObjectRequest request, StreamObserver<Empty> responseObserver)

Deletes an object and its metadata. Deletions are permanent if versioning is not enabled for the bucket, or if the generation parameter is used.

Parameters
Name Description
request DeleteObjectRequest
responseObserver io.grpc.stub.StreamObserver<Empty>

getBucket(GetBucketRequest request, StreamObserver<Bucket> responseObserver)

public void getBucket(GetBucketRequest request, StreamObserver<Bucket> responseObserver)

Returns metadata for the specified bucket.

Parameters
Name Description
request GetBucketRequest
responseObserver io.grpc.stub.StreamObserver<Bucket>

getHmacKey(GetHmacKeyRequest request, StreamObserver<HmacKeyMetadata> responseObserver)

public void getHmacKey(GetHmacKeyRequest request, StreamObserver<HmacKeyMetadata> responseObserver)

Gets an existing HMAC key metadata for the given id.

Parameters
Name Description
request GetHmacKeyRequest
responseObserver io.grpc.stub.StreamObserver<HmacKeyMetadata>

getIamPolicy(GetIamPolicyRequest request, StreamObserver<Policy> responseObserver)

public void getIamPolicy(GetIamPolicyRequest request, StreamObserver<Policy> responseObserver)

Gets the IAM policy for a specified bucket or object. The resource field in the request should be projects//buckets/<bucket_name> for a bucket or projects//buckets/<bucket_name>/objects/<object_name> for an object.

Parameters
Name Description
request com.google.iam.v1.GetIamPolicyRequest
responseObserver io.grpc.stub.StreamObserver<com.google.iam.v1.Policy>

getNotification(GetNotificationRequest request, StreamObserver<Notification> responseObserver)

public void getNotification(GetNotificationRequest request, StreamObserver<Notification> responseObserver)

View a notification config.

Parameters
Name Description
request GetNotificationRequest
responseObserver io.grpc.stub.StreamObserver<Notification>

getObject(GetObjectRequest request, StreamObserver<Object> responseObserver)

public void getObject(GetObjectRequest request, StreamObserver<Object> responseObserver)

Retrieves an object's metadata.

Parameters
Name Description
request GetObjectRequest
responseObserver io.grpc.stub.StreamObserver<Object>

getServiceAccount(GetServiceAccountRequest request, StreamObserver<ServiceAccount> responseObserver)

public void getServiceAccount(GetServiceAccountRequest request, StreamObserver<ServiceAccount> responseObserver)

Retrieves the name of a project's Google Cloud Storage service account.

Parameters
Name Description
request GetServiceAccountRequest
responseObserver io.grpc.stub.StreamObserver<ServiceAccount>

listBuckets(ListBucketsRequest request, StreamObserver<ListBucketsResponse> responseObserver)

public void listBuckets(ListBucketsRequest request, StreamObserver<ListBucketsResponse> responseObserver)

Retrieves a list of buckets for a given project.

Parameters
Name Description
request ListBucketsRequest
responseObserver io.grpc.stub.StreamObserver<ListBucketsResponse>

listHmacKeys(ListHmacKeysRequest request, StreamObserver<ListHmacKeysResponse> responseObserver)

public void listHmacKeys(ListHmacKeysRequest request, StreamObserver<ListHmacKeysResponse> responseObserver)

Lists HMAC keys under a given project with the additional filters provided.

Parameters
Name Description
request ListHmacKeysRequest
responseObserver io.grpc.stub.StreamObserver<ListHmacKeysResponse>

listNotifications(ListNotificationsRequest request, StreamObserver<ListNotificationsResponse> responseObserver)

public void listNotifications(ListNotificationsRequest request, StreamObserver<ListNotificationsResponse> responseObserver)

Retrieves a list of notification subscriptions for a given bucket.

Parameters
Name Description
request ListNotificationsRequest
responseObserver io.grpc.stub.StreamObserver<ListNotificationsResponse>

listObjects(ListObjectsRequest request, StreamObserver<ListObjectsResponse> responseObserver)

public void listObjects(ListObjectsRequest request, StreamObserver<ListObjectsResponse> responseObserver)

Retrieves a list of objects matching the criteria.

Parameters
Name Description
request ListObjectsRequest
responseObserver io.grpc.stub.StreamObserver<ListObjectsResponse>

lockBucketRetentionPolicy(LockBucketRetentionPolicyRequest request, StreamObserver<Bucket> responseObserver)

public void lockBucketRetentionPolicy(LockBucketRetentionPolicyRequest request, StreamObserver<Bucket> responseObserver)

Locks retention policy on a bucket.

Parameters
Name Description
request LockBucketRetentionPolicyRequest
responseObserver io.grpc.stub.StreamObserver<Bucket>

queryWriteStatus(QueryWriteStatusRequest request, StreamObserver<QueryWriteStatusResponse> responseObserver)

public void queryWriteStatus(QueryWriteStatusRequest request, StreamObserver<QueryWriteStatusResponse> responseObserver)

Determines the persisted_size for an object that is being written, which can then be used as the write_offset for the next Write() call. If the object does not exist (i.e., the object has been deleted, or the first Write() has not yet reached the service), this method returns the error NOT_FOUND. The client may call QueryWriteStatus() at any time to determine how much data has been processed for this object. This is useful if the client is buffering data and needs to know which data can be safely evicted. For any sequence of QueryWriteStatus() calls for a given object name, the sequence of returned persisted_size values will be non-decreasing.

Parameters
Name Description
request QueryWriteStatusRequest
responseObserver io.grpc.stub.StreamObserver<QueryWriteStatusResponse>

readObject(ReadObjectRequest request, StreamObserver<ReadObjectResponse> responseObserver)

public void readObject(ReadObjectRequest request, StreamObserver<ReadObjectResponse> responseObserver)

Reads an object's data.

Parameters
Name Description
request ReadObjectRequest
responseObserver io.grpc.stub.StreamObserver<ReadObjectResponse>

rewriteObject(RewriteObjectRequest request, StreamObserver<RewriteResponse> responseObserver)

public void rewriteObject(RewriteObjectRequest request, StreamObserver<RewriteResponse> responseObserver)

Rewrites a source object to a destination object. Optionally overrides metadata.

Parameters
Name Description
request RewriteObjectRequest
responseObserver io.grpc.stub.StreamObserver<RewriteResponse>

setIamPolicy(SetIamPolicyRequest request, StreamObserver<Policy> responseObserver)

public void setIamPolicy(SetIamPolicyRequest request, StreamObserver<Policy> responseObserver)

Updates an IAM policy for the specified bucket or object. The resource field in the request should be projects//buckets/<bucket_name> for a bucket or projects//buckets/<bucket_name>/objects/<object_name> for an object.

Parameters
Name Description
request com.google.iam.v1.SetIamPolicyRequest
responseObserver io.grpc.stub.StreamObserver<com.google.iam.v1.Policy>

startResumableWrite(StartResumableWriteRequest request, StreamObserver<StartResumableWriteResponse> responseObserver)

public void startResumableWrite(StartResumableWriteRequest request, StreamObserver<StartResumableWriteResponse> responseObserver)

Starts a resumable write. How long the write operation remains valid, and what happens when the write operation becomes invalid, are service-dependent.

Parameters
Name Description
request StartResumableWriteRequest
responseObserver io.grpc.stub.StreamObserver<StartResumableWriteResponse>

testIamPermissions(TestIamPermissionsRequest request, StreamObserver<TestIamPermissionsResponse> responseObserver)

public void testIamPermissions(TestIamPermissionsRequest request, StreamObserver<TestIamPermissionsResponse> responseObserver)

Tests a set of permissions on the given bucket or object to see which, if any, are held by the caller. The resource field in the request should be projects//buckets/<bucket_name> for a bucket or projects//buckets/<bucket_name>/objects/<object_name> for an object.

Parameters
Name Description
request com.google.iam.v1.TestIamPermissionsRequest
responseObserver io.grpc.stub.StreamObserver<com.google.iam.v1.TestIamPermissionsResponse>

updateBucket(UpdateBucketRequest request, StreamObserver<Bucket> responseObserver)

public void updateBucket(UpdateBucketRequest request, StreamObserver<Bucket> responseObserver)

Updates a bucket. Equivalent to JSON API's storage.buckets.patch method.

Parameters
Name Description
request UpdateBucketRequest
responseObserver io.grpc.stub.StreamObserver<Bucket>

updateHmacKey(UpdateHmacKeyRequest request, StreamObserver<HmacKeyMetadata> responseObserver)

public void updateHmacKey(UpdateHmacKeyRequest request, StreamObserver<HmacKeyMetadata> responseObserver)

Updates a given HMAC key state between ACTIVE and INACTIVE.

Parameters
Name Description
request UpdateHmacKeyRequest
responseObserver io.grpc.stub.StreamObserver<HmacKeyMetadata>

updateObject(UpdateObjectRequest request, StreamObserver<Object> responseObserver)

public void updateObject(UpdateObjectRequest request, StreamObserver<Object> responseObserver)

Updates an object's metadata. Equivalent to JSON API's storage.objects.patch.

Parameters
Name Description
request UpdateObjectRequest
responseObserver io.grpc.stub.StreamObserver<Object>

writeObject(StreamObserver<WriteObjectResponse> responseObserver)

public StreamObserver<WriteObjectRequest> writeObject(StreamObserver<WriteObjectResponse> responseObserver)

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 may 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 (e.g., increase the timeouts, stop using more than one process to perform the upload, etc.), and then should 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 may 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 will skip 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. This behavior can make client-side handling simpler in some cases. The service will 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 will cause an error. The client should check the response it receives to determine how much data the service was able to commit and whether the service views the object as complete. Attempting to resume an already finalized object will result in an OK status, with a WriteObjectResponse containing the finalized object's metadata.
Parameter
Name Description
responseObserver io.grpc.stub.StreamObserver<WriteObjectResponse>
Returns
Type Description
io.grpc.stub.StreamObserver<WriteObjectRequest>