Class StorageGrpc.StorageFutureStub

java.lang.Object
io.grpc.stub.AbstractStub<S>
io.grpc.stub.AbstractFutureStub<StorageGrpc.StorageFutureStub>
com.google.storage.v2.StorageGrpc.StorageFutureStub
Enclosing class:
StorageGrpc

public static final class StorageGrpc.StorageFutureStub extends io.grpc.stub.AbstractFutureStub<StorageGrpc.StorageFutureStub>
A stub to allow clients to do ListenableFuture-style rpc calls to service Storage.
 ## 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).
 
  • Method Details

    • build

      protected StorageGrpc.StorageFutureStub build(io.grpc.Channel channel, io.grpc.CallOptions callOptions)
      Specified by:
      build in class io.grpc.stub.AbstractStub<StorageGrpc.StorageFutureStub>
    • deleteBucket

      public com.google.common.util.concurrent.ListenableFuture<com.google.protobuf.Empty> deleteBucket(DeleteBucketRequest request)
       Permanently deletes an empty bucket.
       
    • getBucket

      public com.google.common.util.concurrent.ListenableFuture<Bucket> getBucket(GetBucketRequest request)
       Returns metadata for the specified bucket.
       
    • createBucket

      public com.google.common.util.concurrent.ListenableFuture<Bucket> createBucket(CreateBucketRequest request)
       Creates a new bucket.
       
    • listBuckets

      public com.google.common.util.concurrent.ListenableFuture<ListBucketsResponse> listBuckets(ListBucketsRequest request)
       Retrieves a list of buckets for a given project.
       
    • lockBucketRetentionPolicy

      public com.google.common.util.concurrent.ListenableFuture<Bucket> lockBucketRetentionPolicy(LockBucketRetentionPolicyRequest request)
       Locks retention policy on a bucket.
       
    • getIamPolicy

      public com.google.common.util.concurrent.ListenableFuture<com.google.iam.v1.Policy> getIamPolicy(com.google.iam.v1.GetIamPolicyRequest request)
       Gets the IAM policy for a specified bucket.
       The `resource` field in the request should be
       `projects/_/buckets/{bucket}`.
       
    • setIamPolicy

      public com.google.common.util.concurrent.ListenableFuture<com.google.iam.v1.Policy> setIamPolicy(com.google.iam.v1.SetIamPolicyRequest request)
       Updates an IAM policy for the specified bucket.
       The `resource` field in the request should be
       `projects/_/buckets/{bucket}`.
       
    • testIamPermissions

      public com.google.common.util.concurrent.ListenableFuture<com.google.iam.v1.TestIamPermissionsResponse> testIamPermissions(com.google.iam.v1.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.
       
    • updateBucket

      public com.google.common.util.concurrent.ListenableFuture<Bucket> updateBucket(UpdateBucketRequest request)
       Updates a bucket. Equivalent to JSON API's storage.buckets.patch method.
       
    • composeObject

      public com.google.common.util.concurrent.ListenableFuture<Object> composeObject(ComposeObjectRequest request)
       Concatenates a list of existing objects into a new object in the same
       bucket.
       
    • deleteObject

      public com.google.common.util.concurrent.ListenableFuture<com.google.protobuf.Empty> 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](https://cloud.google.com/storage/docs/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`][google.storage.v2.Storage.RestoreObject]
       API to restore soft-deleted objects until the soft delete retention period
       has passed.
       **IAM Permissions**:
       Requires `storage.objects.delete`
       [IAM permission](https://cloud.google.com/iam/docs/overview#permissions) on
       the bucket.
       
    • restoreObject

      public com.google.common.util.concurrent.ListenableFuture<Object> restoreObject(RestoreObjectRequest request)
       Restores a soft-deleted object.
       
    • cancelResumableWrite

      public com.google.common.util.concurrent.ListenableFuture<CancelResumableWriteResponse> cancelResumableWrite(CancelResumableWriteRequest request)
       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.
       
    • getObject

      public com.google.common.util.concurrent.ListenableFuture<Object> getObject(GetObjectRequest request)
       Retrieves object metadata.
       **IAM Permissions**:
       Requires `storage.objects.get`
       [IAM permission](https://cloud.google.com/iam/docs/overview#permissions) on
       the bucket. To return object ACLs, the authenticated user must also have
       the `storage.objects.getIamPolicy` permission.
       
    • updateObject

      public com.google.common.util.concurrent.ListenableFuture<Object> updateObject(UpdateObjectRequest request)
       Updates an object's metadata.
       Equivalent to JSON API's storage.objects.patch.
       
    • listObjects

      public com.google.common.util.concurrent.ListenableFuture<ListObjectsResponse> listObjects(ListObjectsRequest request)
       Retrieves a list of objects matching the criteria.
       **IAM Permissions**:
       The authenticated user requires `storage.objects.list`
       [IAM permission](https://cloud.google.com/iam/docs/overview#permissions)
       to use this method. To return object ACLs, the authenticated user must also
       have the `storage.objects.getIamPolicy` permission.
       
    • rewriteObject

      public com.google.common.util.concurrent.ListenableFuture<RewriteResponse> rewriteObject(RewriteObjectRequest request)
       Rewrites a source object to a destination object. Optionally overrides
       metadata.
       
    • startResumableWrite

      public com.google.common.util.concurrent.ListenableFuture<StartResumableWriteResponse> startResumableWrite(StartResumableWriteRequest request)
       Starts a resumable write operation. This
       method is part of the [Resumable
       upload](https://cloud.google.com/storage/docs/resumable-uploads) 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](https://cloud.google.com/iam/docs/overview#permissions) on
       the bucket.
       
    • queryWriteStatus

      public com.google.common.util.concurrent.ListenableFuture<QueryWriteStatusResponse> queryWriteStatus(QueryWriteStatusRequest request)
       Determines the `persisted_size` of an object that is being written. This
       method is part of the [resumable
       upload](https://cloud.google.com/storage/docs/resumable-uploads) 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.
       
    • moveObject

      public com.google.common.util.concurrent.ListenableFuture<Object> moveObject(MoveObjectRequest request)
       Moves the source object to the destination object in the same bucket.