- 2.56.0 (latest)
- 2.55.0
- 2.54.0
- 2.53.3
- 2.52.3
- 2.50.0
- 2.49.0
- 2.48.2
- 2.47.0
- 2.46.0
- 2.45.0
- 2.44.1
- 2.43.2
- 2.42.0
- 2.41.0
- 2.40.1
- 2.39.0
- 2.38.0
- 2.37.0
- 2.36.1
- 2.34.0
- 2.33.0
- 2.32.1
- 2.30.1
- 2.29.1
- 2.28.0
- 2.27.1
- 2.24.0
- 2.23.0
- 2.22.6
- 2.21.0
- 2.20.2
- 2.19.0
- 2.18.0
- 2.17.2
- 2.16.0
- 2.15.1
- 2.14.0
- 2.13.1
- 2.12.0
- 2.11.3
- 2.10.0
- 2.9.3
- 2.8.1
- 2.7.1
- 2.6.1
- 2.5.1
- 2.4.5
- 2.3.0
- 2.2.3
- 2.1.10
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 serviceis 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
);
}