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).
AbstractStub.StubFactory<T extends AbstractStub<T>>
Modifier and Type | Method and Description |
---|---|
protected StorageGrpc.StorageStub |
build(Channel channel,
CallOptions callOptions) |
void |
cancelResumableWrite(CancelResumableWriteRequest request,
StreamObserver<CancelResumableWriteResponse> responseObserver)
Cancels an in-progress resumable upload.
|
void |
composeObject(ComposeObjectRequest request,
StreamObserver<Object> responseObserver)
Concatenates a list of existing objects into a new object in the same
bucket.
|
void |
createBucket(CreateBucketRequest request,
StreamObserver<Bucket> responseObserver)
Creates a new bucket.
|
void |
createHmacKey(CreateHmacKeyRequest request,
StreamObserver<CreateHmacKeyResponse> responseObserver)
Creates a new HMAC key for the given service account.
|
void |
createNotificationConfig(CreateNotificationConfigRequest request,
StreamObserver<NotificationConfig> responseObserver)
Creates a NotificationConfig for a given bucket.
|
void |
deleteBucket(DeleteBucketRequest request,
StreamObserver<com.google.protobuf.Empty> responseObserver)
Permanently deletes an empty bucket.
|
void |
deleteHmacKey(DeleteHmacKeyRequest request,
StreamObserver<com.google.protobuf.Empty> responseObserver)
Deletes a given HMAC key.
|
void |
deleteNotificationConfig(DeleteNotificationConfigRequest request,
StreamObserver<com.google.protobuf.Empty> responseObserver)
Permanently deletes a NotificationConfig.
|
void |
deleteObject(DeleteObjectRequest request,
StreamObserver<com.google.protobuf.Empty> responseObserver)
Deletes an object and its metadata.
|
void |
getBucket(GetBucketRequest request,
StreamObserver<Bucket> responseObserver)
Returns metadata for the specified bucket.
|
void |
getHmacKey(GetHmacKeyRequest request,
StreamObserver<HmacKeyMetadata> responseObserver)
Gets an existing HMAC key metadata for the given id.
|
void |
getIamPolicy(com.google.iam.v1.GetIamPolicyRequest request,
StreamObserver<com.google.iam.v1.Policy> responseObserver)
Gets the IAM policy for a specified bucket or object.
|
void |
getNotificationConfig(GetNotificationConfigRequest request,
StreamObserver<NotificationConfig> responseObserver)
View a NotificationConfig.
|
void |
getObject(GetObjectRequest request,
StreamObserver<Object> responseObserver)
Retrieves an object's metadata.
|
void |
getServiceAccount(GetServiceAccountRequest request,
StreamObserver<ServiceAccount> responseObserver)
Retrieves the name of a project's Google Cloud Storage service account.
|
void |
listBuckets(ListBucketsRequest request,
StreamObserver<ListBucketsResponse> responseObserver)
Retrieves a list of buckets for a given project.
|
void |
listHmacKeys(ListHmacKeysRequest request,
StreamObserver<ListHmacKeysResponse> responseObserver)
Lists HMAC keys under a given project with the additional filters provided.
|
void |
listNotificationConfigs(ListNotificationConfigsRequest request,
StreamObserver<ListNotificationConfigsResponse> responseObserver)
Retrieves a list of NotificationConfigs for a given bucket.
|
void |
listObjects(ListObjectsRequest request,
StreamObserver<ListObjectsResponse> responseObserver)
Retrieves a list of objects matching the criteria.
|
void |
lockBucketRetentionPolicy(LockBucketRetentionPolicyRequest request,
StreamObserver<Bucket> responseObserver)
Locks retention policy on a bucket.
|
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.
|
void |
readObject(ReadObjectRequest request,
StreamObserver<ReadObjectResponse> responseObserver)
Reads an object's data.
|
void |
rewriteObject(RewriteObjectRequest request,
StreamObserver<RewriteResponse> responseObserver)
Rewrites a source object to a destination object.
|
void |
setIamPolicy(com.google.iam.v1.SetIamPolicyRequest request,
StreamObserver<com.google.iam.v1.Policy> responseObserver)
Updates an IAM policy for the specified bucket or object.
|
void |
startResumableWrite(StartResumableWriteRequest request,
StreamObserver<StartResumableWriteResponse> responseObserver)
Starts a resumable write.
|
void |
testIamPermissions(com.google.iam.v1.TestIamPermissionsRequest request,
StreamObserver<com.google.iam.v1.TestIamPermissionsResponse> responseObserver)
Tests a set of permissions on the given bucket or object to see which, if
any, are held by the caller.
|
void |
updateBucket(UpdateBucketRequest request,
StreamObserver<Bucket> responseObserver)
Updates a bucket.
|
void |
updateHmacKey(UpdateHmacKeyRequest request,
StreamObserver<HmacKeyMetadata> responseObserver)
Updates a given HMAC key state between ACTIVE and INACTIVE.
|
void |
updateObject(UpdateObjectRequest request,
StreamObserver<Object> responseObserver)
Updates an object's metadata.
|
StreamObserver<WriteObjectRequest> |
writeObject(StreamObserver<WriteObjectResponse> responseObserver)
Stores a new object and metadata.
|
newStub, newStub
getCallOptions, getChannel, withCallCredentials, withChannel, withCompression, withDeadline, withDeadlineAfter, withExecutor, withInterceptors, withMaxInboundMessageSize, withMaxOutboundMessageSize, withOption, withWaitForReady
protected StorageGrpc.StorageStub build(Channel channel, CallOptions callOptions)
build
in class AbstractStub<StorageGrpc.StorageStub>
public void deleteBucket(DeleteBucketRequest request, StreamObserver<com.google.protobuf.Empty> responseObserver)
Permanently deletes an empty bucket.
public void getBucket(GetBucketRequest request, StreamObserver<Bucket> responseObserver)
Returns metadata for the specified bucket.
public void createBucket(CreateBucketRequest request, StreamObserver<Bucket> responseObserver)
Creates a new bucket.
public void listBuckets(ListBucketsRequest request, StreamObserver<ListBucketsResponse> responseObserver)
Retrieves a list of buckets for a given project.
public void lockBucketRetentionPolicy(LockBucketRetentionPolicyRequest request, StreamObserver<Bucket> responseObserver)
Locks retention policy on a bucket.
public void getIamPolicy(com.google.iam.v1.GetIamPolicyRequest request, StreamObserver<com.google.iam.v1.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.
public void setIamPolicy(com.google.iam.v1.SetIamPolicyRequest request, StreamObserver<com.google.iam.v1.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.
public void testIamPermissions(com.google.iam.v1.TestIamPermissionsRequest request, StreamObserver<com.google.iam.v1.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.
public void updateBucket(UpdateBucketRequest request, StreamObserver<Bucket> responseObserver)
Updates a bucket. Equivalent to JSON API's storage.buckets.patch method.
public void deleteNotificationConfig(DeleteNotificationConfigRequest request, StreamObserver<com.google.protobuf.Empty> responseObserver)
Permanently deletes a NotificationConfig.
public void getNotificationConfig(GetNotificationConfigRequest request, StreamObserver<NotificationConfig> responseObserver)
View a NotificationConfig.
public void createNotificationConfig(CreateNotificationConfigRequest request, StreamObserver<NotificationConfig> responseObserver)
Creates a NotificationConfig for a given bucket. These NotificationConfigs, when triggered, publish messages to the specified Pub/Sub topics. See https://cloud.google.com/storage/docs/pubsub-notifications.
public void listNotificationConfigs(ListNotificationConfigsRequest request, StreamObserver<ListNotificationConfigsResponse> responseObserver)
Retrieves a list of NotificationConfigs for a given bucket.
public void composeObject(ComposeObjectRequest request, StreamObserver<Object> responseObserver)
Concatenates a list of existing objects into a new object in the same bucket.
public void deleteObject(DeleteObjectRequest request, StreamObserver<com.google.protobuf.Empty> responseObserver)
Deletes an object and its metadata. Deletions are normally permanent when versioning is disabled or whenever the generation parameter is used. However, if soft delete is enabled for the bucket, deleted objects can be restored using RestoreObject until the soft delete retention period has passed.
public void cancelResumableWrite(CancelResumableWriteRequest request, StreamObserver<CancelResumableWriteResponse> responseObserver)
Cancels an in-progress resumable upload. Any attempts to write to the resumable upload after cancelling the upload will fail. The behavior for currently in progress write operations is not guaranteed - they could either complete before the cancellation or fail if the cancellation completes first.
public void getObject(GetObjectRequest request, StreamObserver<Object> responseObserver)
Retrieves an object's metadata.
public void readObject(ReadObjectRequest request, StreamObserver<ReadObjectResponse> responseObserver)
Reads an object's data.
public void updateObject(UpdateObjectRequest request, StreamObserver<Object> responseObserver)
Updates an object's metadata. Equivalent to JSON API's storage.objects.patch.
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. Even though the data isn't written, it may 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 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.
public void listObjects(ListObjectsRequest request, StreamObserver<ListObjectsResponse> responseObserver)
Retrieves a list of objects matching the criteria.
public void rewriteObject(RewriteObjectRequest request, StreamObserver<RewriteResponse> responseObserver)
Rewrites a source object to a destination object. Optionally overrides metadata.
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.
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.
public void getServiceAccount(GetServiceAccountRequest request, StreamObserver<ServiceAccount> responseObserver)
Retrieves the name of a project's Google Cloud Storage service account.
public void createHmacKey(CreateHmacKeyRequest request, StreamObserver<CreateHmacKeyResponse> responseObserver)
Creates a new HMAC key for the given service account.
public void deleteHmacKey(DeleteHmacKeyRequest request, StreamObserver<com.google.protobuf.Empty> responseObserver)
Deletes a given HMAC key. Key must be in an INACTIVE state.
public void getHmacKey(GetHmacKeyRequest request, StreamObserver<HmacKeyMetadata> responseObserver)
Gets an existing HMAC key metadata for the given id.
public void listHmacKeys(ListHmacKeysRequest request, StreamObserver<ListHmacKeysResponse> responseObserver)
Lists HMAC keys under a given project with the additional filters provided.
public void updateHmacKey(UpdateHmacKeyRequest request, StreamObserver<HmacKeyMetadata> responseObserver)
Updates a given HMAC key state between ACTIVE and INACTIVE.
Copyright © 2023 Google LLC. All rights reserved.