google-cloud-storage overview (2.11.3)

Stay organized with collections Save and categorize content based on your preferences.

A client for Cloud Storage - Unified object storage.

Here's a simple usage example for using google-cloud from App/Compute Engine. This example shows how to create a Storage blob. For the complete source code see

 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 the blob's content if the blob exists. For the complete source code see

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

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

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();

After the test:

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

See Also: Google Cloud Java tools for testing

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


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

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 for illustrative purposes only.
 // It may require modifications to work in your environment.
 try (StorageClient storageClient = StorageClient.create()) {
   BucketName name = BucketName.of("[PROJECT]", "[BUCKET]");