public class Bucket extends BucketInfo
Objects of this class are immutable. Operations that modify the bucket like update(com.google.cloud.storage.Storage.BucketTargetOption...)
return a new object. To get a Bucket
object with the most recent information use reload(com.google.cloud.storage.Bucket.BucketSourceOption...)
. Bucket
adds a layer of service-related functionality over BucketInfo
.
Modifier and Type | Class and Description |
---|---|
static class |
Bucket.BlobTargetOption
Class for specifying blob target options when
Bucket methods are used. |
static class |
Bucket.BlobWriteOption
Class for specifying blob write options when
Bucket methods are used. |
static class |
Bucket.BucketSourceOption
Class for specifying bucket source options when
Bucket methods are used. |
static class |
Bucket.Builder
Builder for
Bucket . |
BucketInfo.AgeDeleteRule, BucketInfo.CreatedBeforeDeleteRule, BucketInfo.DeleteRule, BucketInfo.IamConfiguration, BucketInfo.IsLiveDeleteRule, BucketInfo.LifecycleRule, BucketInfo.NumNewerVersionsDeleteRule
Modifier and Type | Method and Description |
---|---|
Blob |
create(String blob,
byte[] content,
Bucket.BlobTargetOption... options)
Creates a new blob in this bucket.
|
Blob |
create(String blob,
byte[] content,
String contentType,
Bucket.BlobTargetOption... options)
Creates a new blob in this bucket.
|
Blob |
create(String blob,
InputStream content,
Bucket.BlobWriteOption... options)
Creates a new blob in this bucket.
|
Blob |
create(String blob,
InputStream content,
String contentType,
Bucket.BlobWriteOption... options)
Creates a new blob in this bucket.
|
Acl |
createAcl(Acl acl)
Creates a new ACL entry on this bucket.
|
Acl |
createDefaultAcl(Acl acl)
Creates a new default blob ACL entry on this bucket.
|
boolean |
delete(Bucket.BucketSourceOption... options)
Deletes this bucket.
|
boolean |
deleteAcl(Acl.Entity entity)
Deletes the ACL entry for the specified entity on this bucket.
|
boolean |
deleteDefaultAcl(Acl.Entity entity)
Deletes the default object ACL entry for the specified entity on this bucket.
|
boolean |
equals(Object obj) |
boolean |
exists(Bucket.BucketSourceOption... options)
Checks if this bucket exists.
|
List<Blob> |
get(Iterable<String> blobNames)
Returns a list of requested blobs in this bucket.
|
Blob |
get(String blob,
Storage.BlobGetOption... options)
Returns the requested blob in this bucket or
null if not found. |
List<Blob> |
get(String blobName1,
String blobName2,
String... blobNames)
Returns a list of requested blobs in this bucket.
|
Acl |
getAcl(Acl.Entity entity)
Returns the ACL entry for the specified entity on this bucket or
null if not found. |
Acl |
getDefaultAcl(Acl.Entity entity)
Returns the default object ACL entry for the specified entity on this bucket or
null if
not found. |
Storage |
getStorage()
Returns the bucket's
Storage object used to issue requests. |
int |
hashCode() |
Page<Blob> |
list(Storage.BlobListOption... options)
Returns the paginated list of
Blob in this bucket. |
List<Acl> |
listAcls()
Lists the ACL entries for this bucket.
|
List<Acl> |
listDefaultAcls()
Lists the default blob ACL entries for this bucket.
|
Bucket |
lockRetentionPolicy(Storage.BucketTargetOption... options)
Locks bucket retention policy.
|
Bucket |
reload(Bucket.BucketSourceOption... options)
Fetches current bucket's latest information.
|
Bucket.Builder |
toBuilder()
Returns a builder for the current bucket.
|
Bucket |
update(Storage.BucketTargetOption... options)
Updates the bucket's information.
|
Acl |
updateAcl(Acl acl)
Updates an ACL entry on this bucket.
|
Acl |
updateDefaultAcl(Acl acl)
Updates a default blob ACL entry on this bucket.
|
getAcl, getCors, getCreateTime, getDefaultAcl, getDefaultEventBasedHold, getDefaultKmsKeyName, getDeleteRules, getEtag, getGeneratedId, getIamConfiguration, getIndexPage, getLabels, getLifecycleRules, getLocation, getMetageneration, getName, getNotFoundPage, getOwner, getRetentionEffectiveTime, getRetentionPeriod, getSelfLink, getStorageClass, newBuilder, of, requesterPays, retentionPolicyIsLocked, toString, versioningEnabled
public boolean exists(Bucket.BucketSourceOption... options)
Example of checking if the bucket exists.
boolean exists = bucket.exists();
if (exists) {
// the bucket exists
} else {
// the bucket was not found
}
StorageException
- upon failurepublic Bucket reload(Bucket.BucketSourceOption... options)
null
if the bucket does not exist.
Example of getting the bucket's latest information, if its generation does not match the
BucketInfo.getMetageneration()
value, otherwise a StorageException
is thrown.
Bucket latestBucket = bucket.reload(BucketSourceOption.metagenerationMatch());
if (latestBucket == null) {
// the bucket was not found
}
options
- bucket read optionsBucket
object with latest information or null
if not foundStorageException
- upon failurepublic Bucket update(Storage.BucketTargetOption... options)
Bucket
object
is returned. By default no checks are made on the metadata generation of the current bucket. If
you want to update the information only if the current bucket metadata are at their latest
version use the metagenerationMatch
option: bucket.update(BucketTargetOption.metagenerationMatch())
Example of updating the bucket's information.
Bucket updatedBucket = bucket.toBuilder().setVersioningEnabled(true).build().update();
options
- update optionsBucket
object with updated informationStorageException
- upon failurepublic boolean delete(Bucket.BucketSourceOption... options)
Example of deleting the bucket, if its metageneration matches the BucketInfo.getMetageneration()
value, otherwise a StorageException
is thrown.
boolean deleted = bucket.delete(BucketSourceOption.metagenerationMatch());
if (deleted) {
// the bucket was deleted
} else {
// the bucket was not found
}
options
- bucket delete optionstrue
if bucket was deleted, false
if it was not foundStorageException
- upon failurepublic Page<Blob> list(Storage.BlobListOption... options)
Blob
in this bucket.
Example of listing the blobs in the bucket.
Page<Blob> blobs = bucket.list();
Iterator<Blob> blobIterator = blobs.iterateAll();
while (blobIterator.hasNext()) {
Blob blob = blobIterator.next();
// do something with the blob
}
options
- options for listing blobsStorageException
- upon failurepublic Blob get(String blob, Storage.BlobGetOption... options)
null
if not found.
Example of getting a blob in the bucket, only if its metageneration matches a value,
otherwise a StorageException
is thrown.
String blobName = "my_blob_name";
long generation = 42;
Blob blob = bucket.get(blobName, BlobGetOption.generationMatch(generation));
blob
- name of the requested bloboptions
- blob search optionsStorageException
- upon failurepublic List<Blob> get(String blobName1, String blobName2, String... blobNames)
Example of getting some blobs in the bucket, using a batch request.
String blobName1 = "my_blob_name1";
String blobName2 = "my_blob_name2";
List<Blob> blobs = bucket.get(blobName1, blobName2);
for (Blob blob : blobs) {
if (blob == null) {
// the blob was not found
}
}
blobName1
- first blob to getblobName2
- second blob to getblobNames
- other blobs to getBlob
objectsStorageException
- upon failurepublic List<Blob> get(Iterable<String> blobNames)
Example of getting some blobs in the bucket, using a batch request.
String blobName1 = "my_blob_name1";
String blobName2 = "my_blob_name2";
List<String> blobNames = new LinkedList<>();
blobNames.add(blobName1);
blobNames.add(blobName2);
List<Blob> blobs = bucket.get(blobNames);
for (Blob blob : blobs) {
if (blob == null) {
// the blob was not found
}
}
blobNames
- blobs to getBlob
objectsStorageException
- upon failurepublic Blob create(String blob, byte[] content, String contentType, Bucket.BlobTargetOption... options)
content
. For large
content, Blob.writer(com.google.cloud.storage.Storage.BlobWriteOption...)
is
recommended as it uses resumable upload. MD5 and CRC32C hashes of content
are computed
and used for validating transferred data.
Example of creating a blob in the bucket from a byte array with a content type.
String blobName = "my_blob_name";
Blob blob = bucket.create(blobName, "Hello, World!".getBytes(UTF_8), "text/plain");
blob
- a blob namecontent
- the blob contentcontentType
- the blob content typeoptions
- options for blob creationStorageException
- upon failurepublic Blob create(String blob, InputStream content, String contentType, Bucket.BlobWriteOption... options)
content
. For large
content, Blob.writer(com.google.cloud.storage.Storage.BlobWriteOption...)
is
recommended as it uses resumable upload.
Example of creating a blob in the bucket from an input stream with a content type.
String blobName = "my_blob_name";
InputStream content = new ByteArrayInputStream("Hello, World!".getBytes(UTF_8));
Blob blob = bucket.create(blobName, content, "text/plain");
blob
- a blob namecontent
- the blob content as a streamcontentType
- the blob content typeoptions
- options for blob creationStorageException
- upon failurepublic Blob create(String blob, byte[] content, Bucket.BlobTargetOption... options)
content
. For large
content, Blob.writer(com.google.cloud.storage.Storage.BlobWriteOption...)
is
recommended as it uses resumable upload. MD5 and CRC32C hashes of content
are computed
and used for validating transferred data.
Example of creating a blob in the bucket from a byte array.
String blobName = "my_blob_name";
Blob blob = bucket.create(blobName, "Hello, World!".getBytes(UTF_8));
blob
- a blob namecontent
- the blob contentoptions
- options for blob creationStorageException
- upon failurepublic Blob create(String blob, InputStream content, Bucket.BlobWriteOption... options)
content
. For large
content, Blob.writer(com.google.cloud.storage.Storage.BlobWriteOption...)
is
recommended as it uses resumable upload.
Example of creating a blob in the bucket from an input stream.
String blobName = "my_blob_name";
InputStream content = new ByteArrayInputStream("Hello, World!".getBytes(UTF_8));
Blob blob = bucket.create(blobName, content);
blob
- a blob namecontent
- the blob content as a streamoptions
- options for blob creationStorageException
- upon failurepublic Acl getAcl(Acl.Entity entity)
null
if not found.
Example of getting the ACL entry for an entity.
Acl acl = bucket.getAcl(User.ofAllAuthenticatedUsers());
StorageException
- upon failurepublic boolean deleteAcl(Acl.Entity entity)
Example of deleting the ACL entry for an entity.
boolean deleted = bucket.deleteAcl(User.ofAllAuthenticatedUsers());
if (deleted) {
// the acl entry was deleted
} else {
// the acl entry was not found
}
true
if the ACL was deleted, false
if it was not foundStorageException
- upon failurepublic Acl createAcl(Acl acl)
Example of creating a new ACL entry.
Acl acl = bucket.createAcl(Acl.of(User.ofAllAuthenticatedUsers(), Acl.Role.READER));
StorageException
- upon failurepublic Acl updateAcl(Acl acl)
Example of updating a new ACL entry.
Acl acl = bucket.updateAcl(Acl.of(User.ofAllAuthenticatedUsers(), Acl.Role.OWNER));
StorageException
- upon failurepublic List<Acl> listAcls()
Example of listing the ACL entries.
List<Acl> acls = bucket.listAcls();
for (Acl acl : acls) {
// do something with ACL entry
}
StorageException
- upon failurepublic Acl getDefaultAcl(Acl.Entity entity)
null
if
not found.
Default ACLs are applied to a new blob within the bucket when no ACL was provided for that blob.
Example of getting the default ACL entry for an entity.
Acl acl = bucket.getDefaultAcl(User.ofAllAuthenticatedUsers());
StorageException
- upon failurepublic boolean deleteDefaultAcl(Acl.Entity entity)
Default ACLs are applied to a new blob within the bucket when no ACL was provided for that blob.
Example of deleting the default ACL entry for an entity.
boolean deleted = bucket.deleteDefaultAcl(User.ofAllAuthenticatedUsers());
if (deleted) {
// the acl entry was deleted
} else {
// the acl entry was not found
}
true
if the ACL was deleted, false
if it was not foundStorageException
- upon failurepublic Acl createDefaultAcl(Acl acl)
Default ACLs are applied to a new blob within the bucket when no ACL was provided for that blob.
Example of creating a new default ACL entry.
Acl acl = bucket.createDefaultAcl(Acl.of(User.ofAllAuthenticatedUsers(), Acl.Role.READER));
StorageException
- upon failurepublic Acl updateDefaultAcl(Acl acl)
Default ACLs are applied to a new blob within the bucket when no ACL was provided for that blob.
Example of updating a new default ACL entry.
Acl acl = bucket.updateDefaultAcl(Acl.of(User.ofAllAuthenticatedUsers(), Acl.Role.OWNER));
StorageException
- upon failurepublic List<Acl> listDefaultAcls()
Default ACLs are applied to a new blob within the bucket when no ACL was provided for that blob.
Example of listing the default ACL entries.
List<Acl> acls = bucket.listDefaultAcls();
for (Acl acl : acls) {
// do something with ACL entry
}
StorageException
- upon failurepublic Bucket lockRetentionPolicy(Storage.BucketTargetOption... options)
Accepts an optional userProject Storage.BucketTargetOption
option which defines the project
id to assign operational costs.
Warning: Once a retention policy is locked, it can't be unlocked, removed, or shortened.
Example of locking a retention policy on a bucket, only if its local metageneration value
matches the bucket's service metageneration otherwise a StorageException
is thrown.
String bucketName = "my_unique_bucket";
Bucket bucket = storage.get(bucketName, BucketGetOption.fields(BucketField.METAGENERATION));
storage.lockRetentionPolicy(bucket, BucketTargetOption.metagenerationMatch());
Bucket
object of the locked bucketStorageException
- upon failurepublic Storage getStorage()
Storage
object used to issue requests.public Bucket.Builder toBuilder()
BucketInfo
toBuilder
in class BucketInfo
public final boolean equals(Object obj)
equals
in class BucketInfo
public final int hashCode()
hashCode
in class BucketInfo
Copyright © 2019 Google LLC. All rights reserved.