google-cloud-storage overview (2.36.1)

com.google.cloud.storage

A client for Cloud Storage - Unified object storage.

Here's a simple usage example the Java Storage client. This example shows how to create a Storage object.


 Storage storage = StorageOptions.getDefaultInstance().getService();
 BlobId blobId = BlobId.of("bucket", "blob_name");
 BlobInfo blobInfo = BlobInfo.newBuilder(blobId).setContentType("text/plain").build();
 Blob blob = storage.create(blobInfo, "Hello, Cloud Storage!".getBytes(UTF_8));
 

This second example shows how to update an object's content if the object exists.


 Storage storage = StorageOptions.getDefaultInstance().getService();
 BlobId blobId = BlobId.of("bucket", "blob_name");
 Blob blob = storage.get(blobId);
 if (blob != null) {
   byte[] prevContent = blob.getContent();
   System.out.println(new String(prevContent, UTF_8));
   WritableByteChannel channel = blob.writer();
   channel.write(ByteBuffer.wrap("Updated content".getBytes(UTF_8)));
   channel.close();
 }
 

For more detailed code examples, see the sample library.

When using google-cloud from outside of App/Compute Engine, you have to specify a project ID and provide credentials.

Operations in this library are generally thread safe, except for the use of BlobReadChannel and BlobWriteChannel.

The GCS Java client library includes support to GCS via gRPC. When using GCS from Google Compute Engine (GCE) this library enable higher total throughput across large workloads that run on hundreds or thousands of VMs.

At present, GCS gRPC is GA with Allowlist. To access this API, kindly contact the Google Cloud Storage gRPC team at gcs-grpc-contact@google.com with a list of GCS buckets you would like to Allowlist. Please note that while the service is GA (with Allowlist), the client library features remain experimental and subject to change without notice. The methods to create, list, query, and delete HMAC keys and notifications are unavailable in gRPC transport.

This example shows how to enable gRPC with Direct Google Access only supported on Google Compute Engine.


 StorageOptions options = StorageOptions.grpc().setAttemptDirectPath(true).build();
 try (Storage storage = options.getService()) {
 BlobId blobId = BlobId.of("bucket", "blob_name");
 Blob blob = storage.get(blobId);
 if (blob != null) {
   byte[] prevContent = blob.getContent();
   System.out.println(new String(prevContent, UTF_8));
   WritableByteChannel channel = blob.writer();
   channel.write(ByteBuffer.wrap("Updated content".getBytes(UTF_8)));
   channel.close();
 }
 }
 

This example shows how to enable gRPC.


 StorageOptions options = StorageOptions.grpc().build();
 try (Storage storage = options.getService()) {
 BlobId blobId = BlobId.of("bucket", "blob_name");
 Blob blob = storage.get(blobId);
 if (blob != null) {
   byte[] prevContent = blob.getContent();
   System.out.println(new String(prevContent, UTF_8));
   WritableByteChannel channel = blob.writer();
   channel.write(ByteBuffer.wrap("Updated content".getBytes(UTF_8)));
   channel.close();
 }
 }
 

See Also: Google Cloud Storage

com.google.cloud.storage.spi

com.google.cloud.storage.spi.v1

com.google.cloud.storage.testing

A testing helper for Google Cloud Storage.

A simple usage example:

Before the test:


 RemoteStorageHelper helper = RemoteStorageHelper.create();
 Storage storage = helper.getOptions().getService();
 String bucket = RemoteStorageHelper.generateBucketName();
 storage.create(BucketInfo.of(bucket));
 

After the test:


 RemoteStorageHelper.forceDelete(storage, bucket, 5, TimeUnit.SECONDS);
 

See Also: Google Cloud Storage testing

com.google.cloud.storage.transfermanager

com.google.storage.control.v2

A client to Cloud Storage API

The interfaces provided are listed below, along with usage samples.

StorageControlClient

Service Description: StorageControl service includes selected control plane operations.

Sample for StorageControlClient:


 // 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 (StorageControlClient storageControlClient = StorageControlClient.create()) {
   BucketName parent = BucketName.of("[PROJECT]", "[BUCKET]");
   Folder folder = Folder.newBuilder().build();
   String folderId = "folderId294109737";
   Folder response = storageControlClient.createFolder(parent, folder, folderId);
 }
 

com.google.storage.control.v2.stub

com.google.storage.v2

A client to Cloud Storage API

The interfaces provided are listed below, along with usage samples.

StorageClient

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 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).

Sample for StorageClient:


 // 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);
 }
 

com.google.storage.v2.stub