Package com.google.storage.v2
Class StorageGrpc.StorageBlockingStub
java.lang.Object
io.grpc.stub.AbstractStub<S>
io.grpc.stub.AbstractBlockingStub<StorageGrpc.StorageBlockingStub>
com.google.storage.v2.StorageGrpc.StorageBlockingStub
- Enclosing class:
- StorageGrpc
public static final class StorageGrpc.StorageBlockingStub
extends io.grpc.stub.AbstractBlockingStub<StorageGrpc.StorageBlockingStub>
A stub to allow clients to do limited synchronous 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 [Cloud Storage
documentation](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, `_` 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).
-
Nested Class Summary
Nested classes/interfaces inherited from class io.grpc.stub.AbstractStub
io.grpc.stub.AbstractStub.StubFactory<T extends io.grpc.stub.AbstractStub<T>> -
Method Summary
Modifier and TypeMethodDescriptionprotected StorageGrpc.StorageBlockingStubbuild(io.grpc.Channel channel, io.grpc.CallOptions callOptions) Cancels an in-progress resumable upload.composeObject(ComposeObjectRequest request) Concatenates a list of existing objects into a new object in the same bucket.createBucket(CreateBucketRequest request) Creates a new bucket.com.google.protobuf.EmptydeleteBucket(DeleteBucketRequest request) Permanently deletes an empty bucket.com.google.protobuf.EmptydeleteObject(DeleteObjectRequest request) Deletes an object and its metadata.getBucket(GetBucketRequest request) Returns metadata for the specified bucket.com.google.iam.v1.PolicygetIamPolicy(com.google.iam.v1.GetIamPolicyRequest request) Gets the IAM policy for a specified bucket or managed folder.getObject(GetObjectRequest request) Retrieves object metadata.listBuckets(ListBucketsRequest request) Retrieves a list of buckets for a given project, ordered lexicographically by name.listObjects(ListObjectsRequest request) Retrieves a list of objects matching the criteria.Permanently locks the retention policy that is currently applied to the specified bucket.moveObject(MoveObjectRequest request) Moves the source object to the destination object in the same bucket.queryWriteStatus(QueryWriteStatusRequest request) Determines the `persisted_size` of an object that is being written.readObject(ReadObjectRequest request) Retrieves object data.restoreObject(RestoreObjectRequest request) Restores a soft-deleted object.rewriteObject(RewriteObjectRequest request) Rewrites a source object to a destination object.com.google.iam.v1.PolicysetIamPolicy(com.google.iam.v1.SetIamPolicyRequest request) Updates an IAM policy for the specified bucket or managed folder.Starts a resumable write operation.com.google.iam.v1.TestIamPermissionsResponsetestIamPermissions(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.updateBucket(UpdateBucketRequest request) Updates a bucket.updateObject(UpdateObjectRequest request) Updates an object's metadata.Methods inherited from class io.grpc.stub.AbstractBlockingStub
newStub, newStubMethods inherited from class io.grpc.stub.AbstractStub
getCallOptions, getChannel, withCallCredentials, withChannel, withCompression, withDeadline, withDeadlineAfter, withDeadlineAfter, withExecutor, withInterceptors, withMaxInboundMessageSize, withMaxOutboundMessageSize, withOnReadyThreshold, withOption, withWaitForReady
-
Method Details
-
build
protected StorageGrpc.StorageBlockingStub build(io.grpc.Channel channel, io.grpc.CallOptions callOptions) - Specified by:
buildin classio.grpc.stub.AbstractStub<StorageGrpc.StorageBlockingStub>
-
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.
-
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`
-
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`
-
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`
-
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.
-
getIamPolicy
public com.google.iam.v1.Policy getIamPolicy(com.google.iam.v1.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. -
setIamPolicy
public com.google.iam.v1.Policy setIamPolicy(com.google.iam.v1.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. -
testIamPermissions
public 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
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`
-
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.
-
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`][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 on the bucket.
-
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) -
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.
-
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.
-
readObject
Retrieves object data. **IAM Permissions**: Requires `storage.objects.get` IAM permission on the bucket.
-
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.
-
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.
-
rewriteObject
Rewrites a source object to a destination object. Optionally overrides metadata.
-
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.
-
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.
-
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)
-