google-cloud-storage overview

com.google.cloud.storage

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 CreateBlob.java.


 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 UpdateBlob.java.


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

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

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 Java tools for testing

com.google.storage.v2

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:


 try (StorageClient storageClient = StorageClient.create()) {
   BucketName name = BucketName.of("[PROJECT]", "[BUCKET]");
   storageClient.deleteBucket(name);
 }
 

com.google.storage.v2.stub