From e4c787ddc537292b508fa0f73eac7b38b2037b75 Mon Sep 17 00:00:00 2001 From: BenWhitehead Date: Fri, 5 Sep 2025 17:45:47 -0400 Subject: [PATCH 1/2] samples(fix): update all samples to apply try-with-resource to clients All Storage and TransferManager instances now have try-with-resource around them. --- .../com/example/storage/ConfigureRetries.java | 18 +++--- .../storage/GenerateSignedPostPolicyV4.java | 58 +++++++++-------- .../example/storage/GetServiceAccount.java | 12 ++-- .../QuickstartOpenTelemetrySample.java | 5 +- .../com/example/storage/QuickstartSample.java | 13 ++-- .../storage/bucket/AddBucketDefaultOwner.java | 13 ++-- .../AddBucketIamConditionalBinding.java | 64 ++++++++++--------- .../storage/bucket/AddBucketIamMember.java | 35 +++++----- .../storage/bucket/AddBucketLabel.java | 22 ++++--- .../storage/bucket/AddBucketOwner.java | 14 ++-- .../bucket/ChangeDefaultStorageClass.java | 20 +++--- .../storage/bucket/ConfigureBucketCors.java | 45 ++++++------- .../example/storage/bucket/CreateBucket.java | 9 +-- .../bucket/CreateBucketDualRegion.java | 43 +++++++------ .../CreateBucketPubSubNotification.java | 25 ++++---- .../CreateBucketWithObjectRetention.java | 22 ++++--- ...eateBucketWithStorageClassAndLocation.java | 6 +- .../CreateBucketWithTurboReplication.java | 5 +- .../example/storage/bucket/DeleteBucket.java | 5 +- .../DeleteBucketPubSubNotification.java | 16 +++-- .../bucket/DisableBucketVersioning.java | 5 +- .../bucket/DisableDefaultEventBasedHold.java | 6 +- .../bucket/DisableLifecycleManagement.java | 6 +- .../storage/bucket/DisableRequesterPays.java | 5 +- .../storage/bucket/DisableSoftDelete.java | 5 +- .../DisableUniformBucketLevelAccess.java | 6 +- .../bucket/EnableBucketVersioning.java | 5 +- .../bucket/EnableDefaultEventBasedHold.java | 6 +- .../bucket/EnableLifecycleManagement.java | 6 +- .../storage/bucket/EnableRequesterPays.java | 5 +- .../EnableUniformBucketLevelAccess.java | 6 +- .../storage/bucket/GetBucketAutoclass.java | 5 +- .../storage/bucket/GetBucketMetadata.java | 5 +- .../example/storage/bucket/GetBucketRpo.java | 5 +- .../bucket/GetDefaultEventBasedHold.java | 6 +- .../bucket/GetPublicAccessPrevention.java | 7 +- .../bucket/GetRequesterPaysStatus.java | 6 +- .../storage/bucket/GetRetentionPolicy.java | 6 +- .../storage/bucket/GetSoftDeletePolicy.java | 5 +- .../bucket/GetUniformBucketLevelAccess.java | 6 +- .../storage/bucket/ListBucketIamMembers.java | 5 +- .../example/storage/bucket/ListBuckets.java | 5 +- .../bucket/ListPubSubNotifications.java | 13 ++-- .../storage/bucket/LockRetentionPolicy.java | 6 +- .../storage/bucket/MakeBucketPublic.java | 5 +- .../storage/bucket/PrintBucketAcl.java | 5 +- .../bucket/PrintBucketAclFilterByUser.java | 14 ++-- .../bucket/PrintPubSubNotification.java | 12 ++-- .../storage/bucket/RemoveBucketCors.java | 5 +- .../bucket/RemoveBucketDefaultKmsKey.java | 6 +- .../bucket/RemoveBucketDefaultOwner.java | 20 +++--- .../RemoveBucketIamConditionalBinding.java | 6 +- .../storage/bucket/RemoveBucketIamMember.java | 5 +- .../storage/bucket/RemoveBucketLabel.java | 6 +- .../storage/bucket/RemoveBucketOwner.java | 6 +- .../storage/bucket/RemoveRetentionPolicy.java | 6 +- .../storage/bucket/SetAsyncTurboRpo.java | 5 +- .../bucket/SetBucketDefaultKmsKey.java | 6 +- .../storage/bucket/SetBucketWebsiteInfo.java | 5 +- .../storage/bucket/SetClientEndpoint.java | 11 ++-- .../example/storage/bucket/SetDefaultRpo.java | 5 +- .../SetPublicAccessPreventionEnforced.java | 6 +- .../SetPublicAccessPreventionInherited.java | 6 +- .../storage/bucket/SetRetentionPolicy.java | 6 +- .../storage/bucket/SetSoftDeletePolicy.java | 5 +- .../example/storage/hmac/ActivateHmacKey.java | 38 +++++------ .../example/storage/hmac/CreateHmacKey.java | 7 +- .../storage/hmac/DeactivateHmacKey.java | 39 ++++++----- .../example/storage/hmac/DeleteHmacKey.java | 19 +++--- .../com/example/storage/hmac/GetHmacKey.java | 33 +++++----- .../example/storage/hmac/ListHmacKeys.java | 19 +++--- .../example/storage/object/AddBlobOwner.java | 28 ++++---- .../storage/object/AtomicMoveObject.java | 7 +- .../object/BatchSetObjectMetadata.java | 6 +- .../storage/object/ChangeObjectCsekToKms.java | 6 +- .../object/ChangeObjectStorageClass.java | 6 +- .../example/storage/object/ComposeObject.java | 6 +- .../storage/object/CopyDeleteObject.java | 6 +- .../object/CopyOldVersionOfObject.java | 6 +- .../example/storage/object/DeleteObject.java | 7 +- .../object/DeleteOldVersionOfObject.java | 7 +- .../storage/object/DownloadByteRange.java | 7 +- .../object/DownloadEncryptedObject.java | 7 +- .../object/DownloadObjectIntoMemory.java | 6 +- .../storage/object/DownloadPublicObject.java | 26 ++++---- .../object/DownloadRequesterPaysObject.java | 5 +- .../object/GenerateV4GetObjectSignedUrl.java | 7 +- .../object/GenerateV4PutObjectSignedUrl.java | 7 +- .../storage/object/GetObjectMetadata.java | 7 +- .../example/storage/object/ListObjects.java | 6 +- .../object/ListObjectsWithOldVersions.java | 7 +- .../storage/object/ListObjectsWithPrefix.java | 6 +- .../object/ListSoftDeletedObjects.java | 6 +- .../ListSoftDeletedVersionsOfObject.java | 6 +- .../storage/object/MakeObjectPublic.java | 7 +- .../example/storage/object/PrintBlobAcl.java | 28 ++++---- .../storage/object/ReleaseEventBasedHold.java | 7 +- .../storage/object/ReleaseTemporaryHold.java | 7 +- .../storage/object/RemoveBlobOwner.java | 6 +- .../object/RestoreSoftDeletedObject.java | 6 +- .../object/RotateObjectEncryptionKey.java | 6 +- .../storage/object/SetEventBasedHold.java | 7 +- .../storage/object/SetObjectMetadata.java | 7 +- .../object/SetObjectRetentionPolicy.java | 7 +- .../storage/object/SetTemporaryHold.java | 7 +- .../storage/object/StreamObjectDownload.java | 7 +- .../storage/object/StreamObjectUpload.java | 7 +- .../storage/object/UploadEncryptedObject.java | 7 +- .../object/UploadKmsEncryptedObject.java | 6 +- .../example/storage/object/UploadObject.java | 7 +- .../object/UploadObjectFromMemory.java | 7 +- .../AllowDivideAndConquerDownload.java | 38 +++++------ .../AllowParallelCompositeUpload.java | 34 +++++----- .../transfermanager/DownloadBucket.java | 49 +++++++------- .../storage/transfermanager/DownloadMany.java | 3 +- .../transfermanager/UploadDirectory.java | 42 ++++++------ .../storage/transfermanager/UploadMany.java | 27 ++++---- .../example/storage/ConfigureRetriesTest.java | 2 +- .../com/example/storage/ITBucketSnippets.java | 26 ++++---- .../com/example/storage/ITHmacSnippets.java | 4 +- .../com/example/storage/ITObjectSnippets.java | 34 +++++----- .../example/storage/ITStorageSnippets.java | 2 +- .../bucket/CreateBucketDualRegionTest.java | 2 +- .../bucket/PubSubNotificationTest.java | 10 +-- .../storage/object/AddBlobOwnerTest.java | 2 +- .../object/DownloadBytesRangeTest.java | 2 +- .../storage/object/PrintBlobAclTest.java | 2 +- .../storage/object/RemoveBlobOwnerTest.java | 4 +- .../ITTransferManagerSamples.java | 2 +- 129 files changed, 792 insertions(+), 714 deletions(-) diff --git a/samples/snippets/src/main/java/com/example/storage/ConfigureRetries.java b/samples/snippets/src/main/java/com/example/storage/ConfigureRetries.java index 5cdf01b1b6..4150793f9d 100644 --- a/samples/snippets/src/main/java/com/example/storage/ConfigureRetries.java +++ b/samples/snippets/src/main/java/com/example/storage/ConfigureRetries.java @@ -26,13 +26,13 @@ import org.threeten.bp.Duration; public final class ConfigureRetries { - public static void main(String[] args) { + public static void main(String[] args) throws Exception { String bucketName = "my-bucket"; String blobName = "blob/to/delete"; deleteBlob(bucketName, blobName); } - static void deleteBlob(String bucketName, String blobName) { + static void deleteBlob(String bucketName, String blobName) throws Exception { // Customize retry behavior RetrySettings retrySettings = StorageOptions.getDefaultRetrySettings().toBuilder() @@ -53,14 +53,16 @@ static void deleteBlob(String bucketName, String blobName) { .build(); // Instantiate a client - Storage storage = alwaysRetryStorageOptions.getService(); + try (Storage storage = alwaysRetryStorageOptions.getService()) { - // Delete the blob - BlobId blobId = BlobId.of(bucketName, blobName); - boolean success = storage.delete(blobId); + // Delete the blob + BlobId blobId = BlobId.of(bucketName, blobName); + boolean success = storage.delete(blobId); - System.out.printf( - "Deletion of Blob %s completed %s.%n", blobId, success ? "successfully" : "unsuccessfully"); + System.out.printf( + "Deletion of Blob %s completed %s.%n", blobId, + success ? "successfully" : "unsuccessfully"); + } } } // [END storage_configure_retries] diff --git a/samples/snippets/src/main/java/com/example/storage/GenerateSignedPostPolicyV4.java b/samples/snippets/src/main/java/com/example/storage/GenerateSignedPostPolicyV4.java index a1dd9ebaaa..f19f1ba1cf 100644 --- a/samples/snippets/src/main/java/com/example/storage/GenerateSignedPostPolicyV4.java +++ b/samples/snippets/src/main/java/com/example/storage/GenerateSignedPostPolicyV4.java @@ -37,7 +37,7 @@ public class GenerateSignedPostPolicyV4 { * Storage.generateSignedPostPolicyV4 for more details. */ public static void generateSignedPostPolicyV4( - String projectId, String bucketName, String blobName) { + String projectId, String bucketName, String blobName) throws Exception { // The ID of your GCP project // String projectId = "your-project-id"; @@ -47,37 +47,39 @@ public static void generateSignedPostPolicyV4( // The name to give the object uploaded to GCS // String blobName = "your-object-name" - Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService(); + StorageOptions storageOptions = StorageOptions.newBuilder().setProjectId(projectId).build(); + try (Storage storage = storageOptions.getService()) { - PostPolicyV4.PostFieldsV4 fields = - PostPolicyV4.PostFieldsV4.newBuilder().setCustomMetadataField("test", "data").build(); + PostPolicyV4.PostFieldsV4 fields = + PostPolicyV4.PostFieldsV4.newBuilder().setCustomMetadataField("test", "data").build(); - PostPolicyV4 policy = - storage.generateSignedPostPolicyV4( - BlobInfo.newBuilder(bucketName, blobName).build(), 10, TimeUnit.MINUTES, fields); + PostPolicyV4 policy = + storage.generateSignedPostPolicyV4( + BlobInfo.newBuilder(bucketName, blobName).build(), 10, TimeUnit.MINUTES, fields); - StringBuilder htmlForm = - new StringBuilder( - "
\n"); - for (Map.Entry entry : policy.getFields().entrySet()) { - htmlForm.append( - " \n"); - } - htmlForm.append("
\n"); - htmlForm.append("
\n"); - htmlForm.append("\n"); + StringBuilder htmlForm = + new StringBuilder( + "
\n"); + for (Map.Entry entry : policy.getFields().entrySet()) { + htmlForm.append( + " \n"); + } + htmlForm.append("
\n"); + htmlForm.append("
\n"); + htmlForm.append("\n"); - System.out.println( - "You can use the following HTML form to upload an object to bucket " - + bucketName - + " for the next ten minutes:"); - System.out.println(htmlForm.toString()); + System.out.println( + "You can use the following HTML form to upload an object to bucket " + + bucketName + + " for the next ten minutes:"); + System.out.println(htmlForm.toString()); + } } } // [END storage_generate_signed_post_policy_v4] diff --git a/samples/snippets/src/main/java/com/example/storage/GetServiceAccount.java b/samples/snippets/src/main/java/com/example/storage/GetServiceAccount.java index e190376a0a..49c8b1b6fe 100644 --- a/samples/snippets/src/main/java/com/example/storage/GetServiceAccount.java +++ b/samples/snippets/src/main/java/com/example/storage/GetServiceAccount.java @@ -22,14 +22,16 @@ import com.google.cloud.storage.StorageOptions; public class GetServiceAccount { - public static void getServiceAccount(String projectId) { + public static void getServiceAccount(String projectId) throws Exception { // The ID of your GCP project // String projectId = "your-project-id"; - Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService(); - ServiceAccount serviceAccount = storage.getServiceAccount(projectId); - System.out.println( - "The GCS service account for project " + projectId + " is: " + serviceAccount.getEmail()); + StorageOptions storageOptions = StorageOptions.newBuilder().setProjectId(projectId).build(); + try (Storage storage = storageOptions.getService()) { + ServiceAccount serviceAccount = storage.getServiceAccount(projectId); + System.out.println( + "The GCS service account for project " + projectId + " is: " + serviceAccount.getEmail()); + } } } // [END storage_get_service_account] diff --git a/samples/snippets/src/main/java/com/example/storage/QuickstartOpenTelemetrySample.java b/samples/snippets/src/main/java/com/example/storage/QuickstartOpenTelemetrySample.java index dd062a1ded..6a3997cd71 100644 --- a/samples/snippets/src/main/java/com/example/storage/QuickstartOpenTelemetrySample.java +++ b/samples/snippets/src/main/java/com/example/storage/QuickstartOpenTelemetrySample.java @@ -51,8 +51,9 @@ public static void main(String... args) throws Exception { .build()) .build(); StorageOptions options = StorageOptions.newBuilder().setOpenTelemetry(openTelemetry).build(); - Storage storage = options.getService(); - System.out.println("Created an instance of storage with OpenTelemetry configured"); + try (OpenTelemetrySdk otel = openTelemetry; Storage storage = options.getService()) { + System.out.println("Created an instance of storage with OpenTelemetry configured"); + } } } // [END storage_enable_otel_tracing] diff --git a/samples/snippets/src/main/java/com/example/storage/QuickstartSample.java b/samples/snippets/src/main/java/com/example/storage/QuickstartSample.java index a5ef2b16d7..178f37113b 100644 --- a/samples/snippets/src/main/java/com/example/storage/QuickstartSample.java +++ b/samples/snippets/src/main/java/com/example/storage/QuickstartSample.java @@ -26,15 +26,16 @@ public class QuickstartSample { public static void main(String... args) throws Exception { // Instantiates a client - Storage storage = StorageOptions.getDefaultInstance().getService(); + try (Storage storage = StorageOptions.getDefaultInstance().getService()) { - // The name for the new bucket - String bucketName = args[0]; // "my-new-bucket"; + // The name for the new bucket + String bucketName = args[0]; // "my-new-bucket"; - // Creates the new bucket - Bucket bucket = storage.create(BucketInfo.of(bucketName)); + // Creates the new bucket + Bucket bucket = storage.create(BucketInfo.of(bucketName)); - System.out.printf("Bucket %s created.%n", bucket.getName()); + System.out.printf("Bucket %s created.%n", bucket.getName()); + } } } // [END storage_quickstart] diff --git a/samples/snippets/src/main/java/com/example/storage/bucket/AddBucketDefaultOwner.java b/samples/snippets/src/main/java/com/example/storage/bucket/AddBucketDefaultOwner.java index 8e2e369fda..03ceec8a02 100644 --- a/samples/snippets/src/main/java/com/example/storage/bucket/AddBucketDefaultOwner.java +++ b/samples/snippets/src/main/java/com/example/storage/bucket/AddBucketDefaultOwner.java @@ -27,7 +27,7 @@ public class AddBucketDefaultOwner { - public static void addBucketDefaultOwner(String bucketName, String userEmail) { + public static void addBucketDefaultOwner(String bucketName, String userEmail) throws Exception { // The ID of your GCS bucket // String bucketName = "your-unique-bucket-name"; @@ -35,12 +35,13 @@ public static void addBucketDefaultOwner(String bucketName, String userEmail) { // The email of the user you wish to add as a default owner // String userEmail = "someuser@domain.com" - Storage storage = StorageOptions.newBuilder().build().getService(); - Bucket bucket = storage.get(bucketName); - Acl newDefaultOwner = Acl.of(new User(userEmail), Role.OWNER); + try (Storage storage = StorageOptions.newBuilder().build().getService()) { + Bucket bucket = storage.get(bucketName); + Acl newDefaultOwner = Acl.of(new User(userEmail), Role.OWNER); - bucket.createDefaultAcl(newDefaultOwner); - System.out.println("Added user " + userEmail + " as an owner on " + bucketName); + bucket.createDefaultAcl(newDefaultOwner); + System.out.println("Added user " + userEmail + " as an owner on " + bucketName); + } } } // [END storage_add_bucket_default_owner] diff --git a/samples/snippets/src/main/java/com/example/storage/bucket/AddBucketIamConditionalBinding.java b/samples/snippets/src/main/java/com/example/storage/bucket/AddBucketIamConditionalBinding.java index e1d08d3872..75265546d7 100644 --- a/samples/snippets/src/main/java/com/example/storage/bucket/AddBucketIamConditionalBinding.java +++ b/samples/snippets/src/main/java/com/example/storage/bucket/AddBucketIamConditionalBinding.java @@ -29,7 +29,8 @@ public class AddBucketIamConditionalBinding { /** Example of adding a conditional binding to the Bucket-level IAM */ - public static void addBucketIamConditionalBinding(String projectId, String bucketName) { + public static void addBucketIamConditionalBinding(String projectId, String bucketName) + throws Exception { // The ID of your GCP project // String projectId = "your-project-id"; @@ -38,44 +39,45 @@ public static void addBucketIamConditionalBinding(String projectId, String bucke // For more information please read: // https://cloud.google.com/storage/docs/access-control/iam - Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService(); + try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { - Policy originalPolicy = - storage.getIamPolicy(bucketName, Storage.BucketSourceOption.requestedPolicyVersion(3)); + Policy originalPolicy = + storage.getIamPolicy(bucketName, Storage.BucketSourceOption.requestedPolicyVersion(3)); - String role = "roles/storage.objectViewer"; - String member = "group:example@google.com"; + String role = "roles/storage.objectViewer"; + String member = "group:example@google.com"; - // Create a condition - String conditionTitle = "Title"; - String conditionDescription = "Description"; - String conditionExpression = - "resource.name.startsWith(\"projects/_/buckets/bucket-name/objects/prefix-a-\")"; - Condition.Builder conditionBuilder = Condition.newBuilder(); - conditionBuilder.setTitle(conditionTitle); - conditionBuilder.setDescription(conditionDescription); - conditionBuilder.setExpression(conditionExpression); + // Create a condition + String conditionTitle = "Title"; + String conditionDescription = "Description"; + String conditionExpression = + "resource.name.startsWith(\"projects/_/buckets/bucket-name/objects/prefix-a-\")"; + Condition.Builder conditionBuilder = Condition.newBuilder(); + conditionBuilder.setTitle(conditionTitle); + conditionBuilder.setDescription(conditionDescription); + conditionBuilder.setExpression(conditionExpression); - // getBindingsList() returns an ImmutableList, we copy over to an ArrayList so it's mutable - List bindings = new ArrayList(originalPolicy.getBindingsList()); + // getBindingsList() returns an ImmutableList, we copy over to an ArrayList so it's mutable + List bindings = new ArrayList(originalPolicy.getBindingsList()); - // Add condition to a binding - Binding.Builder newBindingBuilder = - Binding.newBuilder() - .setRole(role) - .setMembers(Arrays.asList(member)) - .setCondition(conditionBuilder.build()); - bindings.add(newBindingBuilder.build()); + // Add condition to a binding + Binding.Builder newBindingBuilder = + Binding.newBuilder() + .setRole(role) + .setMembers(Arrays.asList(member)) + .setCondition(conditionBuilder.build()); + bindings.add(newBindingBuilder.build()); - // Update policy with new conditional binding - Policy.Builder updatedPolicyBuilder = originalPolicy.toBuilder(); - updatedPolicyBuilder.setBindings(bindings).setVersion(3); + // Update policy with new conditional binding + Policy.Builder updatedPolicyBuilder = originalPolicy.toBuilder(); + updatedPolicyBuilder.setBindings(bindings).setVersion(3); - storage.setIamPolicy(bucketName, updatedPolicyBuilder.build()); + storage.setIamPolicy(bucketName, updatedPolicyBuilder.build()); - System.out.printf( - "Added %s with role %s to %s with condition %s %s %s\n", - member, role, bucketName, conditionTitle, conditionDescription, conditionExpression); + System.out.printf( + "Added %s with role %s to %s with condition %s %s %s\n", + member, role, bucketName, conditionTitle, conditionDescription, conditionExpression); + } } } // [END storage_add_bucket_conditional_iam_binding] diff --git a/samples/snippets/src/main/java/com/example/storage/bucket/AddBucketIamMember.java b/samples/snippets/src/main/java/com/example/storage/bucket/AddBucketIamMember.java index c5c86e6224..dcf00ea3f3 100644 --- a/samples/snippets/src/main/java/com/example/storage/bucket/AddBucketIamMember.java +++ b/samples/snippets/src/main/java/com/example/storage/bucket/AddBucketIamMember.java @@ -28,7 +28,7 @@ public class AddBucketIamMember { /** Example of adding a member to the Bucket-level IAM */ - public static void addBucketIamMember(String projectId, String bucketName) { + public static void addBucketIamMember(String projectId, String bucketName) throws Exception { // The ID of your GCP project // String projectId = "your-project-id"; @@ -37,28 +37,29 @@ public static void addBucketIamMember(String projectId, String bucketName) { // For more information please read: // https://cloud.google.com/storage/docs/access-control/iam - Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService(); + try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { - Policy originalPolicy = - storage.getIamPolicy(bucketName, Storage.BucketSourceOption.requestedPolicyVersion(3)); + Policy originalPolicy = + storage.getIamPolicy(bucketName, Storage.BucketSourceOption.requestedPolicyVersion(3)); - String role = "roles/storage.objectViewer"; - String member = "group:example@google.com"; + String role = "roles/storage.objectViewer"; + String member = "group:example@google.com"; - // getBindingsList() returns an ImmutableList and copying over to an ArrayList so it's mutable. - List bindings = new ArrayList(originalPolicy.getBindingsList()); + // getBindingsList() returns an ImmutableList and copying over to an ArrayList so it's mutable. + List bindings = new ArrayList(originalPolicy.getBindingsList()); - // Create a new binding using role and member - Binding.Builder newMemberBindingBuilder = Binding.newBuilder(); - newMemberBindingBuilder.setRole(role).setMembers(Arrays.asList(member)); - bindings.add(newMemberBindingBuilder.build()); + // Create a new binding using role and member + Binding.Builder newMemberBindingBuilder = Binding.newBuilder(); + newMemberBindingBuilder.setRole(role).setMembers(Arrays.asList(member)); + bindings.add(newMemberBindingBuilder.build()); - // Update policy to add member - Policy.Builder updatedPolicyBuilder = originalPolicy.toBuilder(); - updatedPolicyBuilder.setBindings(bindings).setVersion(3); - Policy updatedPolicy = storage.setIamPolicy(bucketName, updatedPolicyBuilder.build()); + // Update policy to add member + Policy.Builder updatedPolicyBuilder = originalPolicy.toBuilder(); + updatedPolicyBuilder.setBindings(bindings).setVersion(3); + Policy updatedPolicy = storage.setIamPolicy(bucketName, updatedPolicyBuilder.build()); - System.out.printf("Added %s with role %s to %s\n", member, role, bucketName); + System.out.printf("Added %s with role %s to %s\n", member, role, bucketName); + } } } // [END storage_add_bucket_iam_member] diff --git a/samples/snippets/src/main/java/com/example/storage/bucket/AddBucketLabel.java b/samples/snippets/src/main/java/com/example/storage/bucket/AddBucketLabel.java index 473f270215..86d39e3536 100644 --- a/samples/snippets/src/main/java/com/example/storage/bucket/AddBucketLabel.java +++ b/samples/snippets/src/main/java/com/example/storage/bucket/AddBucketLabel.java @@ -26,7 +26,7 @@ public class AddBucketLabel { public static void addBucketLabel( - String projectId, String bucketName, String labelKey, String labelValue) { + String projectId, String bucketName, String labelKey, String labelValue) throws Exception { // The ID of your GCP project // String projectId = "your-project-id"; @@ -42,16 +42,18 @@ public static void addBucketLabel( Map newLabels = new HashMap<>(); newLabels.put(labelKey, labelValue); - Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService(); - Bucket bucket = storage.get(bucketName); - Map labels = bucket.getLabels(); - if (labels != null) { - newLabels.putAll(labels); + try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { + Bucket bucket = storage.get(bucketName); + Map labels = bucket.getLabels(); + if (labels != null) { + newLabels.putAll(labels); + } + bucket.toBuilder().setLabels(newLabels).build().update(); + + System.out.println( + "Added label " + labelKey + " with value " + labelValue + " to bucket " + bucketName + + "."); } - bucket.toBuilder().setLabels(newLabels).build().update(); - - System.out.println( - "Added label " + labelKey + " with value " + labelValue + " to bucket " + bucketName + "."); } } // [END storage_add_bucket_label] diff --git a/samples/snippets/src/main/java/com/example/storage/bucket/AddBucketOwner.java b/samples/snippets/src/main/java/com/example/storage/bucket/AddBucketOwner.java index ddbd5bfefe..14c50d382c 100644 --- a/samples/snippets/src/main/java/com/example/storage/bucket/AddBucketOwner.java +++ b/samples/snippets/src/main/java/com/example/storage/bucket/AddBucketOwner.java @@ -27,7 +27,8 @@ public class AddBucketOwner { - public static void addBucketOwner(String projectId, String bucketName, String userEmail) { + public static void addBucketOwner(String projectId, String bucketName, String userEmail) + throws Exception { // The ID of your GCP project // String projectId = "your-project-id"; @@ -37,12 +38,13 @@ public static void addBucketOwner(String projectId, String bucketName, String us // Email of the user you wish to add as an owner // String userEmail = "someuser@domain.com" - Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService(); - Bucket bucket = storage.get(bucketName); - Acl newOwner = Acl.of(new User(userEmail), Role.OWNER); + try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { + Bucket bucket = storage.get(bucketName); + Acl newOwner = Acl.of(new User(userEmail), Role.OWNER); - bucket.createAcl(newOwner); - System.out.println("Added user " + userEmail + " as an owner on " + bucketName); + bucket.createAcl(newOwner); + System.out.println("Added user " + userEmail + " as an owner on " + bucketName); + } } } diff --git a/samples/snippets/src/main/java/com/example/storage/bucket/ChangeDefaultStorageClass.java b/samples/snippets/src/main/java/com/example/storage/bucket/ChangeDefaultStorageClass.java index 03c4358f6e..a67c7e8109 100644 --- a/samples/snippets/src/main/java/com/example/storage/bucket/ChangeDefaultStorageClass.java +++ b/samples/snippets/src/main/java/com/example/storage/bucket/ChangeDefaultStorageClass.java @@ -23,7 +23,8 @@ import com.google.cloud.storage.StorageOptions; public class ChangeDefaultStorageClass { - public static void changeDefaultStorageClass(String projectId, String bucketName) { + public static void changeDefaultStorageClass(String projectId, String bucketName) + throws Exception { // The ID of your GCP project // String projectId = "your-project-id"; @@ -34,15 +35,16 @@ public static void changeDefaultStorageClass(String projectId, String bucketName // https://googleapis.dev/java/google-cloud-clients/latest/com/google/cloud/storage/StorageClass.html StorageClass storageClass = StorageClass.COLDLINE; - Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService(); - Bucket bucket = storage.get(bucketName); - bucket = bucket.toBuilder().setStorageClass(storageClass).build().update(); + try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { + Bucket bucket = storage.get(bucketName); + bucket = bucket.toBuilder().setStorageClass(storageClass).build().update(); - System.out.println( - "Default storage class for bucket " - + bucketName - + " has been set to " - + bucket.getStorageClass()); + System.out.println( + "Default storage class for bucket " + + bucketName + + " has been set to " + + bucket.getStorageClass()); + } } } // [END storage_change_default_storage_class] diff --git a/samples/snippets/src/main/java/com/example/storage/bucket/ConfigureBucketCors.java b/samples/snippets/src/main/java/com/example/storage/bucket/ConfigureBucketCors.java index 3097978ad3..7ae738cd42 100644 --- a/samples/snippets/src/main/java/com/example/storage/bucket/ConfigureBucketCors.java +++ b/samples/snippets/src/main/java/com/example/storage/bucket/ConfigureBucketCors.java @@ -30,7 +30,7 @@ public static void configureBucketCors( String bucketName, String origin, String responseHeader, - Integer maxAgeSeconds) { + Integer maxAgeSeconds) throws Exception { // The ID of your GCP project // String projectId = "your-project-id"; @@ -47,31 +47,32 @@ public static void configureBucketCors( // requests // Integer maxAgeSeconds = 3600; - Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService(); - Bucket bucket = storage.get(bucketName); + try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { + Bucket bucket = storage.get(bucketName); - // See the HttpMethod documentation for other HTTP methods available: - // https://cloud.google.com/appengine/docs/standard/java/javadoc/com/google/appengine/api/urlfetch/HTTPMethod - HttpMethod method = HttpMethod.GET; + // See the HttpMethod documentation for other HTTP methods available: + // https://cloud.google.com/appengine/docs/standard/java/javadoc/com/google/appengine/api/urlfetch/HTTPMethod + HttpMethod method = HttpMethod.GET; - Cors cors = - Cors.newBuilder() - .setOrigins(ImmutableList.of(Cors.Origin.of(origin))) - .setMethods(ImmutableList.of(method)) - .setResponseHeaders(ImmutableList.of(responseHeader)) - .setMaxAgeSeconds(maxAgeSeconds) - .build(); + Cors cors = + Cors.newBuilder() + .setOrigins(ImmutableList.of(Cors.Origin.of(origin))) + .setMethods(ImmutableList.of(method)) + .setResponseHeaders(ImmutableList.of(responseHeader)) + .setMaxAgeSeconds(maxAgeSeconds) + .build(); - bucket.toBuilder().setCors(ImmutableList.of(cors)).build().update(); + bucket.toBuilder().setCors(ImmutableList.of(cors)).build().update(); - System.out.println( - "Bucket " - + bucketName - + " was updated with a CORS config to allow GET requests from " - + origin - + " sharing " - + responseHeader - + " responses across origins"); + System.out.println( + "Bucket " + + bucketName + + " was updated with a CORS config to allow GET requests from " + + origin + + " sharing " + + responseHeader + + " responses across origins"); + } } } // [END storage_cors_configuration] diff --git a/samples/snippets/src/main/java/com/example/storage/bucket/CreateBucket.java b/samples/snippets/src/main/java/com/example/storage/bucket/CreateBucket.java index 53041f62c5..195ba651f2 100644 --- a/samples/snippets/src/main/java/com/example/storage/bucket/CreateBucket.java +++ b/samples/snippets/src/main/java/com/example/storage/bucket/CreateBucket.java @@ -23,18 +23,19 @@ import com.google.cloud.storage.StorageOptions; public class CreateBucket { - public static void createBucket(String projectId, String bucketName) { + public static void createBucket(String projectId, String bucketName) throws Exception { // The ID of your GCP project // String projectId = "your-project-id"; // The ID to give your GCS bucket // String bucketName = "your-unique-bucket-name"; - Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService(); + try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { - Bucket bucket = storage.create(BucketInfo.newBuilder(bucketName).build()); + Bucket bucket = storage.create(BucketInfo.newBuilder(bucketName).build()); - System.out.println("Created bucket " + bucket.getName()); + System.out.println("Created bucket " + bucket.getName()); + } } } // [END storage_create_bucket] diff --git a/samples/snippets/src/main/java/com/example/storage/bucket/CreateBucketDualRegion.java b/samples/snippets/src/main/java/com/example/storage/bucket/CreateBucketDualRegion.java index 6c5be68d45..dce6f8cd7d 100644 --- a/samples/snippets/src/main/java/com/example/storage/bucket/CreateBucketDualRegion.java +++ b/samples/snippets/src/main/java/com/example/storage/bucket/CreateBucketDualRegion.java @@ -32,7 +32,7 @@ public static void createBucketDualRegion( String bucketName, String location, String firstRegion, - String secondRegion) { + String secondRegion) throws Exception { // The ID of your GCP project. // String projectId = "your-project-id"; @@ -51,30 +51,31 @@ public static void createBucketDualRegion( // See this documentation for other valid locations and regions: // https://cloud.google.com/storage/docs/locations - Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService(); + try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { - CustomPlacementConfig config = - CustomPlacementConfig.newBuilder() - .setDataLocations(Arrays.asList(firstRegion, secondRegion)) - .build(); + CustomPlacementConfig config = + CustomPlacementConfig.newBuilder() + .setDataLocations(Arrays.asList(firstRegion, secondRegion)) + .build(); - BucketInfo bucketInfo = - BucketInfo.newBuilder(bucketName) - .setLocation(location) - .setCustomPlacementConfig(config) - .build(); + BucketInfo bucketInfo = + BucketInfo.newBuilder(bucketName) + .setLocation(location) + .setCustomPlacementConfig(config) + .build(); - Bucket bucket = storage.create(bucketInfo); + Bucket bucket = storage.create(bucketInfo); - System.out.println( - "Created bucket " - + bucket.getName() - + " in location " - + bucket.getLocation() - + " with location type " - + bucket.getLocationType() - + " with Custom Placement Config " - + bucket.getCustomPlacementConfig().toString()); + System.out.println( + "Created bucket " + + bucket.getName() + + " in location " + + bucket.getLocation() + + " with location type " + + bucket.getLocationType() + + " with Custom Placement Config " + + bucket.getCustomPlacementConfig().toString()); + } } } // [END storage_create_bucket_dual_region] diff --git a/samples/snippets/src/main/java/com/example/storage/bucket/CreateBucketPubSubNotification.java b/samples/snippets/src/main/java/com/example/storage/bucket/CreateBucketPubSubNotification.java index da2b3b3d13..9356c39fd8 100644 --- a/samples/snippets/src/main/java/com/example/storage/bucket/CreateBucketPubSubNotification.java +++ b/samples/snippets/src/main/java/com/example/storage/bucket/CreateBucketPubSubNotification.java @@ -33,7 +33,7 @@ public static void createBucketPubSubNotification( Map customAttributes, EventType[] eventTypes, String objectNamePrefix, - PayloadFormat payloadFormat) { + PayloadFormat payloadFormat) throws Exception { // The ID to give your GCS bucket // String bucketName = "your-unique-bucket-name"; @@ -49,17 +49,18 @@ public static void createBucketPubSubNotification( // Desired content of the Payload // PayloadFormat payloadFormat = PayloadFormat.JSON_API_V1.JSON_API_V1; - Storage storage = StorageOptions.newBuilder().build().getService(); - NotificationInfo notificationInfo = - NotificationInfo.newBuilder(topicName) - .setCustomAttributes(customAttributes) - .setEventTypes(eventTypes) - .setObjectNamePrefix(objectNamePrefix) - .setPayloadFormat(payloadFormat) - .build(); - Notification notification = storage.createNotification(bucketName, notificationInfo); - String topic = notification.getTopic(); - System.out.println("Successfully created notification for topic " + topic); + try (Storage storage = StorageOptions.newBuilder().build().getService()) { + NotificationInfo notificationInfo = + NotificationInfo.newBuilder(topicName) + .setCustomAttributes(customAttributes) + .setEventTypes(eventTypes) + .setObjectNamePrefix(objectNamePrefix) + .setPayloadFormat(payloadFormat) + .build(); + Notification notification = storage.createNotification(bucketName, notificationInfo); + String topic = notification.getTopic(); + System.out.println("Successfully created notification for topic " + topic); + } } } // [END storage_create_bucket_notifications] diff --git a/samples/snippets/src/main/java/com/example/storage/bucket/CreateBucketWithObjectRetention.java b/samples/snippets/src/main/java/com/example/storage/bucket/CreateBucketWithObjectRetention.java index 5854a6da2c..f7617a4f57 100644 --- a/samples/snippets/src/main/java/com/example/storage/bucket/CreateBucketWithObjectRetention.java +++ b/samples/snippets/src/main/java/com/example/storage/bucket/CreateBucketWithObjectRetention.java @@ -24,24 +24,26 @@ import com.google.cloud.storage.StorageOptions; public class CreateBucketWithObjectRetention { - public static void createBucketWithObjectRetention(String projectId, String bucketName) { + public static void createBucketWithObjectRetention(String projectId, String bucketName) + throws Exception { // The ID of your GCP project // String projectId = "your-project-id"; // The ID to give your GCS bucket // String bucketName = "your-unique-bucket-name"; - Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService(); + try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { - Bucket bucket = - storage.create( - BucketInfo.of(bucketName), Storage.BucketTargetOption.enableObjectRetention(true)); + Bucket bucket = + storage.create( + BucketInfo.of(bucketName), Storage.BucketTargetOption.enableObjectRetention(true)); - System.out.println( - "Created bucket " - + bucket.getName() - + " with object retention enabled setting: " - + bucket.getObjectRetention().getMode().toString()); + System.out.println( + "Created bucket " + + bucket.getName() + + " with object retention enabled setting: " + + bucket.getObjectRetention().getMode().toString()); + } } } diff --git a/samples/snippets/src/main/java/com/example/storage/bucket/CreateBucketWithStorageClassAndLocation.java b/samples/snippets/src/main/java/com/example/storage/bucket/CreateBucketWithStorageClassAndLocation.java index c1cb336b81..c9f1093dfe 100644 --- a/samples/snippets/src/main/java/com/example/storage/bucket/CreateBucketWithStorageClassAndLocation.java +++ b/samples/snippets/src/main/java/com/example/storage/bucket/CreateBucketWithStorageClassAndLocation.java @@ -24,14 +24,15 @@ import com.google.cloud.storage.StorageOptions; public class CreateBucketWithStorageClassAndLocation { - public static void createBucketWithStorageClassAndLocation(String projectId, String bucketName) { + public static void createBucketWithStorageClassAndLocation(String projectId, String bucketName) + throws Exception { // The ID of your GCP project // String projectId = "your-project-id"; // The ID to give your GCS bucket // String bucketName = "your-unique-bucket-name"; - Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService(); + try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { // See the StorageClass documentation for other valid storage classes: // https://googleapis.dev/java/google-cloud-clients/latest/com/google/cloud/storage/StorageClass.html @@ -55,6 +56,7 @@ public static void createBucketWithStorageClassAndLocation(String projectId, Str + bucket.getLocation() + " with storage class " + bucket.getStorageClass()); + } } } // [END storage_create_bucket_class_location] diff --git a/samples/snippets/src/main/java/com/example/storage/bucket/CreateBucketWithTurboReplication.java b/samples/snippets/src/main/java/com/example/storage/bucket/CreateBucketWithTurboReplication.java index 7c67b64e3d..ada7afe9c4 100644 --- a/samples/snippets/src/main/java/com/example/storage/bucket/CreateBucketWithTurboReplication.java +++ b/samples/snippets/src/main/java/com/example/storage/bucket/CreateBucketWithTurboReplication.java @@ -25,7 +25,7 @@ public class CreateBucketWithTurboReplication { public static void createBucketWithTurboReplication( - String projectId, String bucketName, String location) { + String projectId, String bucketName, String location) throws Exception { // The ID of your GCP project // String projectId = "your-project-id"; @@ -35,7 +35,7 @@ public static void createBucketWithTurboReplication( // The dual-region location to create your bucket in // String location = "NAM4" - Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService(); + try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { Bucket bucket = storage.create( @@ -51,6 +51,7 @@ public static void createBucketWithTurboReplication( + bucket.getLocation() + " with RPO setting" + bucket.getRpo()); + } } } // [END storage_create_bucket_turbo_replication] diff --git a/samples/snippets/src/main/java/com/example/storage/bucket/DeleteBucket.java b/samples/snippets/src/main/java/com/example/storage/bucket/DeleteBucket.java index 925ca0d229..9076c5548f 100644 --- a/samples/snippets/src/main/java/com/example/storage/bucket/DeleteBucket.java +++ b/samples/snippets/src/main/java/com/example/storage/bucket/DeleteBucket.java @@ -22,18 +22,19 @@ import com.google.cloud.storage.StorageOptions; public class DeleteBucket { - public static void deleteBucket(String projectId, String bucketName) { + public static void deleteBucket(String projectId, String bucketName) throws Exception { // The ID of your GCP project // String projectId = "your-project-id"; // The ID of the bucket to delete // String bucketName = "your-unique-bucket-name"; - Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService(); + try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { Bucket bucket = storage.get(bucketName); bucket.delete(); System.out.println("Bucket " + bucket.getName() + " was deleted"); + } } } // [END storage_delete_bucket] diff --git a/samples/snippets/src/main/java/com/example/storage/bucket/DeleteBucketPubSubNotification.java b/samples/snippets/src/main/java/com/example/storage/bucket/DeleteBucketPubSubNotification.java index dd59e2e189..53d333da5e 100644 --- a/samples/snippets/src/main/java/com/example/storage/bucket/DeleteBucketPubSubNotification.java +++ b/samples/snippets/src/main/java/com/example/storage/bucket/DeleteBucketPubSubNotification.java @@ -22,19 +22,21 @@ public class DeleteBucketPubSubNotification { - public static void deleteBucketPubSubNotification(String bucketName, String notificationId) { + public static void deleteBucketPubSubNotification(String bucketName, String notificationId) + throws Exception { // The ID to give your GCS bucket // String bucketName = "your-unique-bucket-name"; // The NotificationId for the notification you would like to delete // String notificationId = "your-unique-notification-id" - Storage storage = StorageOptions.newBuilder().build().getService(); - boolean success = storage.deleteNotification(bucketName, notificationId); - if (success) { - System.out.println("Successfully deleted notification"); - } else { - System.out.println("Failed to find notification"); + try (Storage storage = StorageOptions.newBuilder().build().getService()) { + boolean success = storage.deleteNotification(bucketName, notificationId); + if (success) { + System.out.println("Successfully deleted notification"); + } else { + System.out.println("Failed to find notification"); + } } } } diff --git a/samples/snippets/src/main/java/com/example/storage/bucket/DisableBucketVersioning.java b/samples/snippets/src/main/java/com/example/storage/bucket/DisableBucketVersioning.java index 49547c96a2..45e4f50da8 100644 --- a/samples/snippets/src/main/java/com/example/storage/bucket/DisableBucketVersioning.java +++ b/samples/snippets/src/main/java/com/example/storage/bucket/DisableBucketVersioning.java @@ -22,18 +22,19 @@ import com.google.cloud.storage.StorageOptions; public class DisableBucketVersioning { - public static void disableBucketVersioning(String projectId, String bucketName) { + public static void disableBucketVersioning(String projectId, String bucketName) throws Exception { // The ID of your GCP project // String projectId = "your-project-id"; // The ID of your GCS bucket // String bucketName = "your-unique-bucket-name"; - Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService(); + try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { Bucket bucket = storage.get(bucketName); bucket.toBuilder().setVersioningEnabled(false).build().update(); System.out.println("Versioning is now disabled for bucket " + bucketName); + } } } // [END storage_disable_versioning] diff --git a/samples/snippets/src/main/java/com/example/storage/bucket/DisableDefaultEventBasedHold.java b/samples/snippets/src/main/java/com/example/storage/bucket/DisableDefaultEventBasedHold.java index a5529d60d8..290f6a07da 100644 --- a/samples/snippets/src/main/java/com/example/storage/bucket/DisableDefaultEventBasedHold.java +++ b/samples/snippets/src/main/java/com/example/storage/bucket/DisableDefaultEventBasedHold.java @@ -21,19 +21,18 @@ import com.google.cloud.storage.Bucket; import com.google.cloud.storage.Storage; import com.google.cloud.storage.Storage.BucketTargetOption; -import com.google.cloud.storage.StorageException; import com.google.cloud.storage.StorageOptions; public class DisableDefaultEventBasedHold { public static void disableDefaultEventBasedHold(String projectId, String bucketName) - throws StorageException { + throws Exception { // The ID of your GCP project // String projectId = "your-project-id"; // The ID of your GCS bucket // String bucketName = "your-unique-bucket-name"; - Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService(); + try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { // first look up the bucket, so we will have its metageneration Bucket bucket = storage.get(bucketName); storage.update( @@ -41,6 +40,7 @@ public static void disableDefaultEventBasedHold(String projectId, String bucketN BucketTargetOption.metagenerationMatch()); System.out.println("Default event-based hold was disabled for " + bucketName); + } } } // [END storage_disable_default_event_based_hold] diff --git a/samples/snippets/src/main/java/com/example/storage/bucket/DisableLifecycleManagement.java b/samples/snippets/src/main/java/com/example/storage/bucket/DisableLifecycleManagement.java index 6463358ed1..0bbb2d51e4 100644 --- a/samples/snippets/src/main/java/com/example/storage/bucket/DisableLifecycleManagement.java +++ b/samples/snippets/src/main/java/com/example/storage/bucket/DisableLifecycleManagement.java @@ -23,14 +23,15 @@ import com.google.cloud.storage.StorageOptions; public class DisableLifecycleManagement { - public static void disableLifecycleManagement(String projectId, String bucketName) { + public static void disableLifecycleManagement(String projectId, String bucketName) + throws Exception { // The ID of your GCP project // String projectId = "your-project-id"; // The ID of your GCS bucket // String bucketName = "your-unique-bucket-name"; - Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService(); + try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { // first look up the bucket, so we will have its metageneration Bucket bucket = storage.get(bucketName); storage.update( @@ -38,6 +39,7 @@ public static void disableLifecycleManagement(String projectId, String bucketNam BucketTargetOption.metagenerationMatch()); System.out.println("Lifecycle management was disabled for bucket " + bucketName); + } } } // [END storage_disable_bucket_lifecycle_management] diff --git a/samples/snippets/src/main/java/com/example/storage/bucket/DisableRequesterPays.java b/samples/snippets/src/main/java/com/example/storage/bucket/DisableRequesterPays.java index aaa9694c9a..f18b8211f0 100644 --- a/samples/snippets/src/main/java/com/example/storage/bucket/DisableRequesterPays.java +++ b/samples/snippets/src/main/java/com/example/storage/bucket/DisableRequesterPays.java @@ -22,14 +22,14 @@ import com.google.cloud.storage.StorageOptions; public class DisableRequesterPays { - public static void disableRequesterPays(String projectId, String bucketName) { + public static void disableRequesterPays(String projectId, String bucketName) throws Exception { // The ID of your GCP project // String projectId = "your-project-id"; // The ID of your GCS bucket // String bucketName = "your-unique-bucket-name"; - Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService(); + try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { Bucket bucket = storage.get(bucketName, Storage.BucketGetOption.userProject(projectId)); bucket.toBuilder() .setRequesterPays(false) @@ -37,6 +37,7 @@ public static void disableRequesterPays(String projectId, String bucketName) { .update(Storage.BucketTargetOption.userProject(projectId)); System.out.println("Requester pays disabled for bucket " + bucketName); + } } } // [END storage_disable_requester_pays] diff --git a/samples/snippets/src/main/java/com/example/storage/bucket/DisableSoftDelete.java b/samples/snippets/src/main/java/com/example/storage/bucket/DisableSoftDelete.java index 97d6571469..57fb03c720 100644 --- a/samples/snippets/src/main/java/com/example/storage/bucket/DisableSoftDelete.java +++ b/samples/snippets/src/main/java/com/example/storage/bucket/DisableSoftDelete.java @@ -24,14 +24,14 @@ import java.time.Duration; public class DisableSoftDelete { - public static void disableSoftDelete(String projectId, String bucketName) { + public static void disableSoftDelete(String projectId, String bucketName) throws Exception { // The ID of your GCP project // String projectId = "your-project-id"; // The ID of your GCS bucket // String bucketName = "your-unique-bucket-name"; - Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService(); + try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { Bucket bucket = storage.get(bucketName); bucket.toBuilder() .setSoftDeletePolicy( @@ -43,6 +43,7 @@ public static void disableSoftDelete(String projectId, String bucketName) { .update(); System.out.println("Soft delete for " + bucketName + " was disabled"); + } } } // [END storage_disable_soft_delete] diff --git a/samples/snippets/src/main/java/com/example/storage/bucket/DisableUniformBucketLevelAccess.java b/samples/snippets/src/main/java/com/example/storage/bucket/DisableUniformBucketLevelAccess.java index dc77bc99f5..24998e0561 100644 --- a/samples/snippets/src/main/java/com/example/storage/bucket/DisableUniformBucketLevelAccess.java +++ b/samples/snippets/src/main/java/com/example/storage/bucket/DisableUniformBucketLevelAccess.java @@ -22,19 +22,18 @@ import com.google.cloud.storage.BucketInfo; import com.google.cloud.storage.Storage; import com.google.cloud.storage.Storage.BucketTargetOption; -import com.google.cloud.storage.StorageException; import com.google.cloud.storage.StorageOptions; public class DisableUniformBucketLevelAccess { public static void disableUniformBucketLevelAccess(String projectId, String bucketName) - throws StorageException { + throws Exception { // The ID of your GCP project // String projectId = "your-project-id"; // The ID of your GCS bucket // String bucketName = "your-unique-bucket-name"; - Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService(); + try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { // first look up the bucket, so we will have its metageneration Bucket bucket = storage.get(bucketName); @@ -49,6 +48,7 @@ public static void disableUniformBucketLevelAccess(String projectId, String buck BucketTargetOption.metagenerationMatch()); System.out.println("Uniform bucket-level access was disabled for " + bucketName); + } } } // [END storage_disable_uniform_bucket_level_access] diff --git a/samples/snippets/src/main/java/com/example/storage/bucket/EnableBucketVersioning.java b/samples/snippets/src/main/java/com/example/storage/bucket/EnableBucketVersioning.java index 8685bf9278..b905e16e5b 100644 --- a/samples/snippets/src/main/java/com/example/storage/bucket/EnableBucketVersioning.java +++ b/samples/snippets/src/main/java/com/example/storage/bucket/EnableBucketVersioning.java @@ -22,18 +22,19 @@ import com.google.cloud.storage.StorageOptions; public class EnableBucketVersioning { - public static void enableBucketVersioning(String projectId, String bucketName) { + public static void enableBucketVersioning(String projectId, String bucketName) throws Exception { // The ID of your GCP project // String projectId = "your-project-id"; // The ID of your GCS bucket // String bucketName = "your-unique-bucket-name"; - Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService(); + try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { Bucket bucket = storage.get(bucketName); bucket.toBuilder().setVersioningEnabled(true).build().update(); System.out.println("Versioning is now enabled for bucket " + bucketName); + } } } // [END storage_enable_versioning] diff --git a/samples/snippets/src/main/java/com/example/storage/bucket/EnableDefaultEventBasedHold.java b/samples/snippets/src/main/java/com/example/storage/bucket/EnableDefaultEventBasedHold.java index 0ae5ba8a68..0f5367d988 100644 --- a/samples/snippets/src/main/java/com/example/storage/bucket/EnableDefaultEventBasedHold.java +++ b/samples/snippets/src/main/java/com/example/storage/bucket/EnableDefaultEventBasedHold.java @@ -21,19 +21,18 @@ import com.google.cloud.storage.Bucket; import com.google.cloud.storage.Storage; import com.google.cloud.storage.Storage.BucketTargetOption; -import com.google.cloud.storage.StorageException; import com.google.cloud.storage.StorageOptions; public class EnableDefaultEventBasedHold { public static void enableDefaultEventBasedHold(String projectId, String bucketName) - throws StorageException { + throws Exception { // The ID of your GCP project // String projectId = "your-project-id"; // The ID of your GCS bucket // String bucketName = "your-unique-bucket-name"; - Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService(); + try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { // first look up the bucket, so we will have its metageneration Bucket bucket = storage.get(bucketName); storage.update( @@ -41,6 +40,7 @@ public static void enableDefaultEventBasedHold(String projectId, String bucketNa BucketTargetOption.metagenerationMatch()); System.out.println("Default event-based hold was enabled for " + bucketName); + } } } // [END storage_enable_default_event_based_hold] diff --git a/samples/snippets/src/main/java/com/example/storage/bucket/EnableLifecycleManagement.java b/samples/snippets/src/main/java/com/example/storage/bucket/EnableLifecycleManagement.java index bf2767321e..c4e2a804fb 100644 --- a/samples/snippets/src/main/java/com/example/storage/bucket/EnableLifecycleManagement.java +++ b/samples/snippets/src/main/java/com/example/storage/bucket/EnableLifecycleManagement.java @@ -27,14 +27,15 @@ import com.google.common.collect.ImmutableList; public class EnableLifecycleManagement { - public static void enableLifecycleManagement(String projectId, String bucketName) { + public static void enableLifecycleManagement(String projectId, String bucketName) + throws Exception { // The ID of your GCP project // String projectId = "your-project-id"; // The ID of your GCS bucket // String bucketName = "your-unique-bucket-name"; - Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService(); + try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { Bucket bucket = storage.get(bucketName); // See the LifecycleRule documentation for additional info on what you can do with lifecycle @@ -50,6 +51,7 @@ public static void enableLifecycleManagement(String projectId, String bucketName .update(); System.out.println("Lifecycle management was enabled and configured for bucket " + bucketName); + } } } // [END storage_enable_bucket_lifecycle_management] diff --git a/samples/snippets/src/main/java/com/example/storage/bucket/EnableRequesterPays.java b/samples/snippets/src/main/java/com/example/storage/bucket/EnableRequesterPays.java index 089cb2e549..899aa7d220 100644 --- a/samples/snippets/src/main/java/com/example/storage/bucket/EnableRequesterPays.java +++ b/samples/snippets/src/main/java/com/example/storage/bucket/EnableRequesterPays.java @@ -22,18 +22,19 @@ import com.google.cloud.storage.StorageOptions; public class EnableRequesterPays { - public static void enableRequesterPays(String projectId, String bucketName) { + public static void enableRequesterPays(String projectId, String bucketName) throws Exception { // The ID of your GCP project // String projectId = "your-project-id"; // The ID of your GCS bucket // String bucketName = "your-unique-bucket-name"; - Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService(); + try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { Bucket bucket = storage.get(bucketName); bucket.toBuilder().setRequesterPays(true).build().update(); System.out.println("Requester pays enabled for bucket " + bucketName); + } } } // [END storage_enable_requester_pays] diff --git a/samples/snippets/src/main/java/com/example/storage/bucket/EnableUniformBucketLevelAccess.java b/samples/snippets/src/main/java/com/example/storage/bucket/EnableUniformBucketLevelAccess.java index a8ae606bd0..6f9e127225 100644 --- a/samples/snippets/src/main/java/com/example/storage/bucket/EnableUniformBucketLevelAccess.java +++ b/samples/snippets/src/main/java/com/example/storage/bucket/EnableUniformBucketLevelAccess.java @@ -22,19 +22,18 @@ import com.google.cloud.storage.BucketInfo; import com.google.cloud.storage.Storage; import com.google.cloud.storage.Storage.BucketTargetOption; -import com.google.cloud.storage.StorageException; import com.google.cloud.storage.StorageOptions; public class EnableUniformBucketLevelAccess { public static void enableUniformBucketLevelAccess(String projectId, String bucketName) - throws StorageException { + throws Exception { // The ID of your GCP project // String projectId = "your-project-id"; // The ID of your GCS bucket // String bucketName = "your-unique-bucket-name"; - Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService(); + try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { // first look up the bucket, so we will have its metageneration Bucket bucket = storage.get(bucketName); @@ -51,6 +50,7 @@ public static void enableUniformBucketLevelAccess(String projectId, String bucke BucketTargetOption.metagenerationMatch()); System.out.println("Uniform bucket-level access was enabled for " + bucketName); + } } } // [END storage_enable_uniform_bucket_level_access] diff --git a/samples/snippets/src/main/java/com/example/storage/bucket/GetBucketAutoclass.java b/samples/snippets/src/main/java/com/example/storage/bucket/GetBucketAutoclass.java index 77430b03d1..734b43ce2e 100644 --- a/samples/snippets/src/main/java/com/example/storage/bucket/GetBucketAutoclass.java +++ b/samples/snippets/src/main/java/com/example/storage/bucket/GetBucketAutoclass.java @@ -25,14 +25,14 @@ import java.time.OffsetDateTime; public class GetBucketAutoclass { - public static void getBucketAutoclass(String projectId, String bucketName) { + public static void getBucketAutoclass(String projectId, String bucketName) throws Exception { // The ID of your GCP project // String projectId = "your-project-id"; // The ID of your GCS bucket // String bucketName = "your-unique-bucket-name"; - Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService(); + try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { Autoclass autoclass = storage.get(bucketName).getAutoclass(); String status = autoclass.getEnabled() ? "enabled" : "disabled"; String toggleTime = autoclass.getToggleTime().toString(); @@ -50,6 +50,7 @@ public static void getBucketAutoclass(String projectId, String bucketName) { + terminalStorageClass.name() + " last updated at " + terminalStorageClassUpdateTime.toString()); + } } } // [END storage_get_autoclass] diff --git a/samples/snippets/src/main/java/com/example/storage/bucket/GetBucketMetadata.java b/samples/snippets/src/main/java/com/example/storage/bucket/GetBucketMetadata.java index 742120f85d..f1e5bdc8a1 100644 --- a/samples/snippets/src/main/java/com/example/storage/bucket/GetBucketMetadata.java +++ b/samples/snippets/src/main/java/com/example/storage/bucket/GetBucketMetadata.java @@ -25,14 +25,14 @@ import java.util.Map; public class GetBucketMetadata { - public static void getBucketMetadata(String projectId, String bucketName) { + public static void getBucketMetadata(String projectId, String bucketName) throws Exception { // The ID of your GCP project // String projectId = "your-project-id"; // The ID of your GCS bucket // String bucketName = "your-unique-bucket-name"; - Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService(); + try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { // Select all fields. Fields can be selected individually e.g. Storage.BucketField.NAME Bucket bucket = @@ -69,6 +69,7 @@ public static void getBucketMetadata(String projectId, String bucketName) { System.out.println(rule); } } + } } } // [END storage_get_bucket_metadata] diff --git a/samples/snippets/src/main/java/com/example/storage/bucket/GetBucketRpo.java b/samples/snippets/src/main/java/com/example/storage/bucket/GetBucketRpo.java index a0bc61681d..35d832cfc3 100644 --- a/samples/snippets/src/main/java/com/example/storage/bucket/GetBucketRpo.java +++ b/samples/snippets/src/main/java/com/example/storage/bucket/GetBucketRpo.java @@ -22,18 +22,19 @@ import com.google.cloud.storage.StorageOptions; public class GetBucketRpo { - public static void getBucketRpo(String projectId, String bucketName) { + public static void getBucketRpo(String projectId, String bucketName) throws Exception { // The ID of your GCP project // String projectId = "your-project-id"; // The ID of your GCS bucket // String bucketName = "your-unique-bucket-name"; - Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService(); + try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { Bucket bucket = storage.get(bucketName); String rpo = bucket.getRpo().toString(); System.out.println("The RPO setting of bucket " + bucketName + " is " + rpo); + } } } // [END storage_get_rpo] diff --git a/samples/snippets/src/main/java/com/example/storage/bucket/GetDefaultEventBasedHold.java b/samples/snippets/src/main/java/com/example/storage/bucket/GetDefaultEventBasedHold.java index 7bf9933843..06f9aa8779 100644 --- a/samples/snippets/src/main/java/com/example/storage/bucket/GetDefaultEventBasedHold.java +++ b/samples/snippets/src/main/java/com/example/storage/bucket/GetDefaultEventBasedHold.java @@ -20,19 +20,18 @@ import com.google.cloud.storage.Bucket; import com.google.cloud.storage.Storage; -import com.google.cloud.storage.StorageException; import com.google.cloud.storage.StorageOptions; public class GetDefaultEventBasedHold { public static void getDefaultEventBasedHold(String projectId, String bucketName) - throws StorageException { + throws Exception { // The ID of your GCP project // String projectId = "your-project-id"; // The ID of your GCS bucket // String bucketName = "your-unique-bucket-name"; - Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService(); + try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { Bucket bucket = storage.get( bucketName, @@ -43,6 +42,7 @@ public static void getDefaultEventBasedHold(String projectId, String bucketName) } else { System.out.println("Default event-based hold is not enabled for " + bucketName); } + } } } // [END storage_get_default_event_based_hold] diff --git a/samples/snippets/src/main/java/com/example/storage/bucket/GetPublicAccessPrevention.java b/samples/snippets/src/main/java/com/example/storage/bucket/GetPublicAccessPrevention.java index 204faf0f46..313a1f94e9 100644 --- a/samples/snippets/src/main/java/com/example/storage/bucket/GetPublicAccessPrevention.java +++ b/samples/snippets/src/main/java/com/example/storage/bucket/GetPublicAccessPrevention.java @@ -23,14 +23,15 @@ import com.google.cloud.storage.StorageOptions; public class GetPublicAccessPrevention { - public static void getPublicAccessPrevention(String projectId, String bucketName) { + public static void getPublicAccessPrevention(String projectId, String bucketName) + throws Exception { // The ID of your GCP project // String projectId = "your-project-id"; // The ID of your GCS bucket // String bucketName = "your-unique-bucket-name"; - Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService(); + try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { Bucket bucket = storage.get(bucketName); // Gets Bucket Metadata and prints publicAccessPrevention value (either 'inherited' or @@ -44,5 +45,7 @@ public static void getPublicAccessPrevention(String projectId, String bucketName + " for " + bucketName); } + } + } // [END storage_get_public_access_prevention] diff --git a/samples/snippets/src/main/java/com/example/storage/bucket/GetRequesterPaysStatus.java b/samples/snippets/src/main/java/com/example/storage/bucket/GetRequesterPaysStatus.java index 5665cf9106..17d240127f 100644 --- a/samples/snippets/src/main/java/com/example/storage/bucket/GetRequesterPaysStatus.java +++ b/samples/snippets/src/main/java/com/example/storage/bucket/GetRequesterPaysStatus.java @@ -20,23 +20,23 @@ import com.google.cloud.storage.Bucket; import com.google.cloud.storage.Storage; -import com.google.cloud.storage.StorageException; import com.google.cloud.storage.StorageOptions; public class GetRequesterPaysStatus { public static void getRequesterPaysStatus(String projectId, String bucketName) - throws StorageException { + throws Exception { // The ID of your GCP project // String projectId = "your-project-id"; // The ID of your GCS bucket // String bucketName = "your-unique-bucket-name"; - Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService(); + try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { Bucket bucket = storage.get(bucketName, Storage.BucketGetOption.fields(Storage.BucketField.BILLING)); System.out.println("Requester pays status : " + bucket.requesterPays()); + } } } // [END storage_get_requester_pays_status] diff --git a/samples/snippets/src/main/java/com/example/storage/bucket/GetRetentionPolicy.java b/samples/snippets/src/main/java/com/example/storage/bucket/GetRetentionPolicy.java index 09938efd08..4b68242b40 100644 --- a/samples/snippets/src/main/java/com/example/storage/bucket/GetRetentionPolicy.java +++ b/samples/snippets/src/main/java/com/example/storage/bucket/GetRetentionPolicy.java @@ -20,20 +20,19 @@ import com.google.cloud.storage.Bucket; import com.google.cloud.storage.Storage; -import com.google.cloud.storage.StorageException; import com.google.cloud.storage.StorageOptions; import java.util.Date; public class GetRetentionPolicy { public static void getRetentionPolicy(String projectId, String bucketName) - throws StorageException { + throws Exception { // The ID of your GCP project // String projectId = "your-project-id"; // The ID of your GCS bucket // String bucketName = "your-unique-bucket-name"; - Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService(); + try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { Bucket bucket = storage.get( bucketName, Storage.BucketGetOption.fields(Storage.BucketField.RETENTION_POLICY)); @@ -46,6 +45,7 @@ public static void getRetentionPolicy(String projectId, String bucketName) if (bucket.getRetentionEffectiveTime() != null) { System.out.println("Effective Time: " + new Date(bucket.getRetentionEffectiveTime())); } + } } } // [END storage_get_retention_policy] diff --git a/samples/snippets/src/main/java/com/example/storage/bucket/GetSoftDeletePolicy.java b/samples/snippets/src/main/java/com/example/storage/bucket/GetSoftDeletePolicy.java index 32f4277a05..219cd5832a 100644 --- a/samples/snippets/src/main/java/com/example/storage/bucket/GetSoftDeletePolicy.java +++ b/samples/snippets/src/main/java/com/example/storage/bucket/GetSoftDeletePolicy.java @@ -23,14 +23,14 @@ import java.time.Duration; public class GetSoftDeletePolicy { - public static void getSoftDeletePolicy(String projectId, String bucketName) { + public static void getSoftDeletePolicy(String projectId, String bucketName) throws Exception { // The ID of your GCP project // String projectId = "your-project-id"; // The ID of your GCS bucket // String bucketName = "your-unique-bucket-name"; - Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService(); + try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { SoftDeletePolicy policy = storage.get(bucketName).getSoftDeletePolicy(); if (Duration.ofSeconds(0).equals(policy.getRetentionDuration())) { @@ -39,6 +39,7 @@ public static void getSoftDeletePolicy(String projectId, String bucketName) { System.out.println("The soft delete policy for " + bucketName + " is:"); System.out.println(policy); } + } } } // [END storage_get_soft_delete_policy] diff --git a/samples/snippets/src/main/java/com/example/storage/bucket/GetUniformBucketLevelAccess.java b/samples/snippets/src/main/java/com/example/storage/bucket/GetUniformBucketLevelAccess.java index 4e596887d9..2cbe973fda 100644 --- a/samples/snippets/src/main/java/com/example/storage/bucket/GetUniformBucketLevelAccess.java +++ b/samples/snippets/src/main/java/com/example/storage/bucket/GetUniformBucketLevelAccess.java @@ -21,20 +21,19 @@ import com.google.cloud.storage.Bucket; import com.google.cloud.storage.BucketInfo; import com.google.cloud.storage.Storage; -import com.google.cloud.storage.StorageException; import com.google.cloud.storage.StorageOptions; import java.util.Date; public class GetUniformBucketLevelAccess { public static void getUniformBucketLevelAccess(String projectId, String bucketName) - throws StorageException { + throws Exception { // The ID of your GCP project // String projectId = "your-project-id"; // The ID of your GCS bucket // String bucketName = "your-unique-bucket-name"; - Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService(); + try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { Bucket bucket = storage.get( bucketName, Storage.BucketGetOption.fields(Storage.BucketField.IAMCONFIGURATION)); @@ -49,6 +48,7 @@ public static void getUniformBucketLevelAccess(String projectId, String bucketNa } else { System.out.println("Uniform bucket-level access is disabled for " + bucketName); } + } } } // [END storage_get_uniform_bucket_level_access] diff --git a/samples/snippets/src/main/java/com/example/storage/bucket/ListBucketIamMembers.java b/samples/snippets/src/main/java/com/example/storage/bucket/ListBucketIamMembers.java index 4bbf3704b2..2cef93eb26 100644 --- a/samples/snippets/src/main/java/com/example/storage/bucket/ListBucketIamMembers.java +++ b/samples/snippets/src/main/java/com/example/storage/bucket/ListBucketIamMembers.java @@ -23,7 +23,7 @@ import com.google.cloud.storage.StorageOptions; public class ListBucketIamMembers { - public static void listBucketIamMembers(String projectId, String bucketName) { + public static void listBucketIamMembers(String projectId, String bucketName) throws Exception { // The ID of your GCP project // String projectId = "your-project-id"; @@ -32,7 +32,7 @@ public static void listBucketIamMembers(String projectId, String bucketName) { // For more information please read: // https://cloud.google.com/storage/docs/access-control/iam - Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService(); + try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { Policy policy = storage.getIamPolicy(bucketName, Storage.BucketSourceOption.requestedPolicyVersion(3)); @@ -49,6 +49,7 @@ public static void listBucketIamMembers(String projectId, String bucketName) { System.out.printf("Condition Expression: %s\n", binding.getCondition().getExpression()); } } + } } } // [END storage_view_bucket_iam_members] diff --git a/samples/snippets/src/main/java/com/example/storage/bucket/ListBuckets.java b/samples/snippets/src/main/java/com/example/storage/bucket/ListBuckets.java index cd6237cb14..ef6ca2dd75 100644 --- a/samples/snippets/src/main/java/com/example/storage/bucket/ListBuckets.java +++ b/samples/snippets/src/main/java/com/example/storage/bucket/ListBuckets.java @@ -23,16 +23,17 @@ import com.google.cloud.storage.StorageOptions; public class ListBuckets { - public static void listBuckets(String projectId) { + public static void listBuckets(String projectId) throws Exception { // The ID of your GCP project // String projectId = "your-project-id"; - Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService(); + try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { Page buckets = storage.list(); for (Bucket bucket : buckets.iterateAll()) { System.out.println(bucket.getName()); } + } } } // [END storage_list_buckets] diff --git a/samples/snippets/src/main/java/com/example/storage/bucket/ListPubSubNotifications.java b/samples/snippets/src/main/java/com/example/storage/bucket/ListPubSubNotifications.java index b3fb614f8b..2578cd4519 100644 --- a/samples/snippets/src/main/java/com/example/storage/bucket/ListPubSubNotifications.java +++ b/samples/snippets/src/main/java/com/example/storage/bucket/ListPubSubNotifications.java @@ -24,15 +24,16 @@ public class ListPubSubNotifications { - public static void listPubSubNotifications(String bucketName) { + public static void listPubSubNotifications(String bucketName) throws Exception { // The ID to give your GCS bucket // String bucketName = "your-unique-bucket-name"; - Storage storage = StorageOptions.newBuilder().build().getService(); - List notificationList = storage.listNotifications(bucketName); - for (Notification notification : notificationList) { - System.out.println( - "Found notification " + notification.getTopic() + " for bucket " + bucketName); + try (Storage storage = StorageOptions.newBuilder().build().getService()) { + List notificationList = storage.listNotifications(bucketName); + for (Notification notification : notificationList) { + System.out.println( + "Found notification " + notification.getTopic() + " for bucket " + bucketName); + } } } } diff --git a/samples/snippets/src/main/java/com/example/storage/bucket/LockRetentionPolicy.java b/samples/snippets/src/main/java/com/example/storage/bucket/LockRetentionPolicy.java index fd339f4e3a..574489f95d 100644 --- a/samples/snippets/src/main/java/com/example/storage/bucket/LockRetentionPolicy.java +++ b/samples/snippets/src/main/java/com/example/storage/bucket/LockRetentionPolicy.java @@ -20,20 +20,19 @@ import com.google.cloud.storage.Bucket; import com.google.cloud.storage.Storage; -import com.google.cloud.storage.StorageException; import com.google.cloud.storage.StorageOptions; import java.util.Date; public class LockRetentionPolicy { public static void lockRetentionPolicy(String projectId, String bucketName) - throws StorageException { + throws Exception { // The ID of your GCP project // String projectId = "your-project-id"; // The ID of your GCS bucket // String bucketName = "your-unique-bucket-name"; - Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService(); + try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { Bucket bucket = storage.get(bucketName, Storage.BucketGetOption.fields(Storage.BucketField.METAGENERATION)); Bucket lockedBucket = @@ -42,6 +41,7 @@ public static void lockRetentionPolicy(String projectId, String bucketName) System.out.println("Retention period for " + bucketName + " is now locked"); System.out.println( "Retention policy effective as of " + new Date(lockedBucket.getRetentionEffectiveTime())); + } } } // [END storage_lock_retention_policy] diff --git a/samples/snippets/src/main/java/com/example/storage/bucket/MakeBucketPublic.java b/samples/snippets/src/main/java/com/example/storage/bucket/MakeBucketPublic.java index 09e9b32074..d800d3ee6d 100644 --- a/samples/snippets/src/main/java/com/example/storage/bucket/MakeBucketPublic.java +++ b/samples/snippets/src/main/java/com/example/storage/bucket/MakeBucketPublic.java @@ -24,14 +24,14 @@ import com.google.cloud.storage.StorageRoles; public class MakeBucketPublic { - public static void makeBucketPublic(String projectId, String bucketName) { + public static void makeBucketPublic(String projectId, String bucketName) throws Exception { // The ID of your GCP project // String projectId = "your-project-id"; // The ID of your GCS bucket // String bucketName = "your-unique-bucket-name"; - Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService(); + try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { Policy originalPolicy = storage.getIamPolicy(bucketName); storage.setIamPolicy( bucketName, @@ -40,6 +40,7 @@ public static void makeBucketPublic(String projectId, String bucketName) { .build()); System.out.println("Bucket " + bucketName + " is now publicly readable"); + } } } // [END storage_set_bucket_public_iam] diff --git a/samples/snippets/src/main/java/com/example/storage/bucket/PrintBucketAcl.java b/samples/snippets/src/main/java/com/example/storage/bucket/PrintBucketAcl.java index 57974f7a5f..d3cb6547c8 100644 --- a/samples/snippets/src/main/java/com/example/storage/bucket/PrintBucketAcl.java +++ b/samples/snippets/src/main/java/com/example/storage/bucket/PrintBucketAcl.java @@ -26,11 +26,11 @@ public class PrintBucketAcl { - public static void printBucketAcl(String projectId, String bucketName) { + public static void printBucketAcl(String projectId, String bucketName) throws Exception { // The ID of your GCS bucket // String bucketName = "your-unique-bucket-name"; - Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService(); + try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { Bucket bucket = storage.get(bucketName); List bucketAcls = bucket.getAcl(); @@ -46,6 +46,7 @@ public static void printBucketAcl(String projectId, String bucketName) { System.out.printf("%s: %s \n", role, entityType); } + } } } // [END storage_print_bucket_acl] diff --git a/samples/snippets/src/main/java/com/example/storage/bucket/PrintBucketAclFilterByUser.java b/samples/snippets/src/main/java/com/example/storage/bucket/PrintBucketAclFilterByUser.java index 68690299e5..fb17c8d943 100644 --- a/samples/snippets/src/main/java/com/example/storage/bucket/PrintBucketAclFilterByUser.java +++ b/samples/snippets/src/main/java/com/example/storage/bucket/PrintBucketAclFilterByUser.java @@ -26,7 +26,8 @@ public class PrintBucketAclFilterByUser { - public static void printBucketAclFilterByUser(String bucketName, String userEmail) { + public static void printBucketAclFilterByUser(String bucketName, String userEmail) + throws Exception { // The ID to give your GCS bucket // String bucketName = "your-unique-bucket-name"; @@ -34,12 +35,13 @@ public static void printBucketAclFilterByUser(String bucketName, String userEmai // The email of the user whose acl is being retrieved. // String userEmail = "someuser@domain.com" - Storage storage = StorageOptions.newBuilder().build().getService(); - Bucket bucket = storage.get(bucketName); + try (Storage storage = StorageOptions.newBuilder().build().getService()) { + Bucket bucket = storage.get(bucketName); - Acl userAcl = bucket.getAcl(new User(userEmail)); - String userRole = userAcl.getRole().name(); - System.out.println("User " + userEmail + " has role " + userRole); + Acl userAcl = bucket.getAcl(new User(userEmail)); + String userRole = userAcl.getRole().name(); + System.out.println("User " + userEmail + " has role " + userRole); + } } } diff --git a/samples/snippets/src/main/java/com/example/storage/bucket/PrintPubSubNotification.java b/samples/snippets/src/main/java/com/example/storage/bucket/PrintPubSubNotification.java index 083a0b551a..7d6af4f6bd 100644 --- a/samples/snippets/src/main/java/com/example/storage/bucket/PrintPubSubNotification.java +++ b/samples/snippets/src/main/java/com/example/storage/bucket/PrintPubSubNotification.java @@ -23,17 +23,19 @@ public class PrintPubSubNotification { - public static void printPubSubNotification(String bucketName, String notificationId) { + public static void printPubSubNotification(String bucketName, String notificationId) + throws Exception { // The ID to give your GCS bucket // String bucketName = "your-unique-bucket-name"; // The Pub/Sub topic you would like to find // String notificationId = "your-unique-notification-id" - Storage storage = StorageOptions.newBuilder().build().getService(); - Notification notification = storage.getNotification(bucketName, notificationId); - System.out.println( - "Found notification " + notification.getTopic() + " for bucket " + bucketName); + try (Storage storage = StorageOptions.newBuilder().build().getService()) { + Notification notification = storage.getNotification(bucketName, notificationId); + System.out.println( + "Found notification " + notification.getTopic() + " for bucket " + bucketName); + } } } // [END storage_print_pubsub_bucket_notification] diff --git a/samples/snippets/src/main/java/com/example/storage/bucket/RemoveBucketCors.java b/samples/snippets/src/main/java/com/example/storage/bucket/RemoveBucketCors.java index 220a24cb4e..d1e63128fd 100644 --- a/samples/snippets/src/main/java/com/example/storage/bucket/RemoveBucketCors.java +++ b/samples/snippets/src/main/java/com/example/storage/bucket/RemoveBucketCors.java @@ -26,14 +26,14 @@ import java.util.List; public class RemoveBucketCors { - public static void removeBucketCors(String projectId, String bucketName) { + public static void removeBucketCors(String projectId, String bucketName) throws Exception { // The ID of your GCP project // String projectId = "your-project-id"; // The ID of your GCS bucket // String bucketName = "your-unique-bucket-name"; - Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService(); + try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { Bucket bucket = storage.get(bucketName, Storage.BucketGetOption.fields(Storage.BucketField.CORS)); @@ -46,6 +46,7 @@ public static void removeBucketCors(String projectId, String bucketName) { // Update bucket to remove CORS. bucket.toBuilder().setCors(cors).build().update(); System.out.println("Removed CORS configuration from bucket " + bucketName); + } } } // [END storage_remove_cors_configuration] diff --git a/samples/snippets/src/main/java/com/example/storage/bucket/RemoveBucketDefaultKmsKey.java b/samples/snippets/src/main/java/com/example/storage/bucket/RemoveBucketDefaultKmsKey.java index 26c0747507..b903e9326b 100644 --- a/samples/snippets/src/main/java/com/example/storage/bucket/RemoveBucketDefaultKmsKey.java +++ b/samples/snippets/src/main/java/com/example/storage/bucket/RemoveBucketDefaultKmsKey.java @@ -23,14 +23,15 @@ import com.google.cloud.storage.StorageOptions; public class RemoveBucketDefaultKmsKey { - public static void removeBucketDefaultKmsKey(String projectId, String bucketName) { + public static void removeBucketDefaultKmsKey(String projectId, String bucketName) + throws Exception { // The ID of your GCP project // String projectId = "your-project-id"; // The ID of your GCS bucket // String bucketName = "your-unique-bucket-name"; - Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService(); + try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { // first look up the bucket, so we will have its metageneration Bucket bucket = storage.get(bucketName); storage.update( @@ -38,6 +39,7 @@ public static void removeBucketDefaultKmsKey(String projectId, String bucketName BucketTargetOption.metagenerationMatch()); System.out.println("Default KMS key was removed from " + bucketName); + } } } // [END storage_bucket_delete_default_kms_key] diff --git a/samples/snippets/src/main/java/com/example/storage/bucket/RemoveBucketDefaultOwner.java b/samples/snippets/src/main/java/com/example/storage/bucket/RemoveBucketDefaultOwner.java index f3e342b284..235e84a08b 100644 --- a/samples/snippets/src/main/java/com/example/storage/bucket/RemoveBucketDefaultOwner.java +++ b/samples/snippets/src/main/java/com/example/storage/bucket/RemoveBucketDefaultOwner.java @@ -25,7 +25,8 @@ public class RemoveBucketDefaultOwner { - public static void removeBucketDefaultOwner(String bucketName, String userEmail) { + public static void removeBucketDefaultOwner(String bucketName, String userEmail) + throws Exception { // The ID of your GCS bucket // String bucketName = "your-unique-bucket-name"; @@ -33,15 +34,16 @@ public static void removeBucketDefaultOwner(String bucketName, String userEmail) // The email of the user you wish to remove as a default owner // String userEmail = "someuser@domain.com" - Storage storage = StorageOptions.newBuilder().build().getService(); - Bucket bucket = storage.get(bucketName); - User userToRemove = new User(userEmail); + try (Storage storage = StorageOptions.newBuilder().build().getService()) { + Bucket bucket = storage.get(bucketName); + User userToRemove = new User(userEmail); - boolean success = bucket.deleteDefaultAcl(userToRemove); - if (success) { - System.out.println("Removed user " + userEmail + " as an owner on " + bucketName); - } else { - System.out.println("User " + userEmail + " was not found"); + boolean success = bucket.deleteDefaultAcl(userToRemove); + if (success) { + System.out.println("Removed user " + userEmail + " as an owner on " + bucketName); + } else { + System.out.println("User " + userEmail + " was not found"); + } } } } diff --git a/samples/snippets/src/main/java/com/example/storage/bucket/RemoveBucketIamConditionalBinding.java b/samples/snippets/src/main/java/com/example/storage/bucket/RemoveBucketIamConditionalBinding.java index 71ea948177..d63608dec3 100644 --- a/samples/snippets/src/main/java/com/example/storage/bucket/RemoveBucketIamConditionalBinding.java +++ b/samples/snippets/src/main/java/com/example/storage/bucket/RemoveBucketIamConditionalBinding.java @@ -29,7 +29,8 @@ public class RemoveBucketIamConditionalBinding { /** Example of removing a conditional binding to the Bucket-level IAM */ - public static void removeBucketIamConditionalBinding(String projectId, String bucketName) { + public static void removeBucketIamConditionalBinding(String projectId, String bucketName) + throws Exception { // The ID of your GCP project // String projectId = "your-project-id"; @@ -38,7 +39,7 @@ public static void removeBucketIamConditionalBinding(String projectId, String bu // For more information please read: // https://cloud.google.com/storage/docs/access-control/iam - Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService(); + try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { Policy originalPolicy = storage.getIamPolicy(bucketName, Storage.BucketSourceOption.requestedPolicyVersion(3)); @@ -74,6 +75,7 @@ public static void removeBucketIamConditionalBinding(String projectId, String bu Policy updatedPolicy = storage.setIamPolicy(bucketName, updatedPolicyBuilder.build()); System.out.println("Conditional Binding was removed."); + } } } // [END storage_remove_bucket_conditional_iam_binding] diff --git a/samples/snippets/src/main/java/com/example/storage/bucket/RemoveBucketIamMember.java b/samples/snippets/src/main/java/com/example/storage/bucket/RemoveBucketIamMember.java index 026b3ab094..a2d7f50fc0 100644 --- a/samples/snippets/src/main/java/com/example/storage/bucket/RemoveBucketIamMember.java +++ b/samples/snippets/src/main/java/com/example/storage/bucket/RemoveBucketIamMember.java @@ -26,7 +26,7 @@ import java.util.List; public class RemoveBucketIamMember { - public static void removeBucketIamMember(String projectId, String bucketName) { + public static void removeBucketIamMember(String projectId, String bucketName) throws Exception { // The ID of your GCP project // String projectId = "your-project-id"; @@ -35,7 +35,7 @@ public static void removeBucketIamMember(String projectId, String bucketName) { // For more information please read: // https://cloud.google.com/storage/docs/access-control/iam - Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService(); + try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { Policy originalPolicy = storage.getIamPolicy(bucketName, Storage.BucketSourceOption.requestedPolicyVersion(3)); @@ -66,5 +66,6 @@ public static void removeBucketIamMember(String projectId, String bucketName) { System.out.printf("Removed %s with role %s from %s\n", member, role, bucketName); } + } } // [END storage_remove_bucket_iam_member] diff --git a/samples/snippets/src/main/java/com/example/storage/bucket/RemoveBucketLabel.java b/samples/snippets/src/main/java/com/example/storage/bucket/RemoveBucketLabel.java index 1e63ba76d3..46830492da 100644 --- a/samples/snippets/src/main/java/com/example/storage/bucket/RemoveBucketLabel.java +++ b/samples/snippets/src/main/java/com/example/storage/bucket/RemoveBucketLabel.java @@ -25,7 +25,8 @@ import java.util.Map; public class RemoveBucketLabel { - public static void removeBucketLabel(String projectId, String bucketName, String labelKey) { + public static void removeBucketLabel(String projectId, String bucketName, String labelKey) + throws Exception { // The ID of your GCP project // String projectId = "your-project-id"; @@ -35,7 +36,7 @@ public static void removeBucketLabel(String projectId, String bucketName, String // The key of the label to remove from the bucket // String labelKey = "label-key-to-remove"; - Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService(); + try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { Map labelsToRemove = new HashMap<>(); labelsToRemove.put(labelKey, null); @@ -52,5 +53,6 @@ public static void removeBucketLabel(String projectId, String bucketName, String System.out.println("Removed label " + labelKey + " from bucket " + bucketName); } + } } // [END storage_remove_bucket_label] diff --git a/samples/snippets/src/main/java/com/example/storage/bucket/RemoveBucketOwner.java b/samples/snippets/src/main/java/com/example/storage/bucket/RemoveBucketOwner.java index 07334b78d5..34241ba480 100644 --- a/samples/snippets/src/main/java/com/example/storage/bucket/RemoveBucketOwner.java +++ b/samples/snippets/src/main/java/com/example/storage/bucket/RemoveBucketOwner.java @@ -25,7 +25,8 @@ public class RemoveBucketOwner { - public static void removeBucketOwner(String projectId, String bucketName, String userEmail) { + public static void removeBucketOwner(String projectId, String bucketName, String userEmail) + throws Exception { // The ID of your GCP project // String projectId = "your-project-id"; @@ -36,7 +37,7 @@ public static void removeBucketOwner(String projectId, String bucketName, String // Email of the user you wish to remove as an owner // String userEmail = "someuser@domain.com" - Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService(); + try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { Bucket bucket = storage.get(bucketName); User ownerToRemove = new User(userEmail); @@ -46,6 +47,7 @@ public static void removeBucketOwner(String projectId, String bucketName, String } else { System.out.println("User " + userEmail + " was not found"); } + } } } diff --git a/samples/snippets/src/main/java/com/example/storage/bucket/RemoveRetentionPolicy.java b/samples/snippets/src/main/java/com/example/storage/bucket/RemoveRetentionPolicy.java index 8ad4875b29..82615c5987 100644 --- a/samples/snippets/src/main/java/com/example/storage/bucket/RemoveRetentionPolicy.java +++ b/samples/snippets/src/main/java/com/example/storage/bucket/RemoveRetentionPolicy.java @@ -20,19 +20,18 @@ import com.google.cloud.storage.Bucket; import com.google.cloud.storage.Storage; -import com.google.cloud.storage.StorageException; import com.google.cloud.storage.StorageOptions; public class RemoveRetentionPolicy { public static void removeRetentionPolicy(String projectId, String bucketName) - throws StorageException, IllegalArgumentException { + throws Exception { // The ID of your GCP project // String projectId = "your-project-id"; // The ID of your GCS bucket // String bucketName = "your-unique-bucket-name"; - Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService(); + try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { Bucket bucket = storage.get( @@ -45,6 +44,7 @@ public static void removeRetentionPolicy(String projectId, String bucketName) bucket.toBuilder().setRetentionPeriod(null).build().update(); System.out.println("Retention policy for " + bucketName + " has been removed"); + } } } // [END storage_remove_retention_policy] diff --git a/samples/snippets/src/main/java/com/example/storage/bucket/SetAsyncTurboRpo.java b/samples/snippets/src/main/java/com/example/storage/bucket/SetAsyncTurboRpo.java index 137e940b26..389dd051c4 100644 --- a/samples/snippets/src/main/java/com/example/storage/bucket/SetAsyncTurboRpo.java +++ b/samples/snippets/src/main/java/com/example/storage/bucket/SetAsyncTurboRpo.java @@ -23,19 +23,20 @@ import com.google.cloud.storage.StorageOptions; public class SetAsyncTurboRpo { - public static void setAsyncTurboRpo(String projectId, String bucketName) { + public static void setAsyncTurboRpo(String projectId, String bucketName) throws Exception { // The ID of your GCP project // String projectId = "your-project-id"; // The ID of your GCS bucket // String bucketName = "your-unique-bucket-name"; - Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService(); + try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { Bucket bucket = storage.get(bucketName); bucket.toBuilder().setRpo(Rpo.ASYNC_TURBO).build().update(); System.out.println("Turbo replication was enabled for " + bucketName); + } } } // [END storage_set_rpo_async_turbo] diff --git a/samples/snippets/src/main/java/com/example/storage/bucket/SetBucketDefaultKmsKey.java b/samples/snippets/src/main/java/com/example/storage/bucket/SetBucketDefaultKmsKey.java index 995001dbb1..fb3d43e20e 100644 --- a/samples/snippets/src/main/java/com/example/storage/bucket/SetBucketDefaultKmsKey.java +++ b/samples/snippets/src/main/java/com/example/storage/bucket/SetBucketDefaultKmsKey.java @@ -21,12 +21,11 @@ import com.google.cloud.storage.Bucket; import com.google.cloud.storage.Storage; import com.google.cloud.storage.Storage.BucketTargetOption; -import com.google.cloud.storage.StorageException; import com.google.cloud.storage.StorageOptions; public class SetBucketDefaultKmsKey { public static void setBucketDefaultKmsKey(String projectId, String bucketName, String kmsKeyName) - throws StorageException { + throws Exception { // The ID of your GCP project // String projectId = "your-project-id"; @@ -37,7 +36,7 @@ public static void setBucketDefaultKmsKey(String projectId, String bucketName, S // String kmsKeyName = // "projects/your-project-id/locations/us/keyRings/my_key_ring/cryptoKeys/my_key" - Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService(); + try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { // first look up the bucket, so we will have its metageneration Bucket bucket = storage.get(bucketName); @@ -51,6 +50,7 @@ public static void setBucketDefaultKmsKey(String projectId, String bucketName, S + updated.getDefaultKmsKeyName() + "was set to default for bucket " + bucketName); + } } } // [END storage_set_bucket_default_kms_key] diff --git a/samples/snippets/src/main/java/com/example/storage/bucket/SetBucketWebsiteInfo.java b/samples/snippets/src/main/java/com/example/storage/bucket/SetBucketWebsiteInfo.java index b9e1afd416..d77fe3be86 100644 --- a/samples/snippets/src/main/java/com/example/storage/bucket/SetBucketWebsiteInfo.java +++ b/samples/snippets/src/main/java/com/example/storage/bucket/SetBucketWebsiteInfo.java @@ -23,7 +23,7 @@ public class SetBucketWebsiteInfo { public static void setBucketWesbiteInfo( - String projectId, String bucketName, String indexPage, String notFoundPage) { + String projectId, String bucketName, String indexPage, String notFoundPage) throws Exception { // The ID of your GCP project // String projectId = "your-project-id"; @@ -36,7 +36,7 @@ public static void setBucketWesbiteInfo( // The 404 page for a static website bucket // String notFoundPage = "404.html"; - Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService(); + try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { Bucket bucket = storage.get(bucketName); bucket.toBuilder().setIndexPage(indexPage).setNotFoundPage(notFoundPage).build().update(); @@ -48,6 +48,7 @@ public static void setBucketWesbiteInfo( + " as the index page and " + notFoundPage + " as the 404 page"); + } } } // [END storage_define_bucket_website_configuration] diff --git a/samples/snippets/src/main/java/com/example/storage/bucket/SetClientEndpoint.java b/samples/snippets/src/main/java/com/example/storage/bucket/SetClientEndpoint.java index 9fdf7b9766..e660ed5735 100644 --- a/samples/snippets/src/main/java/com/example/storage/bucket/SetClientEndpoint.java +++ b/samples/snippets/src/main/java/com/example/storage/bucket/SetClientEndpoint.java @@ -23,18 +23,19 @@ public class SetClientEndpoint { - public static void setClientEndpoint(String projectId, String endpoint) { + public static void setClientEndpoint(String projectId, String endpoint) throws Exception { // The ID of your GCP project // String projectId = "your-project-id"; // The endpoint you wish to target // String endpoint = "https://storage.googleapis.com" - Storage storage = - StorageOptions.newBuilder().setProjectId(projectId).setHost(endpoint).build().getService(); + try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).setHost(endpoint) + .build().getService()) { - System.out.println( - "Storage Client initialized with endpoint " + storage.getOptions().getHost()); + System.out.println( + "Storage Client initialized with endpoint " + storage.getOptions().getHost()); + } } } diff --git a/samples/snippets/src/main/java/com/example/storage/bucket/SetDefaultRpo.java b/samples/snippets/src/main/java/com/example/storage/bucket/SetDefaultRpo.java index c135e0436f..4e7416333c 100644 --- a/samples/snippets/src/main/java/com/example/storage/bucket/SetDefaultRpo.java +++ b/samples/snippets/src/main/java/com/example/storage/bucket/SetDefaultRpo.java @@ -23,19 +23,20 @@ import com.google.cloud.storage.StorageOptions; public class SetDefaultRpo { - public static void setDefaultRpo(String projectId, String bucketName) { + public static void setDefaultRpo(String projectId, String bucketName) throws Exception { // The ID of your GCP project // String projectId = "your-project-id"; // The ID of your GCS bucket // String bucketName = "your-unique-bucket-name"; - Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService(); + try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { Bucket bucket = storage.get(bucketName); bucket.toBuilder().setRpo(Rpo.DEFAULT).build().update(); System.out.println("Replication was set to default for " + bucketName); + } } } // [END storage_set_rpo_default] diff --git a/samples/snippets/src/main/java/com/example/storage/bucket/SetPublicAccessPreventionEnforced.java b/samples/snippets/src/main/java/com/example/storage/bucket/SetPublicAccessPreventionEnforced.java index c959dce210..f18cb3ab9f 100644 --- a/samples/snippets/src/main/java/com/example/storage/bucket/SetPublicAccessPreventionEnforced.java +++ b/samples/snippets/src/main/java/com/example/storage/bucket/SetPublicAccessPreventionEnforced.java @@ -23,14 +23,15 @@ import com.google.cloud.storage.StorageOptions; public class SetPublicAccessPreventionEnforced { - public static void setPublicAccessPreventionEnforced(String projectId, String bucketName) { + public static void setPublicAccessPreventionEnforced(String projectId, String bucketName) + throws Exception { // The ID of your GCP project // String projectId = "your-project-id"; // The ID of your GCS bucket // String bucketName = "your-unique-bucket-name"; - Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService(); + try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { Bucket bucket = storage.get(bucketName); // Enforces public access prevention for the bucket @@ -43,6 +44,7 @@ public static void setPublicAccessPreventionEnforced(String projectId, String bu .update(); System.out.println("Public access prevention is set to enforced for " + bucketName); + } } } // [END storage_set_public_access_prevention_enforced] diff --git a/samples/snippets/src/main/java/com/example/storage/bucket/SetPublicAccessPreventionInherited.java b/samples/snippets/src/main/java/com/example/storage/bucket/SetPublicAccessPreventionInherited.java index 0208f70824..77fc8c7617 100644 --- a/samples/snippets/src/main/java/com/example/storage/bucket/SetPublicAccessPreventionInherited.java +++ b/samples/snippets/src/main/java/com/example/storage/bucket/SetPublicAccessPreventionInherited.java @@ -23,14 +23,15 @@ import com.google.cloud.storage.StorageOptions; public class SetPublicAccessPreventionInherited { - public static void setPublicAccessPreventionInherited(String projectId, String bucketName) { + public static void setPublicAccessPreventionInherited(String projectId, String bucketName) + throws Exception { // The ID of your GCP project // String projectId = "your-project-id"; // The ID of your GCS bucket // String bucketName = "your-unique-bucket-name"; - Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService(); + try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { Bucket bucket = storage.get(bucketName); // Sets public access prevention to 'inherited' for the bucket @@ -43,6 +44,7 @@ public static void setPublicAccessPreventionInherited(String projectId, String b .update(); System.out.println("Public access prevention is set to 'inherited' for " + bucketName); + } } } // [END storage_set_public_access_prevention_inherited] diff --git a/samples/snippets/src/main/java/com/example/storage/bucket/SetRetentionPolicy.java b/samples/snippets/src/main/java/com/example/storage/bucket/SetRetentionPolicy.java index 4491ed3897..0abef573ed 100644 --- a/samples/snippets/src/main/java/com/example/storage/bucket/SetRetentionPolicy.java +++ b/samples/snippets/src/main/java/com/example/storage/bucket/SetRetentionPolicy.java @@ -21,13 +21,12 @@ import com.google.cloud.storage.Bucket; import com.google.cloud.storage.Storage; import com.google.cloud.storage.Storage.BucketTargetOption; -import com.google.cloud.storage.StorageException; import com.google.cloud.storage.StorageOptions; import java.time.Duration; public class SetRetentionPolicy { public static void setRetentionPolicy( - String projectId, String bucketName, Long retentionPeriodSeconds) throws StorageException { + String projectId, String bucketName, Long retentionPeriodSeconds) throws Exception { // The ID of your GCP project // String projectId = "your-project-id"; @@ -37,7 +36,7 @@ public static void setRetentionPolicy( // The retention period for objects in bucket // Long retentionPeriodSeconds = 3600L; // 1 hour in seconds - Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService(); + try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { // first look up the bucket so we will have its metageneration Bucket bucket = storage.get(bucketName); @@ -53,6 +52,7 @@ public static void setRetentionPolicy( + bucketName + " is now " + bucketWithRetentionPolicy.getRetentionPeriodDuration()); + } } } // [END storage_set_retention_policy] diff --git a/samples/snippets/src/main/java/com/example/storage/bucket/SetSoftDeletePolicy.java b/samples/snippets/src/main/java/com/example/storage/bucket/SetSoftDeletePolicy.java index e923cb2faa..550dd8c763 100644 --- a/samples/snippets/src/main/java/com/example/storage/bucket/SetSoftDeletePolicy.java +++ b/samples/snippets/src/main/java/com/example/storage/bucket/SetSoftDeletePolicy.java @@ -24,14 +24,14 @@ import java.time.Duration; public class SetSoftDeletePolicy { - public static void setSoftDeletePolicy(String projectId, String bucketName) { + public static void setSoftDeletePolicy(String projectId, String bucketName) throws Exception { // The ID of your GCP project // String projectId = "your-project-id"; // The ID of your GCS bucket // String bucketName = "your-unique-bucket-name"; - Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService(); + try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { Bucket bucket = storage.get(bucketName); bucket.toBuilder() .setSoftDeletePolicy( @@ -44,5 +44,6 @@ public static void setSoftDeletePolicy(String projectId, String bucketName) { System.out.println( "Soft delete policy for " + bucketName + " was set to a 10-day retention period"); } + } } // [END storage_set_soft_delete_policy] diff --git a/samples/snippets/src/main/java/com/example/storage/hmac/ActivateHmacKey.java b/samples/snippets/src/main/java/com/example/storage/hmac/ActivateHmacKey.java index 9a23e39161..e00fc42784 100644 --- a/samples/snippets/src/main/java/com/example/storage/hmac/ActivateHmacKey.java +++ b/samples/snippets/src/main/java/com/example/storage/hmac/ActivateHmacKey.java @@ -20,35 +20,35 @@ import com.google.cloud.storage.HmacKey; import com.google.cloud.storage.Storage; -import com.google.cloud.storage.StorageException; import com.google.cloud.storage.StorageOptions; import java.util.Date; public class ActivateHmacKey { - public static void activateHmacKey(String accessId, String projectId) throws StorageException { + public static void activateHmacKey(String accessId, String projectId) throws Exception { // The access ID of the HMAC key. // String accessId = "GOOG0234230X00"; // The ID of the project to which the service account belongs. // String projectId = "project-id"; - Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService(); - - HmacKey.HmacKeyMetadata metadata = - storage.getHmacKey(accessId, Storage.GetHmacKeyOption.projectId(projectId)); - HmacKey.HmacKeyMetadata newMetadata = - storage.updateHmacKeyState(metadata, HmacKey.HmacKeyState.ACTIVE); - - System.out.println("The HMAC key is now active."); - System.out.println("The HMAC key metadata is:"); - System.out.println("ID: " + newMetadata.getId()); - System.out.println("Access ID: " + newMetadata.getAccessId()); - System.out.println("Project ID: " + newMetadata.getProjectId()); - System.out.println("Service Account Email: " + newMetadata.getServiceAccount().getEmail()); - System.out.println("State: " + newMetadata.getState().toString()); - System.out.println("Time Created: " + new Date(newMetadata.getCreateTime()).toString()); - System.out.println("Time Updated: " + new Date(newMetadata.getUpdateTime()).toString()); - System.out.println("ETag: " + newMetadata.getEtag()); + try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { + + HmacKey.HmacKeyMetadata metadata = + storage.getHmacKey(accessId, Storage.GetHmacKeyOption.projectId(projectId)); + HmacKey.HmacKeyMetadata newMetadata = + storage.updateHmacKeyState(metadata, HmacKey.HmacKeyState.ACTIVE); + + System.out.println("The HMAC key is now active."); + System.out.println("The HMAC key metadata is:"); + System.out.println("ID: " + newMetadata.getId()); + System.out.println("Access ID: " + newMetadata.getAccessId()); + System.out.println("Project ID: " + newMetadata.getProjectId()); + System.out.println("Service Account Email: " + newMetadata.getServiceAccount().getEmail()); + System.out.println("State: " + newMetadata.getState().toString()); + System.out.println("Time Created: " + new Date(newMetadata.getCreateTime()).toString()); + System.out.println("Time Updated: " + new Date(newMetadata.getUpdateTime()).toString()); + System.out.println("ETag: " + newMetadata.getEtag()); + } } } // [END storage_activate_hmac_key] diff --git a/samples/snippets/src/main/java/com/example/storage/hmac/CreateHmacKey.java b/samples/snippets/src/main/java/com/example/storage/hmac/CreateHmacKey.java index 5c729a8dd1..4e2934b578 100644 --- a/samples/snippets/src/main/java/com/example/storage/hmac/CreateHmacKey.java +++ b/samples/snippets/src/main/java/com/example/storage/hmac/CreateHmacKey.java @@ -21,13 +21,12 @@ import com.google.cloud.storage.HmacKey; import com.google.cloud.storage.ServiceAccount; import com.google.cloud.storage.Storage; -import com.google.cloud.storage.StorageException; import com.google.cloud.storage.StorageOptions; import java.util.Date; public class CreateHmacKey { public static void createHmacKey(String serviceAccountEmail, String projectId) - throws StorageException { + throws Exception { // The service account email for which the new HMAC key will be created. // String serviceAccountEmail = "service-account@iam.gserviceaccount.com"; @@ -35,7 +34,7 @@ public static void createHmacKey(String serviceAccountEmail, String projectId) // The ID of the project to which the service account belongs. // String projectId = "project-id"; - Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService(); + try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()){ ServiceAccount account = ServiceAccount.of(serviceAccountEmail); HmacKey hmacKey = @@ -55,6 +54,6 @@ public static void createHmacKey(String serviceAccountEmail, String projectId) System.out.println("Time Created: " + new Date(metadata.getCreateTime()).toString()); System.out.println("Time Updated: " + new Date(metadata.getUpdateTime()).toString()); System.out.println("ETag: " + metadata.getEtag()); - } + }} } // [END storage_create_hmac_key] diff --git a/samples/snippets/src/main/java/com/example/storage/hmac/DeactivateHmacKey.java b/samples/snippets/src/main/java/com/example/storage/hmac/DeactivateHmacKey.java index 129cedf9e4..da8147ee3a 100644 --- a/samples/snippets/src/main/java/com/example/storage/hmac/DeactivateHmacKey.java +++ b/samples/snippets/src/main/java/com/example/storage/hmac/DeactivateHmacKey.java @@ -20,35 +20,34 @@ import com.google.cloud.storage.HmacKey; import com.google.cloud.storage.Storage; -import com.google.cloud.storage.StorageException; import com.google.cloud.storage.StorageOptions; import java.util.Date; public class DeactivateHmacKey { - public static void deactivateHmacKey(String accessId, String projectId) throws StorageException { + public static void deactivateHmacKey(String accessId, String projectId) throws Exception { // The access ID of the HMAC key. // String accessId = "GOOG0234230X00"; // The ID of the project to which the service account belongs. // String projectId = "project-id"; - Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService(); - - HmacKey.HmacKeyMetadata metadata = - storage.getHmacKey(accessId, Storage.GetHmacKeyOption.projectId(projectId)); - HmacKey.HmacKeyMetadata newMetadata = - storage.updateHmacKeyState(metadata, HmacKey.HmacKeyState.INACTIVE); - - System.out.println("The HMAC key is now inactive."); - System.out.println("The HMAC key metadata is:"); - System.out.println("ID: " + newMetadata.getId()); - System.out.println("Access ID: " + newMetadata.getAccessId()); - System.out.println("Project ID: " + newMetadata.getProjectId()); - System.out.println("Service Account Email: " + newMetadata.getServiceAccount().getEmail()); - System.out.println("State: " + newMetadata.getState().toString()); - System.out.println("Time Created: " + new Date(newMetadata.getCreateTime()).toString()); - System.out.println("Time Updated: " + new Date(newMetadata.getUpdateTime()).toString()); - System.out.println("ETag: " + newMetadata.getEtag()); - } + try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { + + HmacKey.HmacKeyMetadata metadata = + storage.getHmacKey(accessId, Storage.GetHmacKeyOption.projectId(projectId)); + HmacKey.HmacKeyMetadata newMetadata = + storage.updateHmacKeyState(metadata, HmacKey.HmacKeyState.INACTIVE); + + System.out.println("The HMAC key is now inactive."); + System.out.println("The HMAC key metadata is:"); + System.out.println("ID: " + newMetadata.getId()); + System.out.println("Access ID: " + newMetadata.getAccessId()); + System.out.println("Project ID: " + newMetadata.getProjectId()); + System.out.println("Service Account Email: " + newMetadata.getServiceAccount().getEmail()); + System.out.println("State: " + newMetadata.getState().toString()); + System.out.println("Time Created: " + new Date(newMetadata.getCreateTime()).toString()); + System.out.println("Time Updated: " + new Date(newMetadata.getUpdateTime()).toString()); + System.out.println("ETag: " + newMetadata.getEtag()); + }} } // [END storage_deactivate_hmac_key] diff --git a/samples/snippets/src/main/java/com/example/storage/hmac/DeleteHmacKey.java b/samples/snippets/src/main/java/com/example/storage/hmac/DeleteHmacKey.java index afd599f6e2..dd592c66e6 100644 --- a/samples/snippets/src/main/java/com/example/storage/hmac/DeleteHmacKey.java +++ b/samples/snippets/src/main/java/com/example/storage/hmac/DeleteHmacKey.java @@ -20,11 +20,10 @@ import com.google.cloud.storage.HmacKey; import com.google.cloud.storage.Storage; -import com.google.cloud.storage.StorageException; import com.google.cloud.storage.StorageOptions; public class DeleteHmacKey { - public static void deleteHmacKey(String accessId, String projectId) throws StorageException { + public static void deleteHmacKey(String accessId, String projectId) throws Exception { // The access ID of the HMAC key. // String accessId = "GOOG0234230X00"; @@ -32,15 +31,15 @@ public static void deleteHmacKey(String accessId, String projectId) throws Stora // The ID of the project to which the service account belongs. // String projectId = "project-id"; - Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService(); + try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { - HmacKey.HmacKeyMetadata metadata = - storage.getHmacKey(accessId, Storage.GetHmacKeyOption.projectId(projectId)); - storage.deleteHmacKey(metadata); + HmacKey.HmacKeyMetadata metadata = + storage.getHmacKey(accessId, Storage.GetHmacKeyOption.projectId(projectId)); + storage.deleteHmacKey(metadata); - System.out.println( - "The key is deleted, though it will still appear in " - + "getHmacKeys() results if called with showDeletedKey."); - } + System.out.println( + "The key is deleted, though it will still appear in " + + "getHmacKeys() results if called with showDeletedKey."); + }} } // [END storage_delete_hmac_key] diff --git a/samples/snippets/src/main/java/com/example/storage/hmac/GetHmacKey.java b/samples/snippets/src/main/java/com/example/storage/hmac/GetHmacKey.java index eea8fe22b5..89e1ce8b97 100644 --- a/samples/snippets/src/main/java/com/example/storage/hmac/GetHmacKey.java +++ b/samples/snippets/src/main/java/com/example/storage/hmac/GetHmacKey.java @@ -20,32 +20,31 @@ import com.google.cloud.storage.HmacKey; import com.google.cloud.storage.Storage; -import com.google.cloud.storage.StorageException; import com.google.cloud.storage.StorageOptions; import java.util.Date; public class GetHmacKey { - public static void getHmacKey(String accessId, String projectId) throws StorageException { + public static void getHmacKey(String accessId, String projectId) throws Exception { // The access ID of the HMAC key. // String accessId = "GOOG0234230X00"; // The ID of the project to which the service account belongs. // String projectId = "project-id"; - Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService(); - - HmacKey.HmacKeyMetadata metadata = - storage.getHmacKey(accessId, Storage.GetHmacKeyOption.projectId(projectId)); - - System.out.println("The HMAC key metadata is:"); - System.out.println("ID: " + metadata.getId()); - System.out.println("Access ID: " + metadata.getAccessId()); - System.out.println("Project ID: " + metadata.getProjectId()); - System.out.println("Service Account Email: " + metadata.getServiceAccount().getEmail()); - System.out.println("State: " + metadata.getState().toString()); - System.out.println("Time Created: " + new Date(metadata.getCreateTime()).toString()); - System.out.println("Time Updated: " + new Date(metadata.getUpdateTime()).toString()); - System.out.println("ETag: " + metadata.getEtag()); - } + try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { + + HmacKey.HmacKeyMetadata metadata = + storage.getHmacKey(accessId, Storage.GetHmacKeyOption.projectId(projectId)); + + System.out.println("The HMAC key metadata is:"); + System.out.println("ID: " + metadata.getId()); + System.out.println("Access ID: " + metadata.getAccessId()); + System.out.println("Project ID: " + metadata.getProjectId()); + System.out.println("Service Account Email: " + metadata.getServiceAccount().getEmail()); + System.out.println("State: " + metadata.getState().toString()); + System.out.println("Time Created: " + new Date(metadata.getCreateTime()).toString()); + System.out.println("Time Updated: " + new Date(metadata.getUpdateTime()).toString()); + System.out.println("ETag: " + metadata.getEtag()); + }} } // [END storage_get_hmac_key] diff --git a/samples/snippets/src/main/java/com/example/storage/hmac/ListHmacKeys.java b/samples/snippets/src/main/java/com/example/storage/hmac/ListHmacKeys.java index 538fc95909..854e799f3e 100644 --- a/samples/snippets/src/main/java/com/example/storage/hmac/ListHmacKeys.java +++ b/samples/snippets/src/main/java/com/example/storage/hmac/ListHmacKeys.java @@ -21,23 +21,22 @@ import com.google.api.gax.paging.Page; import com.google.cloud.storage.HmacKey; import com.google.cloud.storage.Storage; -import com.google.cloud.storage.StorageException; import com.google.cloud.storage.StorageOptions; public class ListHmacKeys { - public static void listHmacKeys(String projectId) throws StorageException { + public static void listHmacKeys(String projectId) throws Exception { // The ID of the project to which the service account belongs. // String projectId = "project-id"; - Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService(); + try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { - Page page = - storage.listHmacKeys(Storage.ListHmacKeysOption.projectId(projectId)); + Page page = + storage.listHmacKeys(Storage.ListHmacKeysOption.projectId(projectId)); - for (HmacKey.HmacKeyMetadata metadata : page.iterateAll()) { - System.out.println("Service Account Email: " + metadata.getServiceAccount().getEmail()); - System.out.println("Access ID: " + metadata.getAccessId()); - } - } + for (HmacKey.HmacKeyMetadata metadata : page.iterateAll()) { + System.out.println("Service Account Email: " + metadata.getServiceAccount().getEmail()); + System.out.println("Access ID: " + metadata.getAccessId()); + } + }} } // [END storage_list_hmac_keys] diff --git a/samples/snippets/src/main/java/com/example/storage/object/AddBlobOwner.java b/samples/snippets/src/main/java/com/example/storage/object/AddBlobOwner.java index 75c4c88d53..c18428f174 100644 --- a/samples/snippets/src/main/java/com/example/storage/object/AddBlobOwner.java +++ b/samples/snippets/src/main/java/com/example/storage/object/AddBlobOwner.java @@ -29,7 +29,7 @@ public class AddBlobOwner { public static void addBlobOwner( - String projectId, String bucketName, String userEmail, String blobName) { + String projectId, String bucketName, String userEmail, String blobName) throws Exception { // The ID of your GCP project // String projectId = "your-project-id"; @@ -42,18 +42,18 @@ public static void addBlobOwner( // The name of the blob/file that you wish to modify permissions on // String blobName = "your-blob-name"; - Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService(); - Blob blob = storage.get(BlobId.of(bucketName, blobName)); - Acl newOwner = Acl.of(new User(userEmail), Role.OWNER); - - blob.createAcl(newOwner); - System.out.println( - "Added user " - + userEmail - + " as an owner on blob " - + blobName - + " in bucket " - + bucketName); - } + try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { + Blob blob = storage.get(BlobId.of(bucketName, blobName)); + Acl newOwner = Acl.of(new User(userEmail), Role.OWNER); + + blob.createAcl(newOwner); + System.out.println( + "Added user " + + userEmail + + " as an owner on blob " + + blobName + + " in bucket " + + bucketName); + }} } // [END storage_add_file_owner] diff --git a/samples/snippets/src/main/java/com/example/storage/object/AtomicMoveObject.java b/samples/snippets/src/main/java/com/example/storage/object/AtomicMoveObject.java index a4f0d9cdd4..d21fd897ea 100644 --- a/samples/snippets/src/main/java/com/example/storage/object/AtomicMoveObject.java +++ b/samples/snippets/src/main/java/com/example/storage/object/AtomicMoveObject.java @@ -27,7 +27,8 @@ public final class AtomicMoveObject { public static void moveObject( - String projectId, String bucketName, String sourceObjectName, String targetObjectName) { + String projectId, String bucketName, String sourceObjectName, String targetObjectName) + throws Exception { // The ID of your GCP project // String projectId = "your-project-id"; @@ -41,7 +42,7 @@ public static void moveObject( // The ID of your GCS object // String targetObjectName = "your-new-object-name"; - Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService(); + try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { BlobId source = BlobId.of(bucketName, sourceObjectName); BlobId target = BlobId.of(bucketName, targetObjectName); @@ -76,5 +77,5 @@ public static void moveObject( + " to " + movedBlob.getBlobId().toGsUtilUriWithGeneration()); } -} +}} // [END storage_move_object] diff --git a/samples/snippets/src/main/java/com/example/storage/object/BatchSetObjectMetadata.java b/samples/snippets/src/main/java/com/example/storage/object/BatchSetObjectMetadata.java index 90c6a136f0..87dbbce26c 100644 --- a/samples/snippets/src/main/java/com/example/storage/object/BatchSetObjectMetadata.java +++ b/samples/snippets/src/main/java/com/example/storage/object/BatchSetObjectMetadata.java @@ -33,7 +33,7 @@ public class BatchSetObjectMetadata { public static void batchSetObjectMetadata( - String projectId, String bucketName, String pathPrefix) { + String projectId, String bucketName, String pathPrefix) throws Exception { // The ID of your GCP project // String projectId = "your-project-id"; @@ -44,7 +44,7 @@ public static void batchSetObjectMetadata( // updated // String pathPrefix = "yourPath/"; - Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService(); + try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { Map newMetadata = new HashMap<>(); newMetadata.put("keyToAddOrUpdate", "value"); Page blobs = @@ -93,5 +93,5 @@ public static void batchSetObjectMetadata( } } } -} +}} // [END storage_batch_request] diff --git a/samples/snippets/src/main/java/com/example/storage/object/ChangeObjectCsekToKms.java b/samples/snippets/src/main/java/com/example/storage/object/ChangeObjectCsekToKms.java index 730d320a81..c13f180bf3 100644 --- a/samples/snippets/src/main/java/com/example/storage/object/ChangeObjectCsekToKms.java +++ b/samples/snippets/src/main/java/com/example/storage/object/ChangeObjectCsekToKms.java @@ -28,7 +28,7 @@ public static void changeObjectFromCsekToKms( String bucketName, String objectName, String decryptionKey, - String kmsKeyName) { + String kmsKeyName) throws Exception { // The ID of your GCP project // String projectId = "your-project-id"; @@ -46,7 +46,7 @@ public static void changeObjectFromCsekToKms( // String kmsKeyName = // "projects/your-project-id/locations/global/keyRings/your-key-ring/cryptoKeys/your-key"; - Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService(); + try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { BlobId blobId = BlobId.of(bucketName, objectName); Blob blob = storage.get(blobId); if (blob == null) { @@ -77,5 +77,5 @@ public static void changeObjectFromCsekToKms( + kmsKeyName + " instead of a customer-supplied encryption key"); } -} +}} // [END storage_object_csek_to_cmek] diff --git a/samples/snippets/src/main/java/com/example/storage/object/ChangeObjectStorageClass.java b/samples/snippets/src/main/java/com/example/storage/object/ChangeObjectStorageClass.java index 4e2d78d68e..0c5865a1d4 100644 --- a/samples/snippets/src/main/java/com/example/storage/object/ChangeObjectStorageClass.java +++ b/samples/snippets/src/main/java/com/example/storage/object/ChangeObjectStorageClass.java @@ -26,7 +26,7 @@ public class ChangeObjectStorageClass { public static void changeObjectStorageClass( - String projectId, String bucketName, String objectName) { + String projectId, String bucketName, String objectName) throws Exception { // The ID of your GCP project // String projectId = "your-project-id"; @@ -36,7 +36,7 @@ public static void changeObjectStorageClass( // The ID of your GCS object // String objectName = "your-object-name"; - Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService(); + try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { BlobId blobId = BlobId.of(bucketName, objectName); Blob sourceBlob = storage.get(blobId); if (sourceBlob == null) { @@ -75,5 +75,5 @@ public static void changeObjectStorageClass( + " had its storage class set to " + updatedBlob.getStorageClass().name()); } -} +}} // [END storage_change_file_storage_class] diff --git a/samples/snippets/src/main/java/com/example/storage/object/ComposeObject.java b/samples/snippets/src/main/java/com/example/storage/object/ComposeObject.java index a1707ce26c..d83b397124 100644 --- a/samples/snippets/src/main/java/com/example/storage/object/ComposeObject.java +++ b/samples/snippets/src/main/java/com/example/storage/object/ComposeObject.java @@ -28,7 +28,7 @@ public static void composeObject( String firstObjectName, String secondObjectName, String targetObjectName, - String projectId) { + String projectId) throws Exception { // The ID of your GCP project // String projectId = "your-project-id"; @@ -44,7 +44,7 @@ public static void composeObject( // The ID to give the new composite object // String targetObjectName = "new-composite-object-name"; - Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService(); + try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { // Optional: set a generation-match precondition to avoid potential race // conditions and data corruptions. The request returns a 412 error if the @@ -82,5 +82,5 @@ public static void composeObject( + " and " + secondObjectName); } -} +}} // [END storage_compose_file] diff --git a/samples/snippets/src/main/java/com/example/storage/object/CopyDeleteObject.java b/samples/snippets/src/main/java/com/example/storage/object/CopyDeleteObject.java index 5caa756053..7dfae8a6fd 100644 --- a/samples/snippets/src/main/java/com/example/storage/object/CopyDeleteObject.java +++ b/samples/snippets/src/main/java/com/example/storage/object/CopyDeleteObject.java @@ -30,7 +30,7 @@ public static void copyDeleteObject( String sourceBucketName, String sourceObjectName, String targetBucketName, - String targetObjectName) { + String targetObjectName) throws Exception { // The ID of your GCP project // String projectId = "your-project-id"; @@ -46,7 +46,7 @@ public static void copyDeleteObject( // The ID of your GCS object // String targetObjectName = "your-new-object-name"; - Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService(); + try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { BlobId source = BlobId.of(sourceBucketName, sourceObjectName); BlobId target = BlobId.of(targetBucketName, targetObjectName); @@ -84,5 +84,5 @@ public static void copyDeleteObject( + " in bucket " + copiedObject.getBucket()); } -} +}} // [END storage_move_file] diff --git a/samples/snippets/src/main/java/com/example/storage/object/CopyOldVersionOfObject.java b/samples/snippets/src/main/java/com/example/storage/object/CopyOldVersionOfObject.java index 0c227ad1ab..198d72bb28 100644 --- a/samples/snippets/src/main/java/com/example/storage/object/CopyOldVersionOfObject.java +++ b/samples/snippets/src/main/java/com/example/storage/object/CopyOldVersionOfObject.java @@ -27,7 +27,7 @@ public static void copyOldVersionOfObject( String bucketName, String objectToCopy, long generationToCopy, - String newObjectName) { + String newObjectName) throws Exception { // The ID of your GCP project // String projectId = "your-project-id"; @@ -43,7 +43,7 @@ public static void copyOldVersionOfObject( // What to name the new object with the old data from objectToCopy // String newObjectName = "your-new-object"; - Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService(); + try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { // Optional: set a generation-match precondition to avoid potential race // conditions and data corruptions. The request returns a 412 error if the @@ -79,5 +79,5 @@ public static void copyOldVersionOfObject( + " was copied to " + newObjectName); } -} +}} // [END storage_copy_file_archived_generation] diff --git a/samples/snippets/src/main/java/com/example/storage/object/DeleteObject.java b/samples/snippets/src/main/java/com/example/storage/object/DeleteObject.java index 3e8d7d331f..537b523ced 100644 --- a/samples/snippets/src/main/java/com/example/storage/object/DeleteObject.java +++ b/samples/snippets/src/main/java/com/example/storage/object/DeleteObject.java @@ -23,7 +23,8 @@ import com.google.cloud.storage.StorageOptions; public class DeleteObject { - public static void deleteObject(String projectId, String bucketName, String objectName) { + public static void deleteObject(String projectId, String bucketName, String objectName) + throws Exception { // The ID of your GCP project // String projectId = "your-project-id"; @@ -33,7 +34,7 @@ public static void deleteObject(String projectId, String bucketName, String obje // The ID of your GCS object // String objectName = "your-object-name"; - Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService(); + try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { Blob blob = storage.get(bucketName, objectName); if (blob == null) { System.out.println("The object " + objectName + " wasn't found in " + bucketName); @@ -53,5 +54,5 @@ public static void deleteObject(String projectId, String bucketName, String obje System.out.println("Object " + objectName + " was permanently deleted from " + bucketName); } -} +}} // [END storage_delete_file] diff --git a/samples/snippets/src/main/java/com/example/storage/object/DeleteOldVersionOfObject.java b/samples/snippets/src/main/java/com/example/storage/object/DeleteOldVersionOfObject.java index 5c0d6e1f7b..5d99e9f05a 100644 --- a/samples/snippets/src/main/java/com/example/storage/object/DeleteOldVersionOfObject.java +++ b/samples/snippets/src/main/java/com/example/storage/object/DeleteOldVersionOfObject.java @@ -23,7 +23,8 @@ public class DeleteOldVersionOfObject { public static void deleteOldVersionOfObject( - String projectId, String bucketName, String objectName, long generationToDelete) { + String projectId, String bucketName, String objectName, long generationToDelete) + throws Exception { // The ID of your GCP project // String projectId = "your-project-id"; @@ -36,7 +37,7 @@ public static void deleteOldVersionOfObject( // The generation of objectName to delete // long generationToDelete = 1579287380533984; - Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService(); + try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { storage.delete(BlobId.of(bucketName, objectName, generationToDelete)); System.out.println( @@ -47,5 +48,5 @@ public static void deleteOldVersionOfObject( + " was deleted from " + bucketName); } -} +}} // [END storage_delete_file_archived_generation] diff --git a/samples/snippets/src/main/java/com/example/storage/object/DownloadByteRange.java b/samples/snippets/src/main/java/com/example/storage/object/DownloadByteRange.java index e64bbb7c80..1b6076739e 100644 --- a/samples/snippets/src/main/java/com/example/storage/object/DownloadByteRange.java +++ b/samples/snippets/src/main/java/com/example/storage/object/DownloadByteRange.java @@ -23,7 +23,6 @@ import com.google.cloud.storage.Storage; import com.google.cloud.storage.StorageOptions; import com.google.common.io.ByteStreams; -import java.io.IOException; import java.nio.channels.FileChannel; import java.nio.file.Paths; import java.nio.file.StandardOpenOption; @@ -37,7 +36,7 @@ public static void downloadByteRange( long startByte, long endBytes, String destFileName) - throws IOException { + throws Exception { // The ID of your GCP project // String projectId = "your-project-id"; @@ -56,7 +55,7 @@ public static void downloadByteRange( // The path to which the file should be downloaded // String destFileName = '/local/path/to/file.txt'; - Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService(); + try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { BlobId blobId = BlobId.of(bucketName, blobName); try (ReadChannel from = storage.reader(blobId); FileChannel to = FileChannel.open(Paths.get(destFileName), StandardOpenOption.WRITE)) { @@ -70,5 +69,5 @@ public static void downloadByteRange( blobId.toGsUtilUri(), destFileName, startByte, endBytes); } } -} +}} // [END storage_download_byte_range] diff --git a/samples/snippets/src/main/java/com/example/storage/object/DownloadEncryptedObject.java b/samples/snippets/src/main/java/com/example/storage/object/DownloadEncryptedObject.java index 5fd72e75f1..a9708fbf94 100644 --- a/samples/snippets/src/main/java/com/example/storage/object/DownloadEncryptedObject.java +++ b/samples/snippets/src/main/java/com/example/storage/object/DownloadEncryptedObject.java @@ -21,7 +21,6 @@ import com.google.cloud.storage.Blob; import com.google.cloud.storage.Storage; import com.google.cloud.storage.StorageOptions; -import java.io.IOException; import java.nio.file.Path; public class DownloadEncryptedObject { @@ -31,7 +30,7 @@ public static void downloadEncryptedObject( String objectName, Path destFilePath, String decryptionKey) - throws IOException { + throws Exception { // The ID of your GCP project // String projectId = "your-project-id"; @@ -49,7 +48,7 @@ public static void downloadEncryptedObject( // the object // String decryptionKey = "TIbv/fjexq+VmtXzAlc63J4z5kFmWJ6NdAPQulQBT7g="; - Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService(); + try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { Blob blob = storage.get(bucketName, objectName); blob.downloadTo(destFilePath, Blob.BlobSourceOption.decryptionKey(decryptionKey)); @@ -63,5 +62,5 @@ public static void downloadEncryptedObject( + destFilePath + " using customer-supplied encryption key"); } -} +}} // [END storage_download_encrypted_file] diff --git a/samples/snippets/src/main/java/com/example/storage/object/DownloadObjectIntoMemory.java b/samples/snippets/src/main/java/com/example/storage/object/DownloadObjectIntoMemory.java index 57d1efc72d..7f845e13f0 100644 --- a/samples/snippets/src/main/java/com/example/storage/object/DownloadObjectIntoMemory.java +++ b/samples/snippets/src/main/java/com/example/storage/object/DownloadObjectIntoMemory.java @@ -24,7 +24,7 @@ public class DownloadObjectIntoMemory { public static void downloadObjectIntoMemory( - String projectId, String bucketName, String objectName) { + String projectId, String bucketName, String objectName) throws Exception { // The ID of your GCP project // String projectId = "your-project-id"; @@ -34,7 +34,7 @@ public static void downloadObjectIntoMemory( // The ID of your GCS object // String objectName = "your-object-name"; - Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService(); + try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { byte[] content = storage.readAllBytes(bucketName, objectName); System.out.println( "The contents of " @@ -44,5 +44,5 @@ public static void downloadObjectIntoMemory( + " are: " + new String(content, StandardCharsets.UTF_8)); } -} +}} // [END storage_file_download_into_memory] diff --git a/samples/snippets/src/main/java/com/example/storage/object/DownloadPublicObject.java b/samples/snippets/src/main/java/com/example/storage/object/DownloadPublicObject.java index feb966b1e0..5cfdcfd3be 100644 --- a/samples/snippets/src/main/java/com/example/storage/object/DownloadPublicObject.java +++ b/samples/snippets/src/main/java/com/example/storage/object/DownloadPublicObject.java @@ -25,7 +25,7 @@ public class DownloadPublicObject { public static void downloadPublicObject( - String bucketName, String publicObjectName, Path destFilePath) { + String bucketName, String publicObjectName, Path destFilePath) throws Exception { // The name of the bucket to access // String bucketName = "my-bucket"; @@ -36,17 +36,17 @@ public static void downloadPublicObject( // Path destFilePath = Paths.get("/local/path/to/file.txt"); // Instantiate an anonymous Google Cloud Storage client, which can only access public files - Storage storage = StorageOptions.getUnauthenticatedInstance().getService(); - - storage.downloadTo(BlobId.of(bucketName, publicObjectName), destFilePath); - - System.out.println( - "Downloaded public object " - + publicObjectName - + " from bucket name " - + bucketName - + " to " - + destFilePath); - } + try (Storage storage = StorageOptions.getUnauthenticatedInstance().getService()) { + + storage.downloadTo(BlobId.of(bucketName, publicObjectName), destFilePath); + + System.out.println( + "Downloaded public object " + + publicObjectName + + " from bucket name " + + bucketName + + " to " + + destFilePath); + }} } // [END storage_download_public_file] diff --git a/samples/snippets/src/main/java/com/example/storage/object/DownloadRequesterPaysObject.java b/samples/snippets/src/main/java/com/example/storage/object/DownloadRequesterPaysObject.java index 83d993853d..9ef962a62a 100644 --- a/samples/snippets/src/main/java/com/example/storage/object/DownloadRequesterPaysObject.java +++ b/samples/snippets/src/main/java/com/example/storage/object/DownloadRequesterPaysObject.java @@ -26,7 +26,7 @@ public class DownloadRequesterPaysObject { public static void downloadRequesterPaysObject( - String projectId, String bucketName, String objectName, Path destFilePath) { + String projectId, String bucketName, String objectName, Path destFilePath) throws Exception { // The project ID to bill // String projectId = "my-billable-project-id"; @@ -39,7 +39,7 @@ public static void downloadRequesterPaysObject( // The path to which the file should be downloaded // Path destFilePath = Paths.get("/local/path/to/file.txt"); - Storage storage = StorageOptions.getDefaultInstance().getService(); + try (Storage storage = StorageOptions.getDefaultInstance().getService()) { Blob blob = storage.get( BlobId.of(bucketName, objectName), Storage.BlobGetOption.userProject(projectId)); @@ -48,5 +48,6 @@ public static void downloadRequesterPaysObject( System.out.println( "Object " + objectName + " downloaded to " + destFilePath + " and billed to " + projectId); } + } } // [END storage_download_file_requester_pays] diff --git a/samples/snippets/src/main/java/com/example/storage/object/GenerateV4GetObjectSignedUrl.java b/samples/snippets/src/main/java/com/example/storage/object/GenerateV4GetObjectSignedUrl.java index eed58bcccf..c5bd35ee8d 100644 --- a/samples/snippets/src/main/java/com/example/storage/object/GenerateV4GetObjectSignedUrl.java +++ b/samples/snippets/src/main/java/com/example/storage/object/GenerateV4GetObjectSignedUrl.java @@ -21,7 +21,6 @@ import com.google.cloud.storage.BlobId; import com.google.cloud.storage.BlobInfo; import com.google.cloud.storage.Storage; -import com.google.cloud.storage.StorageException; import com.google.cloud.storage.StorageOptions; import java.net.URL; import java.util.concurrent.TimeUnit; @@ -38,12 +37,12 @@ public class GenerateV4GetObjectSignedUrl { * details. */ public static void generateV4GetObjectSignedUrl( - String projectId, String bucketName, String objectName) throws StorageException { + String projectId, String bucketName, String objectName) throws Exception { // String projectId = "my-project-id"; // String bucketName = "my-bucket"; // String objectName = "my-object"; - Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService(); + try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { // Define resource BlobInfo blobInfo = BlobInfo.newBuilder(BlobId.of(bucketName, objectName)).build(); @@ -56,5 +55,5 @@ public static void generateV4GetObjectSignedUrl( System.out.println("You can use this URL with any user agent, for example:"); System.out.println("curl '" + url + "'"); } -} +}} // [END storage_generate_signed_url_v4] diff --git a/samples/snippets/src/main/java/com/example/storage/object/GenerateV4PutObjectSignedUrl.java b/samples/snippets/src/main/java/com/example/storage/object/GenerateV4PutObjectSignedUrl.java index c51b96d01b..455560b03c 100644 --- a/samples/snippets/src/main/java/com/example/storage/object/GenerateV4PutObjectSignedUrl.java +++ b/samples/snippets/src/main/java/com/example/storage/object/GenerateV4PutObjectSignedUrl.java @@ -22,7 +22,6 @@ import com.google.cloud.storage.BlobInfo; import com.google.cloud.storage.HttpMethod; import com.google.cloud.storage.Storage; -import com.google.cloud.storage.StorageException; import com.google.cloud.storage.StorageOptions; import java.net.URL; import java.util.HashMap; @@ -41,12 +40,12 @@ public class GenerateV4PutObjectSignedUrl { * details. */ public static void generateV4PutObjectSignedUrl( - String projectId, String bucketName, String objectName) throws StorageException { + String projectId, String bucketName, String objectName) throws Exception { // String projectId = "my-project-id"; // String bucketName = "my-bucket"; // String objectName = "my-object"; - Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService(); + try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { // Define Resource BlobInfo blobInfo = BlobInfo.newBuilder(BlobId.of(bucketName, objectName)).build(); @@ -72,5 +71,5 @@ public static void generateV4PutObjectSignedUrl( + url + "'"); } -} +}} // [END storage_generate_upload_signed_url_v4] diff --git a/samples/snippets/src/main/java/com/example/storage/object/GetObjectMetadata.java b/samples/snippets/src/main/java/com/example/storage/object/GetObjectMetadata.java index 4b6eb42ecc..8fb2fdb31f 100644 --- a/samples/snippets/src/main/java/com/example/storage/object/GetObjectMetadata.java +++ b/samples/snippets/src/main/java/com/example/storage/object/GetObjectMetadata.java @@ -20,14 +20,13 @@ import com.google.cloud.storage.Blob; import com.google.cloud.storage.Storage; -import com.google.cloud.storage.StorageException; import com.google.cloud.storage.StorageOptions; import java.util.Date; import java.util.Map; public class GetObjectMetadata { public static void getObjectMetadata(String projectId, String bucketName, String blobName) - throws StorageException { + throws Exception { // The ID of your GCP project // String projectId = "your-project-id"; @@ -37,7 +36,7 @@ public static void getObjectMetadata(String projectId, String bucketName, String // The ID of your GCS object // String objectName = "your-object-name"; - Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService(); + try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { // Select all fields // Fields can be selected individually e.g. Storage.BlobField.CACHE_CONTROL @@ -84,5 +83,5 @@ public static void getObjectMetadata(String projectId, String bucketName, String } } } -} +}} // [END storage_get_metadata] diff --git a/samples/snippets/src/main/java/com/example/storage/object/ListObjects.java b/samples/snippets/src/main/java/com/example/storage/object/ListObjects.java index c9eebfafe2..9bb5baa13f 100644 --- a/samples/snippets/src/main/java/com/example/storage/object/ListObjects.java +++ b/samples/snippets/src/main/java/com/example/storage/object/ListObjects.java @@ -23,19 +23,19 @@ import com.google.cloud.storage.StorageOptions; public class ListObjects { - public static void listObjects(String projectId, String bucketName) { + public static void listObjects(String projectId, String bucketName) throws Exception { // The ID of your GCP project // String projectId = "your-project-id"; // The ID of your GCS bucket // String bucketName = "your-unique-bucket-name"; - Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService(); + try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { Page blobs = storage.list(bucketName); for (Blob blob : blobs.iterateAll()) { System.out.println(blob.getName()); } } -} +}} // [END storage_list_files] diff --git a/samples/snippets/src/main/java/com/example/storage/object/ListObjectsWithOldVersions.java b/samples/snippets/src/main/java/com/example/storage/object/ListObjectsWithOldVersions.java index 093942c7fd..975b86574b 100644 --- a/samples/snippets/src/main/java/com/example/storage/object/ListObjectsWithOldVersions.java +++ b/samples/snippets/src/main/java/com/example/storage/object/ListObjectsWithOldVersions.java @@ -24,13 +24,14 @@ import com.google.cloud.storage.StorageOptions; public class ListObjectsWithOldVersions { - public static void listObjectsWithOldVersions(String projectId, String bucketName) { + public static void listObjectsWithOldVersions(String projectId, String bucketName) + throws Exception { // The ID of your GCP project // String projectId = "your-project-id"; // The ID of your GCS bucket // String bucketName = "your-unique-bucket-name"; - Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService(); + try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { Bucket bucket = storage.get(bucketName); Page blobs = bucket.list(Storage.BlobListOption.versions(true)); @@ -38,5 +39,5 @@ public static void listObjectsWithOldVersions(String projectId, String bucketNam System.out.println(blob.getName() + "," + blob.getGeneration()); } } -} +}} // [END storage_list_file_archived_generations] diff --git a/samples/snippets/src/main/java/com/example/storage/object/ListObjectsWithPrefix.java b/samples/snippets/src/main/java/com/example/storage/object/ListObjectsWithPrefix.java index 3a9f564a9c..eaf5c66662 100644 --- a/samples/snippets/src/main/java/com/example/storage/object/ListObjectsWithPrefix.java +++ b/samples/snippets/src/main/java/com/example/storage/object/ListObjectsWithPrefix.java @@ -24,7 +24,7 @@ public class ListObjectsWithPrefix { public static void listObjectsWithPrefix( - String projectId, String bucketName, String directoryPrefix) { + String projectId, String bucketName, String directoryPrefix) throws Exception { // The ID of your GCP project // String projectId = "your-project-id"; @@ -34,7 +34,7 @@ public static void listObjectsWithPrefix( // The directory prefix to search for // String directoryPrefix = "myDirectory/" - Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService(); + try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { /** * Using the Storage.BlobListOption.currentDirectory() option here causes the results to display * in a "directory-like" mode, showing what objects are in the directory you've specified, as @@ -65,5 +65,5 @@ public static void listObjectsWithPrefix( System.out.println(blob.getName()); } } -} +}} // [END storage_list_files_with_prefix] diff --git a/samples/snippets/src/main/java/com/example/storage/object/ListSoftDeletedObjects.java b/samples/snippets/src/main/java/com/example/storage/object/ListSoftDeletedObjects.java index eb3b5d158b..d6fc501c18 100644 --- a/samples/snippets/src/main/java/com/example/storage/object/ListSoftDeletedObjects.java +++ b/samples/snippets/src/main/java/com/example/storage/object/ListSoftDeletedObjects.java @@ -23,19 +23,19 @@ import com.google.cloud.storage.StorageOptions; public class ListSoftDeletedObjects { - public static void listSoftDeletedObjects(String projectId, String bucketName) { + public static void listSoftDeletedObjects(String projectId, String bucketName) throws Exception { // The ID of your GCP project // String projectId = "your-project-id"; // The ID of your GCS bucket // String bucketName = "your-unique-bucket-name"; - Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService(); + try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { Page blobs = storage.list(bucketName, Storage.BlobListOption.softDeleted(true)); for (Blob blob : blobs.iterateAll()) { System.out.println(blob.getName()); } } -} +}} // [END storage_list_soft_deleted_objects] diff --git a/samples/snippets/src/main/java/com/example/storage/object/ListSoftDeletedVersionsOfObject.java b/samples/snippets/src/main/java/com/example/storage/object/ListSoftDeletedVersionsOfObject.java index 87532cdc8e..31931d7bde 100644 --- a/samples/snippets/src/main/java/com/example/storage/object/ListSoftDeletedVersionsOfObject.java +++ b/samples/snippets/src/main/java/com/example/storage/object/ListSoftDeletedVersionsOfObject.java @@ -25,7 +25,7 @@ public class ListSoftDeletedVersionsOfObject { public static void listSoftDeletedVersionOfObject( - String projectId, String bucketName, String objectName) { + String projectId, String bucketName, String objectName) throws Exception { // The ID of your GCP project // String projectId = "your-project-id"; @@ -35,7 +35,7 @@ public static void listSoftDeletedVersionOfObject( // The name of your GCS object // String objectName = "your-object-name"; - Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService(); + try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { Page blobs = storage.list( bucketName, @@ -47,5 +47,5 @@ public static void listSoftDeletedVersionOfObject( System.out.println(blob.getName()); } } -} +}} // [END storage_list_soft_deleted_object_versions] diff --git a/samples/snippets/src/main/java/com/example/storage/object/MakeObjectPublic.java b/samples/snippets/src/main/java/com/example/storage/object/MakeObjectPublic.java index 245c030a6b..938c997882 100644 --- a/samples/snippets/src/main/java/com/example/storage/object/MakeObjectPublic.java +++ b/samples/snippets/src/main/java/com/example/storage/object/MakeObjectPublic.java @@ -23,16 +23,17 @@ import com.google.cloud.storage.StorageOptions; public class MakeObjectPublic { - public static void makeObjectPublic(String projectId, String bucketName, String objectName) { + public static void makeObjectPublic(String projectId, String bucketName, String objectName) + throws Exception { // String projectId = "your-project-id"; // String bucketName = "your-bucket-name"; // String objectName = "your-object-name"; - Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService(); + try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { BlobId blobId = BlobId.of(bucketName, objectName); storage.createAcl(blobId, Acl.of(Acl.User.ofAllUsers(), Acl.Role.READER)); System.out.println( "Object " + objectName + " in bucket " + bucketName + " was made publicly readable"); } -} +}} // [END storage_make_public] diff --git a/samples/snippets/src/main/java/com/example/storage/object/PrintBlobAcl.java b/samples/snippets/src/main/java/com/example/storage/object/PrintBlobAcl.java index 34089a56f9..1d9f291e9d 100644 --- a/samples/snippets/src/main/java/com/example/storage/object/PrintBlobAcl.java +++ b/samples/snippets/src/main/java/com/example/storage/object/PrintBlobAcl.java @@ -27,7 +27,7 @@ public class PrintBlobAcl { - public static void printBlobAcl(String bucketName, String blobName) { + public static void printBlobAcl(String bucketName, String blobName) throws Exception { // The ID to give your GCS bucket // String bucketName = "your-unique-bucket-name"; @@ -35,22 +35,22 @@ public static void printBlobAcl(String bucketName, String blobName) { // The name of the blob/file that you wish to view Acls of // String blobName = "your-blob-name"; - Storage storage = StorageOptions.newBuilder().build().getService(); - Blob blob = storage.get(BlobId.of(bucketName, blobName)); - List blobAcls = blob.getAcl(); + try (Storage storage = StorageOptions.newBuilder().build().getService()) { + Blob blob = storage.get(BlobId.of(bucketName, blobName)); + List blobAcls = blob.getAcl(); - for (Acl acl : blobAcls) { + for (Acl acl : blobAcls) { - // This will give you the role. - // See https://cloud.google.com/storage/docs/access-control/lists#permissions - String role = acl.getRole().name(); + // This will give you the role. + // See https://cloud.google.com/storage/docs/access-control/lists#permissions + String role = acl.getRole().name(); - // This will give you the Entity type (i.e. User, Group, Project etc.) - // See https://cloud.google.com/storage/docs/access-control/lists#scopes - String entityType = acl.getEntity().getType().name(); + // This will give you the Entity type (i.e. User, Group, Project etc.) + // See https://cloud.google.com/storage/docs/access-control/lists#scopes + String entityType = acl.getEntity().getType().name(); - System.out.printf("%s: %s %n", role, entityType); - } - } + System.out.printf("%s: %s %n", role, entityType); + } + }} } // [END storage_print_file_acl] diff --git a/samples/snippets/src/main/java/com/example/storage/object/ReleaseEventBasedHold.java b/samples/snippets/src/main/java/com/example/storage/object/ReleaseEventBasedHold.java index 6ce3e13379..1995887251 100644 --- a/samples/snippets/src/main/java/com/example/storage/object/ReleaseEventBasedHold.java +++ b/samples/snippets/src/main/java/com/example/storage/object/ReleaseEventBasedHold.java @@ -21,12 +21,11 @@ import com.google.cloud.storage.Blob; import com.google.cloud.storage.BlobId; import com.google.cloud.storage.Storage; -import com.google.cloud.storage.StorageException; import com.google.cloud.storage.StorageOptions; public class ReleaseEventBasedHold { public static void releaseEventBasedHold(String projectId, String bucketName, String objectName) - throws StorageException { + throws Exception { // The ID of your GCP project // String projectId = "your-project-id"; @@ -36,7 +35,7 @@ public static void releaseEventBasedHold(String projectId, String bucketName, St // The ID of your GCS object // String objectName = "your-object-name"; - Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService(); + try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { BlobId blobId = BlobId.of(bucketName, objectName); Blob blob = storage.get(blobId); if (blob == null) { @@ -53,5 +52,5 @@ public static void releaseEventBasedHold(String projectId, String bucketName, St System.out.println("Event-based hold was released for " + objectName); } -} +}} // [END storage_release_event_based_hold] diff --git a/samples/snippets/src/main/java/com/example/storage/object/ReleaseTemporaryHold.java b/samples/snippets/src/main/java/com/example/storage/object/ReleaseTemporaryHold.java index eae54db368..d8c01c1e85 100644 --- a/samples/snippets/src/main/java/com/example/storage/object/ReleaseTemporaryHold.java +++ b/samples/snippets/src/main/java/com/example/storage/object/ReleaseTemporaryHold.java @@ -21,12 +21,11 @@ import com.google.cloud.storage.Blob; import com.google.cloud.storage.BlobId; import com.google.cloud.storage.Storage; -import com.google.cloud.storage.StorageException; import com.google.cloud.storage.StorageOptions; public class ReleaseTemporaryHold { public static void releaseTemporaryHold(String projectId, String bucketName, String objectName) - throws StorageException { + throws Exception { // The ID of your GCP project // String projectId = "your-project-id"; @@ -36,7 +35,7 @@ public static void releaseTemporaryHold(String projectId, String bucketName, Str // The ID of your GCS object // String objectName = "your-object-name"; - Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService(); + try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { BlobId blobId = BlobId.of(bucketName, objectName); Blob blob = storage.get(blobId); @@ -54,5 +53,5 @@ public static void releaseTemporaryHold(String projectId, String bucketName, Str System.out.println("Temporary hold was released for " + objectName); } -} +}} // [END storage_release_temporary_hold] diff --git a/samples/snippets/src/main/java/com/example/storage/object/RemoveBlobOwner.java b/samples/snippets/src/main/java/com/example/storage/object/RemoveBlobOwner.java index ecbb0e41df..fab23a7fa4 100644 --- a/samples/snippets/src/main/java/com/example/storage/object/RemoveBlobOwner.java +++ b/samples/snippets/src/main/java/com/example/storage/object/RemoveBlobOwner.java @@ -27,7 +27,7 @@ public class RemoveBlobOwner { public static void removeBlobOwner( - String projectId, String bucketName, String userEmail, String blobName) { + String projectId, String bucketName, String userEmail, String blobName) throws Exception { // The ID of your GCP project // String projectId = "your-project-id"; @@ -40,7 +40,7 @@ public static void removeBlobOwner( // The name of the blob/file that you wish to modify permissions on // String blobName = "your-blob-name"; - Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService(); + try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { Blob blob = storage.get(BlobId.of(bucketName, blobName)); User ownerToRemove = new User(userEmail); @@ -57,5 +57,5 @@ public static void removeBlobOwner( System.out.println("User " + userEmail + " was not found"); } } -} +}} // [END storage_remove_file_owner] diff --git a/samples/snippets/src/main/java/com/example/storage/object/RestoreSoftDeletedObject.java b/samples/snippets/src/main/java/com/example/storage/object/RestoreSoftDeletedObject.java index 86f09a39ec..220c77df3a 100644 --- a/samples/snippets/src/main/java/com/example/storage/object/RestoreSoftDeletedObject.java +++ b/samples/snippets/src/main/java/com/example/storage/object/RestoreSoftDeletedObject.java @@ -24,7 +24,7 @@ public class RestoreSoftDeletedObject { public static void restoreSoftDeletedObject( - String projectId, String bucketName, String objectName, long generation) { + String projectId, String bucketName, String objectName, long generation) throws Exception { // The ID of your GCP project // String projectId = "your-project-id"; @@ -34,10 +34,10 @@ public static void restoreSoftDeletedObject( // The name of your GCS object // String objectName = "your-object-name"; - Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService(); + try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { Blob blob = storage.restore(BlobId.of(bucketName, objectName, generation)); System.out.println("Restored previously soft-deleted object " + blob.getName()); } -} +}} // [END storage_restore_object] diff --git a/samples/snippets/src/main/java/com/example/storage/object/RotateObjectEncryptionKey.java b/samples/snippets/src/main/java/com/example/storage/object/RotateObjectEncryptionKey.java index 3fbd8c5e56..8f9ff35b7c 100644 --- a/samples/snippets/src/main/java/com/example/storage/object/RotateObjectEncryptionKey.java +++ b/samples/snippets/src/main/java/com/example/storage/object/RotateObjectEncryptionKey.java @@ -28,7 +28,7 @@ public static void rotateObjectEncryptionKey( String bucketName, String objectName, String oldEncryptionKey, - String newEncryptionKey) { + String newEncryptionKey) throws Exception { // The ID of your GCP project // String projectId = "your-project-id"; @@ -47,7 +47,7 @@ public static void rotateObjectEncryptionKey( // The new encryption key to use // String newEncryptionKey = "0mMWhFvQOdS4AmxRpo8SJxXn5MjFhbz7DkKBUdUIef8=" - Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService(); + try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { BlobId blobId = BlobId.of(bucketName, objectName); Blob blob = storage.get(blobId); if (blob == null) { @@ -74,5 +74,5 @@ public static void rotateObjectEncryptionKey( System.out.println( "Rotated encryption key for object " + objectName + "in bucket " + bucketName); } -} +}} // [END storage_rotate_encryption_key] diff --git a/samples/snippets/src/main/java/com/example/storage/object/SetEventBasedHold.java b/samples/snippets/src/main/java/com/example/storage/object/SetEventBasedHold.java index c0f8f088d4..95b513d5a4 100644 --- a/samples/snippets/src/main/java/com/example/storage/object/SetEventBasedHold.java +++ b/samples/snippets/src/main/java/com/example/storage/object/SetEventBasedHold.java @@ -21,12 +21,11 @@ import com.google.cloud.storage.Blob; import com.google.cloud.storage.BlobId; import com.google.cloud.storage.Storage; -import com.google.cloud.storage.StorageException; import com.google.cloud.storage.StorageOptions; public class SetEventBasedHold { public static void setEventBasedHold(String projectId, String bucketName, String objectName) - throws StorageException { + throws Exception { // The ID of your GCP project // String projectId = "your-project-id"; @@ -36,7 +35,7 @@ public static void setEventBasedHold(String projectId, String bucketName, String // The ID of your GCS object // String objectName = "your-object-name"; - Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService(); + try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { BlobId blobId = BlobId.of(bucketName, objectName); Blob blob = storage.get(blobId); if (blob == null) { @@ -53,5 +52,5 @@ public static void setEventBasedHold(String projectId, String bucketName, String System.out.println("Event-based hold was set for " + objectName); } -} +}} // [END storage_set_event_based_hold] diff --git a/samples/snippets/src/main/java/com/example/storage/object/SetObjectMetadata.java b/samples/snippets/src/main/java/com/example/storage/object/SetObjectMetadata.java index ae05011e8e..7d90ab35be 100644 --- a/samples/snippets/src/main/java/com/example/storage/object/SetObjectMetadata.java +++ b/samples/snippets/src/main/java/com/example/storage/object/SetObjectMetadata.java @@ -27,7 +27,8 @@ import java.util.Map; public class SetObjectMetadata { - public static void setObjectMetadata(String projectId, String bucketName, String objectName) { + public static void setObjectMetadata(String projectId, String bucketName, String objectName) + throws Exception { // The ID of your GCP project // String projectId = "your-project-id"; @@ -37,7 +38,7 @@ public static void setObjectMetadata(String projectId, String bucketName, String // The ID of your GCS object // String objectName = "your-object-name"; - Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService(); + try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { Map newMetadata = new HashMap<>(); newMetadata.put("keyToAddOrUpdate", "value"); BlobId blobId = BlobId.of(bucketName, objectName); @@ -60,5 +61,5 @@ public static void setObjectMetadata(String projectId, String bucketName, String System.out.println( "Updated custom metadata for object " + objectName + " in bucket " + bucketName); } -} +}} // [END storage_set_metadata] diff --git a/samples/snippets/src/main/java/com/example/storage/object/SetObjectRetentionPolicy.java b/samples/snippets/src/main/java/com/example/storage/object/SetObjectRetentionPolicy.java index 6903445af0..1199e04415 100644 --- a/samples/snippets/src/main/java/com/example/storage/object/SetObjectRetentionPolicy.java +++ b/samples/snippets/src/main/java/com/example/storage/object/SetObjectRetentionPolicy.java @@ -24,12 +24,11 @@ import com.google.cloud.storage.BlobId; import com.google.cloud.storage.BlobInfo.Retention; import com.google.cloud.storage.Storage; -import com.google.cloud.storage.StorageException; import com.google.cloud.storage.StorageOptions; public class SetObjectRetentionPolicy { public static void setObjectRetentionPolicy( - String projectId, String bucketName, String objectName) throws StorageException { + String projectId, String bucketName, String objectName) throws Exception { // The ID of your GCP project // String projectId = "your-project-id"; @@ -39,7 +38,7 @@ public static void setObjectRetentionPolicy( // The ID of your GCS object // String objectName = "your-object-name"; - Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService(); + try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { BlobId blobId = BlobId.of(bucketName, objectName); Blob blob = storage.get(blobId); if (blob == null) { @@ -70,6 +69,6 @@ public static void setObjectRetentionPolicy( System.out.println("Retention policy for object " + objectName + " was updated to:"); System.out.println(storage.get(blobId).getRetention().toString()); } -} +}} // [END storage_set_object_retention_policy] diff --git a/samples/snippets/src/main/java/com/example/storage/object/SetTemporaryHold.java b/samples/snippets/src/main/java/com/example/storage/object/SetTemporaryHold.java index c22de2f390..ac4e2299a0 100644 --- a/samples/snippets/src/main/java/com/example/storage/object/SetTemporaryHold.java +++ b/samples/snippets/src/main/java/com/example/storage/object/SetTemporaryHold.java @@ -21,12 +21,11 @@ import com.google.cloud.storage.Blob; import com.google.cloud.storage.BlobId; import com.google.cloud.storage.Storage; -import com.google.cloud.storage.StorageException; import com.google.cloud.storage.StorageOptions; public class SetTemporaryHold { public static void setTemporaryHold(String projectId, String bucketName, String objectName) - throws StorageException { + throws Exception { // The ID of your GCP project // String projectId = "your-project-id"; @@ -36,7 +35,7 @@ public static void setTemporaryHold(String projectId, String bucketName, String // The ID of your GCS object // String objectName = "your-object-name"; - Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService(); + try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { BlobId blobId = BlobId.of(bucketName, objectName); Blob blob = storage.get(blobId); if (blob == null) { @@ -53,5 +52,5 @@ public static void setTemporaryHold(String projectId, String bucketName, String System.out.println("Temporary hold was set for " + objectName); } -} +}} // [END storage_set_temporary_hold] diff --git a/samples/snippets/src/main/java/com/example/storage/object/StreamObjectDownload.java b/samples/snippets/src/main/java/com/example/storage/object/StreamObjectDownload.java index 4dd38bafd1..f7c94f914b 100644 --- a/samples/snippets/src/main/java/com/example/storage/object/StreamObjectDownload.java +++ b/samples/snippets/src/main/java/com/example/storage/object/StreamObjectDownload.java @@ -23,7 +23,6 @@ import com.google.cloud.storage.Storage; import com.google.cloud.storage.StorageOptions; import com.google.common.io.ByteStreams; -import java.io.IOException; import java.nio.channels.FileChannel; import java.nio.file.Path; import java.nio.file.Paths; @@ -33,7 +32,7 @@ public class StreamObjectDownload { public static void streamObjectDownload( String projectId, String bucketName, String objectName, String targetFile) - throws IOException { + throws Exception { // The ID of your GCP project // String projectId = "your-project-id"; @@ -47,7 +46,7 @@ public static void streamObjectDownload( // String targetFile = "path/to/your/file"; Path targetFilePath = Paths.get(targetFile); - Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService(); + try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { try (ReadChannel reader = storage.reader(BlobId.of(bucketName, objectName)); FileChannel targetFileChannel = FileChannel.open(targetFilePath, StandardOpenOption.WRITE)) { @@ -64,5 +63,5 @@ public static void streamObjectDownload( + " using a ReadChannel."); } } -} +}} // [END storage_stream_file_download] diff --git a/samples/snippets/src/main/java/com/example/storage/object/StreamObjectUpload.java b/samples/snippets/src/main/java/com/example/storage/object/StreamObjectUpload.java index b5b82d82c5..35b41ff8b8 100644 --- a/samples/snippets/src/main/java/com/example/storage/object/StreamObjectUpload.java +++ b/samples/snippets/src/main/java/com/example/storage/object/StreamObjectUpload.java @@ -23,14 +23,13 @@ import com.google.cloud.storage.BlobInfo; import com.google.cloud.storage.Storage; import com.google.cloud.storage.StorageOptions; -import java.io.IOException; import java.nio.ByteBuffer; import java.nio.charset.StandardCharsets; public class StreamObjectUpload { public static void streamObjectUpload( - String projectId, String bucketName, String objectName, String contents) throws IOException { + String projectId, String bucketName, String objectName, String contents) throws Exception { // The ID of your GCP project // String projectId = "your-project-id"; @@ -43,7 +42,7 @@ public static void streamObjectUpload( // The string of contents you wish to upload // String contents = "Hello world!"; - Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService(); + try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { BlobId blobId = BlobId.of(bucketName, objectName); BlobInfo blobInfo = BlobInfo.newBuilder(blobId).build(); byte[] content = contents.getBytes(StandardCharsets.UTF_8); @@ -53,6 +52,6 @@ public static void streamObjectUpload( "Wrote to " + objectName + " in bucket " + bucketName + " using a WriteChannel."); } } -} +}} // [END storage_stream_file_upload] diff --git a/samples/snippets/src/main/java/com/example/storage/object/UploadEncryptedObject.java b/samples/snippets/src/main/java/com/example/storage/object/UploadEncryptedObject.java index e51067c264..9b1bd2cc52 100644 --- a/samples/snippets/src/main/java/com/example/storage/object/UploadEncryptedObject.java +++ b/samples/snippets/src/main/java/com/example/storage/object/UploadEncryptedObject.java @@ -22,14 +22,13 @@ import com.google.cloud.storage.BlobInfo; import com.google.cloud.storage.Storage; import com.google.cloud.storage.StorageOptions; -import java.io.IOException; import java.nio.file.Files; import java.nio.file.Paths; public class UploadEncryptedObject { public static void uploadEncryptedObject( String projectId, String bucketName, String objectName, String filePath, String encryptionKey) - throws IOException { + throws Exception { // The ID of your GCP project // String projectId = "your-project-id"; @@ -45,7 +44,7 @@ public static void uploadEncryptedObject( // The key to encrypt the object with // String encryptionKey = "TIbv/fjexq+VmtXzAlc63J4z5kFmWJ6NdAPQulQBT7g="; - Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService(); + try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { BlobId blobId = BlobId.of(bucketName, objectName); BlobInfo blobInfo = BlobInfo.newBuilder(blobId).build(); @@ -81,5 +80,5 @@ public static void uploadEncryptedObject( + objectName + " with supplied encryption key"); } -} +}} // [END storage_upload_encrypted_file] diff --git a/samples/snippets/src/main/java/com/example/storage/object/UploadKmsEncryptedObject.java b/samples/snippets/src/main/java/com/example/storage/object/UploadKmsEncryptedObject.java index 3876971ca8..2a1d758d34 100644 --- a/samples/snippets/src/main/java/com/example/storage/object/UploadKmsEncryptedObject.java +++ b/samples/snippets/src/main/java/com/example/storage/object/UploadKmsEncryptedObject.java @@ -27,7 +27,7 @@ public class UploadKmsEncryptedObject { public static void uploadKmsEncryptedObject( - String projectId, String bucketName, String objectName, String kmsKeyName) { + String projectId, String bucketName, String objectName, String kmsKeyName) throws Exception { // The ID of your GCP project // String projectId = "your-project-id"; @@ -40,7 +40,7 @@ public static void uploadKmsEncryptedObject( // The name of the KMS key to encrypt with // String kmsKeyName = "projects/my-project/locations/us/keyRings/my_key_ring/cryptoKeys/my_key" - Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService(); + try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { byte[] data = "Hello, World!".getBytes(UTF_8); BlobId blobId = BlobId.of(bucketName, objectName); @@ -73,5 +73,5 @@ public static void uploadKmsEncryptedObject( + " encrypted with " + kmsKeyName); } -} +}} // [END storage_upload_with_kms_key] diff --git a/samples/snippets/src/main/java/com/example/storage/object/UploadObject.java b/samples/snippets/src/main/java/com/example/storage/object/UploadObject.java index 6fa796d62f..a3ae9029b3 100644 --- a/samples/snippets/src/main/java/com/example/storage/object/UploadObject.java +++ b/samples/snippets/src/main/java/com/example/storage/object/UploadObject.java @@ -22,12 +22,11 @@ import com.google.cloud.storage.BlobInfo; import com.google.cloud.storage.Storage; import com.google.cloud.storage.StorageOptions; -import java.io.IOException; import java.nio.file.Paths; public class UploadObject { public static void uploadObject( - String projectId, String bucketName, String objectName, String filePath) throws IOException { + String projectId, String bucketName, String objectName, String filePath) throws Exception { // The ID of your GCP project // String projectId = "your-project-id"; @@ -40,7 +39,7 @@ public static void uploadObject( // The path to your file to upload // String filePath = "path/to/your/file" - Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService(); + try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { BlobId blobId = BlobId.of(bucketName, objectName); BlobInfo blobInfo = BlobInfo.newBuilder(blobId).build(); @@ -65,5 +64,5 @@ public static void uploadObject( System.out.println( "File " + filePath + " uploaded to bucket " + bucketName + " as " + objectName); } -} +}} // [END storage_upload_file] diff --git a/samples/snippets/src/main/java/com/example/storage/object/UploadObjectFromMemory.java b/samples/snippets/src/main/java/com/example/storage/object/UploadObjectFromMemory.java index 98d0020200..7577938562 100644 --- a/samples/snippets/src/main/java/com/example/storage/object/UploadObjectFromMemory.java +++ b/samples/snippets/src/main/java/com/example/storage/object/UploadObjectFromMemory.java @@ -22,12 +22,11 @@ import com.google.cloud.storage.BlobInfo; import com.google.cloud.storage.Storage; import com.google.cloud.storage.StorageOptions; -import java.io.IOException; import java.nio.charset.StandardCharsets; public class UploadObjectFromMemory { public static void uploadObjectFromMemory( - String projectId, String bucketName, String objectName, String contents) throws IOException { + String projectId, String bucketName, String objectName, String contents) throws Exception { // The ID of your GCP project // String projectId = "your-project-id"; @@ -40,7 +39,7 @@ public static void uploadObjectFromMemory( // The string of contents you wish to upload // String contents = "Hello world!"; - Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService(); + try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { BlobId blobId = BlobId.of(bucketName, objectName); BlobInfo blobInfo = BlobInfo.newBuilder(blobId).build(); byte[] content = contents.getBytes(StandardCharsets.UTF_8); @@ -72,5 +71,5 @@ public static void uploadObjectFromMemory( + " with contents " + contents); } -} +}} // [END storage_file_upload_from_memory] diff --git a/samples/snippets/src/main/java/com/example/storage/transfermanager/AllowDivideAndConquerDownload.java b/samples/snippets/src/main/java/com/example/storage/transfermanager/AllowDivideAndConquerDownload.java index 7b41ce2fb5..f377d268db 100644 --- a/samples/snippets/src/main/java/com/example/storage/transfermanager/AllowDivideAndConquerDownload.java +++ b/samples/snippets/src/main/java/com/example/storage/transfermanager/AllowDivideAndConquerDownload.java @@ -29,26 +29,26 @@ class AllowDivideAndConquerDownload { public static void divideAndConquerDownloadAllowed( - List blobs, String bucketName, Path destinationDirectory) { - TransferManager transferManager = - TransferManagerConfig.newBuilder() - .setAllowDivideAndConquerDownload(true) - .build() - .getService(); - ParallelDownloadConfig parallelDownloadConfig = - ParallelDownloadConfig.newBuilder() - .setBucketName(bucketName) - .setDownloadDirectory(destinationDirectory) - .build(); - List results = - transferManager.downloadBlobs(blobs, parallelDownloadConfig).getDownloadResults(); + List blobs, String bucketName, Path destinationDirectory) throws Exception { + TransferManagerConfig transferManagerConfig = TransferManagerConfig.newBuilder() + .setAllowDivideAndConquerDownload(true) + .build(); + try (TransferManager transferManager = transferManagerConfig.getService()) { + ParallelDownloadConfig parallelDownloadConfig = + ParallelDownloadConfig.newBuilder() + .setBucketName(bucketName) + .setDownloadDirectory(destinationDirectory) + .build(); + List results = + transferManager.downloadBlobs(blobs, parallelDownloadConfig).getDownloadResults(); - for (DownloadResult result : results) { - System.out.println( - "Download of " - + result.getInput().getName() - + " completed with status " - + result.getStatus()); + for (DownloadResult result : results) { + System.out.println( + "Download of " + + result.getInput().getName() + + " completed with status " + + result.getStatus()); + } } } } diff --git a/samples/snippets/src/main/java/com/example/storage/transfermanager/AllowParallelCompositeUpload.java b/samples/snippets/src/main/java/com/example/storage/transfermanager/AllowParallelCompositeUpload.java index 1aab8f4b67..adec1aaddd 100644 --- a/samples/snippets/src/main/java/com/example/storage/transfermanager/AllowParallelCompositeUpload.java +++ b/samples/snippets/src/main/java/com/example/storage/transfermanager/AllowParallelCompositeUpload.java @@ -18,33 +18,33 @@ package com.example.storage.transfermanager; // [START storage_transfer_manager_upload_chunks_concurrently] + import com.google.cloud.storage.transfermanager.ParallelUploadConfig; import com.google.cloud.storage.transfermanager.TransferManager; import com.google.cloud.storage.transfermanager.TransferManagerConfig; import com.google.cloud.storage.transfermanager.UploadResult; -import java.io.IOException; import java.nio.file.Path; import java.util.List; class AllowParallelCompositeUpload { public static void parallelCompositeUploadAllowed(String bucketName, List files) - throws IOException { - TransferManager transferManager = - TransferManagerConfig.newBuilder() - .setAllowParallelCompositeUpload(true) - .build() - .getService(); - ParallelUploadConfig parallelUploadConfig = - ParallelUploadConfig.newBuilder().setBucketName(bucketName).build(); - List results = - transferManager.uploadFiles(files, parallelUploadConfig).getUploadResults(); - for (UploadResult result : results) { - System.out.println( - "Upload for " - + result.getInput().getName() - + " completed with status " - + result.getStatus()); + throws Exception { + TransferManagerConfig transferManagerConfig = TransferManagerConfig.newBuilder() + .setAllowParallelCompositeUpload(true) + .build(); + try (TransferManager transferManager = transferManagerConfig.getService()) { + ParallelUploadConfig parallelUploadConfig = + ParallelUploadConfig.newBuilder().setBucketName(bucketName).build(); + List results = + transferManager.uploadFiles(files, parallelUploadConfig).getUploadResults(); + for (UploadResult result : results) { + System.out.println( + "Upload for " + + result.getInput().getName() + + " completed with status " + + result.getStatus()); + } } } } diff --git a/samples/snippets/src/main/java/com/example/storage/transfermanager/DownloadBucket.java b/samples/snippets/src/main/java/com/example/storage/transfermanager/DownloadBucket.java index b77a6fee67..5d88e9e702 100644 --- a/samples/snippets/src/main/java/com/example/storage/transfermanager/DownloadBucket.java +++ b/samples/snippets/src/main/java/com/example/storage/transfermanager/DownloadBucket.java @@ -31,30 +31,35 @@ class DownloadBucket { public static void downloadBucketContents( - String projectId, String bucketName, Path destinationDirectory) { - Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService(); - List blobs = - storage - .list(bucketName) - .streamAll() - .map(blob -> blob.asBlobInfo()) - .collect(Collectors.toList()); - TransferManager transferManager = TransferManagerConfig.newBuilder().build().getService(); - ParallelDownloadConfig parallelDownloadConfig = - ParallelDownloadConfig.newBuilder() - .setBucketName(bucketName) - .setDownloadDirectory(destinationDirectory) - .build(); + String projectId, String bucketName, Path destinationDirectory) throws Exception { + StorageOptions storageOptions = StorageOptions.newBuilder().setProjectId(projectId).build(); + List blobs; + try (Storage storage = storageOptions.getService()) { + blobs = storage + .list(bucketName) + .streamAll() + .map(blob -> blob.asBlobInfo()) + .collect(Collectors.toList()); + } + + TransferManagerConfig transferManagerConfig = TransferManagerConfig.newBuilder().build(); + try (TransferManager transferManager = transferManagerConfig.getService()) { + ParallelDownloadConfig parallelDownloadConfig = + ParallelDownloadConfig.newBuilder() + .setBucketName(bucketName) + .setDownloadDirectory(destinationDirectory) + .build(); - List results = - transferManager.downloadBlobs(blobs, parallelDownloadConfig).getDownloadResults(); + List results = + transferManager.downloadBlobs(blobs, parallelDownloadConfig).getDownloadResults(); - for (DownloadResult result : results) { - System.out.println( - "Download of " - + result.getInput().getName() - + " completed with status " - + result.getStatus()); + for (DownloadResult result : results) { + System.out.println( + "Download of " + + result.getInput().getName() + + " completed with status " + + result.getStatus()); + } } } } diff --git a/samples/snippets/src/main/java/com/example/storage/transfermanager/DownloadMany.java b/samples/snippets/src/main/java/com/example/storage/transfermanager/DownloadMany.java index a79e18cdcf..a63c98b755 100644 --- a/samples/snippets/src/main/java/com/example/storage/transfermanager/DownloadMany.java +++ b/samples/snippets/src/main/java/com/example/storage/transfermanager/DownloadMany.java @@ -30,8 +30,9 @@ class DownloadMany { public static void downloadManyBlobs( String bucketName, List blobs, Path destinationDirectory) throws Exception { + TransferManagerConfig transferManagerConfig = TransferManagerConfig.newBuilder().build(); try (TransferManager transferManager = - TransferManagerConfig.newBuilder().build().getService()) { + transferManagerConfig.getService()) { ParallelDownloadConfig parallelDownloadConfig = ParallelDownloadConfig.newBuilder() .setBucketName(bucketName) diff --git a/samples/snippets/src/main/java/com/example/storage/transfermanager/UploadDirectory.java b/samples/snippets/src/main/java/com/example/storage/transfermanager/UploadDirectory.java index 0a14bec049..3145f2aead 100644 --- a/samples/snippets/src/main/java/com/example/storage/transfermanager/UploadDirectory.java +++ b/samples/snippets/src/main/java/com/example/storage/transfermanager/UploadDirectory.java @@ -17,11 +17,11 @@ package com.example.storage.transfermanager; // [START storage_transfer_manager_upload_directory] + import com.google.cloud.storage.transfermanager.ParallelUploadConfig; import com.google.cloud.storage.transfermanager.TransferManager; import com.google.cloud.storage.transfermanager.TransferManagerConfig; import com.google.cloud.storage.transfermanager.UploadResult; -import java.io.IOException; import java.nio.file.Files; import java.nio.file.Path; import java.util.ArrayList; @@ -31,26 +31,28 @@ class UploadDirectory { public static void uploadDirectoryContents(String bucketName, Path sourceDirectory) - throws IOException { - TransferManager transferManager = TransferManagerConfig.newBuilder().build().getService(); - ParallelUploadConfig parallelUploadConfig = - ParallelUploadConfig.newBuilder().setBucketName(bucketName).build(); + throws Exception { + TransferManagerConfig transferManagerConfig = TransferManagerConfig.newBuilder().build(); + try (TransferManager transferManager = transferManagerConfig.getService()) { + ParallelUploadConfig parallelUploadConfig = + ParallelUploadConfig.newBuilder().setBucketName(bucketName).build(); - // Create a list to store the file paths - List filePaths = new ArrayList<>(); - // Get all files in the directory - // try-with-resource to ensure pathStream is closed - try (Stream pathStream = Files.walk(sourceDirectory)) { - pathStream.filter(Files::isRegularFile).forEach(filePaths::add); - } - List results = - transferManager.uploadFiles(filePaths, parallelUploadConfig).getUploadResults(); - for (UploadResult result : results) { - System.out.println( - "Upload for " - + result.getInput().getName() - + " completed with status " - + result.getStatus()); + // Create a list to store the file paths + List filePaths = new ArrayList<>(); + // Get all files in the directory + // try-with-resource to ensure pathStream is closed + try (Stream pathStream = Files.walk(sourceDirectory)) { + pathStream.filter(Files::isRegularFile).forEach(filePaths::add); + } + List results = + transferManager.uploadFiles(filePaths, parallelUploadConfig).getUploadResults(); + for (UploadResult result : results) { + System.out.println( + "Upload for " + + result.getInput().getName() + + " completed with status " + + result.getStatus()); + } } } } diff --git a/samples/snippets/src/main/java/com/example/storage/transfermanager/UploadMany.java b/samples/snippets/src/main/java/com/example/storage/transfermanager/UploadMany.java index b477f87bdd..8908e9fcad 100644 --- a/samples/snippets/src/main/java/com/example/storage/transfermanager/UploadMany.java +++ b/samples/snippets/src/main/java/com/example/storage/transfermanager/UploadMany.java @@ -21,24 +21,25 @@ import com.google.cloud.storage.transfermanager.TransferManager; import com.google.cloud.storage.transfermanager.TransferManagerConfig; import com.google.cloud.storage.transfermanager.UploadResult; -import java.io.IOException; import java.nio.file.Path; import java.util.List; class UploadMany { - public static void uploadManyFiles(String bucketName, List files) throws IOException { - TransferManager transferManager = TransferManagerConfig.newBuilder().build().getService(); - ParallelUploadConfig parallelUploadConfig = - ParallelUploadConfig.newBuilder().setBucketName(bucketName).build(); - List results = - transferManager.uploadFiles(files, parallelUploadConfig).getUploadResults(); - for (UploadResult result : results) { - System.out.println( - "Upload for " - + result.getInput().getName() - + " completed with status " - + result.getStatus()); + public static void uploadManyFiles(String bucketName, List files) throws Exception { + TransferManagerConfig transferManagerConfig = TransferManagerConfig.newBuilder().build(); + try (TransferManager transferManager = transferManagerConfig.getService()) { + ParallelUploadConfig parallelUploadConfig = + ParallelUploadConfig.newBuilder().setBucketName(bucketName).build(); + List results = + transferManager.uploadFiles(files, parallelUploadConfig).getUploadResults(); + for (UploadResult result : results) { + System.out.println( + "Upload for " + + result.getInput().getName() + + " completed with status " + + result.getStatus()); + } } } } diff --git a/samples/snippets/src/test/java/com/example/storage/ConfigureRetriesTest.java b/samples/snippets/src/test/java/com/example/storage/ConfigureRetriesTest.java index 8b40189b8e..80e3b1c98f 100644 --- a/samples/snippets/src/test/java/com/example/storage/ConfigureRetriesTest.java +++ b/samples/snippets/src/test/java/com/example/storage/ConfigureRetriesTest.java @@ -57,7 +57,7 @@ public void tearDown() throws Exception { } @Test - public void testConfigureRetries() { + public void testConfigureRetries() throws Exception { ConfigureRetries.deleteBlob(bucketName, blobName); assertThat(stdOut.getCapturedOutputAsUtf8String()).contains("Deletion"); assertThat(stdOut.getCapturedOutputAsUtf8String()).contains("successfully"); diff --git a/samples/snippets/src/test/java/com/example/storage/ITBucketSnippets.java b/samples/snippets/src/test/java/com/example/storage/ITBucketSnippets.java index 051bd05e23..de6785b2ae 100644 --- a/samples/snippets/src/test/java/com/example/storage/ITBucketSnippets.java +++ b/samples/snippets/src/test/java/com/example/storage/ITBucketSnippets.java @@ -159,7 +159,7 @@ public void after() throws Exception { } @Test - public void testAddBucketLabel() { + public void testAddBucketLabel() throws Exception { int oldSize = storage.get(BUCKET).getLabels().size(); AddBucketLabel.addBucketLabel(PROJECT_ID, BUCKET, "key", "value"); assertEquals(oldSize + 1, storage.get(BUCKET).getLabels().size()); @@ -177,7 +177,7 @@ public void testChangeDefaultStorageClass() throws Throwable { } @Test - public void testCreateBucket() { + public void testCreateBucket() throws Exception { String newBucket = RemoteStorageHelper.generateBucketName(); CreateBucket.createBucket(PROJECT_ID, newBucket); try { @@ -189,7 +189,7 @@ public void testCreateBucket() { } @Test - public void testCreateBucketWithStorageClassAndLocation() { + public void testCreateBucketWithStorageClassAndLocation() throws Exception { String newBucket = RemoteStorageHelper.generateBucketName(); CreateBucketWithStorageClassAndLocation.createBucketWithStorageClassAndLocation( PROJECT_ID, newBucket); @@ -211,13 +211,15 @@ public void testDeleteBucket() { try { DeleteBucket.deleteBucket(PROJECT_ID, newBucket); assertNull(storage.get(newBucket)); + } catch (Exception e) { + throw new RuntimeException(e); } finally { storage.delete(newBucket); } } @Test - public void testGetBucketMetadata() { + public void testGetBucketMetadata() throws Exception { Bucket bucket = storage.get(BUCKET, Storage.BucketGetOption.fields(Storage.BucketField.values())); bucket = @@ -262,14 +264,14 @@ public void testGetBucketMetadata() { } @Test - public void testListBuckets() { + public void testListBuckets() throws Exception { ListBuckets.listBuckets(PROJECT_ID); String snippetOutput = stdOutCaptureRule.getCapturedOutputAsUtf8String(); assertTrue(snippetOutput.contains(BUCKET)); } @Test - public void testRemoveBucketLabel() { + public void testRemoveBucketLabel() throws Exception { storage.get(BUCKET).toBuilder().setLabels(ImmutableMap.of("k", "v")).build().update(); int oldSize = storage.get(BUCKET).getLabels().size(); RemoveBucketLabel.removeBucketLabel(PROJECT_ID, BUCKET, "k"); @@ -477,7 +479,7 @@ public void testSetBucketWebsiteInfo() throws Throwable { } @Test - public void testSetClientEndpoint() { + public void testSetClientEndpoint() throws Exception { SetClientEndpoint.setClientEndpoint(PROJECT_ID, "https://storage.googleapis.com"); String snippetOutput = stdOutCaptureRule.getCapturedOutputAsUtf8String(); assertTrue(snippetOutput.contains("https://storage.googleapis.com")); @@ -645,13 +647,15 @@ public void testLockRetentionPolicy() { assertEquals(5L, (long) storage.get(tempBucket).getRetentionPeriod()); LockRetentionPolicy.lockRetentionPolicy(PROJECT_ID, tempBucket); assertTrue(storage.get(tempBucket).retentionPolicyIsLocked()); + } catch (Exception e) { + throw new RuntimeException(e); } finally { storage.delete(tempBucket); } } @Test - public void testUniformBucketLevelAccess() { + public void testUniformBucketLevelAccess() throws Exception { EnableUniformBucketLevelAccess.enableUniformBucketLevelAccess(PROJECT_ID, BUCKET); Bucket bucket = storage.get(BUCKET); assertTrue(bucket.getIamConfiguration().isUniformBucketLevelAccessEnabled()); @@ -666,7 +670,7 @@ public void testUniformBucketLevelAccess() { } @Test - public void testCreateBucketWithObjectRetention() { + public void testCreateBucketWithObjectRetention() throws Exception { String tempBucket = RemoteStorageHelper.generateBucketName(); try { @@ -680,7 +684,7 @@ public void testCreateBucketWithObjectRetention() { } @Test - public void testSetSoftDeletePolicy() { + public void testSetSoftDeletePolicy() throws Exception { String tempBucket = RemoteStorageHelper.generateBucketName(); Bucket bucket = storage.create(BucketInfo.of(tempBucket)); try { @@ -696,7 +700,7 @@ public void testSetSoftDeletePolicy() { } @Test - public void testDisableSoftDelete() { + public void testDisableSoftDelete() throws Exception { String tempBucket = RemoteStorageHelper.generateBucketName(); Bucket bucket = storage.create(BucketInfo.of(tempBucket)); try { diff --git a/samples/snippets/src/test/java/com/example/storage/ITHmacSnippets.java b/samples/snippets/src/test/java/com/example/storage/ITHmacSnippets.java index 632142a618..6e6770d48b 100644 --- a/samples/snippets/src/test/java/com/example/storage/ITHmacSnippets.java +++ b/samples/snippets/src/test/java/com/example/storage/ITHmacSnippets.java @@ -111,7 +111,7 @@ public void testDeactivateHmacKey() throws Exception { } @Test - public void testDeleteHmacKey() { + public void testDeleteHmacKey() throws Exception { HmacKey hmacKey = storage.createHmacKey(ServiceAccount.of(HMAC_KEY_TEST_SERVICE_ACCOUNT)); HmacKeyMetadata metadata = storage.updateHmacKeyState(hmacKey.getMetadata(), HmacKeyState.INACTIVE); @@ -121,7 +121,7 @@ public void testDeleteHmacKey() { } @Test - public void testListHmacKeys() { + public void testListHmacKeys() throws Exception { // Create 2 HMAC keys final HmacKey one = storage.createHmacKey( diff --git a/samples/snippets/src/test/java/com/example/storage/ITObjectSnippets.java b/samples/snippets/src/test/java/com/example/storage/ITObjectSnippets.java index 28ceeb3081..a99600bb82 100644 --- a/samples/snippets/src/test/java/com/example/storage/ITObjectSnippets.java +++ b/samples/snippets/src/test/java/com/example/storage/ITObjectSnippets.java @@ -106,7 +106,7 @@ public class ITObjectSnippets extends TestBase { @Inject public KmsFixture kmsFixture; @Test - public void testChangeObjectStorageClass() { + public void testChangeObjectStorageClass() throws Exception { String objectName = generator.randomObjectName(); BlobInfo gen1 = storage.create(info(objectName), CONTENT, BlobTargetOption.doesNotExist()); Assert.assertNotEquals(StorageClass.COLDLINE, gen1.getStorageClass()); @@ -135,7 +135,7 @@ public void testCopyObject() throws Exception { } @Test - public void testDeleteObject() { + public void testDeleteObject() throws Exception { String blob = generator.randomObjectName(); storage.create(BlobInfo.newBuilder(BlobId.of(bucket.getName(), blob)).build()); assertNotNull(storage.get(bucket.getName(), blob)); @@ -158,7 +158,7 @@ public void testDownloadObject() throws Exception { } @Test - public void testDownloadObjectIntoMemory() throws IOException { + public void testDownloadObjectIntoMemory() throws Exception { String objectName = generator.randomObjectName(); storage.create(info(objectName), CONTENT, BlobTargetOption.doesNotExist()); DownloadObjectIntoMemory.downloadObjectIntoMemory( @@ -195,7 +195,7 @@ public void testDownloadPublicObject() throws Exception { } @Test - public void testGetObjectMetadata() { + public void testGetObjectMetadata() throws Exception { String blobName = generator.randomObjectName(); BlobId blobId = BlobId.of(bucket.getName(), blobName); BlobInfo blobInfo = BlobInfo.newBuilder(blobId).setMetadata(ImmutableMap.of("k", "v")).build(); @@ -236,7 +236,7 @@ public void testGetObjectMetadata() { } @Test - public void testListObjects() { + public void testListObjects() throws Exception { String name1 = generator.randomObjectName(); storage.create(info(name1), BlobTargetOption.doesNotExist()); ListObjects.listObjects(GOOGLE_CLOUD_PROJECT, bucket.getName()); @@ -245,7 +245,7 @@ public void testListObjects() { } @Test - public void testListObjectsWithPrefix() { + public void testListObjectsWithPrefix() throws Exception { String prefix = generator.randomObjectName(); storage.create(BlobInfo.newBuilder(bucket.getName(), prefix + "a/1.txt").build()); storage.create(BlobInfo.newBuilder(bucket.getName(), prefix + "a/b/2.txt").build()); @@ -278,7 +278,7 @@ public void testCopyDeleteObject() throws Exception { } @Test - public void testAtomicMoveObject() { + public void testAtomicMoveObject() throws Exception { String blob1 = generator.randomObjectName(); String blob2 = generator.randomObjectName(); @@ -291,7 +291,7 @@ public void testAtomicMoveObject() { } @Test - public void testSetObjectMetadata() { + public void testSetObjectMetadata() throws Exception { String bucketName = bucket.getName(); String name1 = generator.randomObjectName(); BlobInfo b1Gen1 = storage.create(BlobInfo.newBuilder(bucketName, name1).build()); @@ -312,11 +312,13 @@ public void testUploadObject() throws IOException { byte[] expected = Files.readAllBytes(file1.getPath()); byte[] actual = storage.readAllBytes(bucket.getName(), objectName); assertArrayEquals(expected, actual); + } catch (Exception e) { + throw new RuntimeException(e); } } @Test - public void testUploadObjectFromMemory() throws IOException { + public void testUploadObjectFromMemory() throws Exception { String objectName = "uploadobjectfrommemorytest"; UploadObjectFromMemory.uploadObjectFromMemory( GOOGLE_CLOUD_PROJECT, bucket.getName(), objectName, STRING_CONTENT); @@ -325,7 +327,7 @@ public void testUploadObjectFromMemory() throws IOException { } @Test - public void testObjectCSEKOperations() throws IOException { + public void testObjectCSEKOperations() throws Exception { GenerateEncryptionKey.generateEncryptionKey(); String snippetOutput = stdOut.getCapturedOutputAsUtf8String(); String encryptionKey = snippetOutput.split(": ")[1].trim(); @@ -408,7 +410,7 @@ public void testObjectVersioningOperations() throws Exception { } @Test - public void testV4SignedURLs() throws IOException { + public void testV4SignedURLs() throws Exception { String tempObject = "test-upload-signed-url-object"; GenerateV4PutObjectSignedUrl.generateV4PutObjectSignedUrl( GOOGLE_CLOUD_PROJECT, bucket.getName(), tempObject); @@ -437,7 +439,7 @@ public void testV4SignedURLs() throws IOException { } @Test - public void testMakeObjectPublic() { + public void testMakeObjectPublic() throws Exception { String aclBlob = generator.randomObjectName(); assertNull( storage @@ -448,7 +450,7 @@ public void testMakeObjectPublic() { } @Test - public void testComposeObject() { + public void testComposeObject() throws Exception { String firstObject = generator.randomObjectName(); String secondObject = generator.randomObjectName(); String targetObject = generator.randomObjectName(); @@ -484,7 +486,7 @@ public void testStreamUploadDownload() throws Exception { } @Test - public void testUploadKMSEncryptedObject() { + public void testUploadKMSEncryptedObject() throws Exception { String blobName = generator.randomObjectName(); UploadKmsEncryptedObject.uploadKmsEncryptedObject( GOOGLE_CLOUD_PROJECT, bucket.getName(), blobName, kmsFixture.getKey1().getName()); @@ -492,7 +494,7 @@ public void testUploadKMSEncryptedObject() { } @Test - public void testBatchSetObjectMetadata() { + public void testBatchSetObjectMetadata() throws Exception { String prefix = generator.randomObjectName(); String name1 = prefix + "/1.txt"; String name2 = prefix + "/2.txt"; @@ -511,7 +513,7 @@ public void testBatchSetObjectMetadata() { } @Test - public void testSetObjectRetentionPolicy() { + public void testSetObjectRetentionPolicy() throws Exception { BucketInfo bucketInfo = BucketInfo.newBuilder(generator.randomBucketName()).build(); Bucket tmpBucket = storage.create(bucketInfo, BucketTargetOption.enableObjectRetention(true)); String tempBucket = tmpBucket.getName(); diff --git a/samples/snippets/src/test/java/com/example/storage/ITStorageSnippets.java b/samples/snippets/src/test/java/com/example/storage/ITStorageSnippets.java index 805eef2f2c..5759ce3e40 100644 --- a/samples/snippets/src/test/java/com/example/storage/ITStorageSnippets.java +++ b/samples/snippets/src/test/java/com/example/storage/ITStorageSnippets.java @@ -70,7 +70,7 @@ public static void afterClass() throws Exception { } @Test - public void testGetServiceAccount() { + public void testGetServiceAccount() throws Exception { GetServiceAccount.getServiceAccount(PROJECT_ID); String snippetOutput = stdOutCaptureRule.getCapturedOutputAsUtf8String(); diff --git a/samples/snippets/src/test/java/com/example/storage/bucket/CreateBucketDualRegionTest.java b/samples/snippets/src/test/java/com/example/storage/bucket/CreateBucketDualRegionTest.java index 9b1ce9c74e..cf264f6ccc 100644 --- a/samples/snippets/src/test/java/com/example/storage/bucket/CreateBucketDualRegionTest.java +++ b/samples/snippets/src/test/java/com/example/storage/bucket/CreateBucketDualRegionTest.java @@ -27,7 +27,7 @@ public class CreateBucketDualRegionTest extends TestBase { @Test - public void testCreateBucketDualRegion() { + public void testCreateBucketDualRegion() throws Exception { assertNotNull("Unable to determine Project ID", GOOGLE_CLOUD_PROJECT); String newBucket = RemoteStorageHelper.generateBucketName(); CreateBucketDualRegion.createBucketDualRegion( diff --git a/samples/snippets/src/test/java/com/example/storage/bucket/PubSubNotificationTest.java b/samples/snippets/src/test/java/com/example/storage/bucket/PubSubNotificationTest.java index 3cccbaa10a..524d9e81d3 100644 --- a/samples/snippets/src/test/java/com/example/storage/bucket/PubSubNotificationTest.java +++ b/samples/snippets/src/test/java/com/example/storage/bucket/PubSubNotificationTest.java @@ -110,7 +110,7 @@ public void tearDown() { } @Test - public void testCreateBucketPubSubNotification() { + public void testCreateBucketPubSubNotification() throws Exception { CreateBucketPubSubNotification.createBucketPubSubNotification( bucketName, topic, @@ -122,7 +122,7 @@ public void testCreateBucketPubSubNotification() { } @Test - public void testDeleteBucketPubSubNotification() { + public void testDeleteBucketPubSubNotification() throws Exception { Notification notification = storage.createNotification(bucketName, notificationInfo); DeleteBucketPubSubNotification.deleteBucketPubSubNotification( bucketName, notification.getNotificationId()); @@ -131,7 +131,7 @@ public void testDeleteBucketPubSubNotification() { } @Test - public void testNotificationNotFound() { + public void testNotificationNotFound() throws Exception { Notification notification = storage.createNotification(bucketName, notificationInfo); // Do a delete first. storage.deleteNotification(bucketName, notification.getNotificationId()); @@ -142,14 +142,14 @@ public void testNotificationNotFound() { } @Test - public void testListBucketPubSubNotification() { + public void testListBucketPubSubNotification() throws Exception { storage.createNotification(bucketName, notificationInfo); ListPubSubNotifications.listPubSubNotifications(bucketName); assertThat(stdOut.getCapturedOutputAsUtf8String()).contains(topic); } @Test - public void testPrintBucketPubSubNotification() { + public void testPrintBucketPubSubNotification() throws Exception { Notification notification = storage.createNotification(bucketName, notificationInfo); PrintPubSubNotification.printPubSubNotification(bucketName, notification.getNotificationId()); assertThat(stdOut.getCapturedOutputAsUtf8String()).contains(topic); diff --git a/samples/snippets/src/test/java/com/example/storage/object/AddBlobOwnerTest.java b/samples/snippets/src/test/java/com/example/storage/object/AddBlobOwnerTest.java index 09d3c76e53..357b8e6546 100644 --- a/samples/snippets/src/test/java/com/example/storage/object/AddBlobOwnerTest.java +++ b/samples/snippets/src/test/java/com/example/storage/object/AddBlobOwnerTest.java @@ -30,7 +30,7 @@ public class AddBlobOwnerTest extends TestBase { @Test - public void testAddBlobOwner() { + public void testAddBlobOwner() throws Exception { // Check for user email before the actual test. assertWithMessage("Unable to determine user email").that(IT_SERVICE_ACCOUNT_EMAIL).isNotEmpty(); diff --git a/samples/snippets/src/test/java/com/example/storage/object/DownloadBytesRangeTest.java b/samples/snippets/src/test/java/com/example/storage/object/DownloadBytesRangeTest.java index 5ad25abe01..93f87f9af4 100644 --- a/samples/snippets/src/test/java/com/example/storage/object/DownloadBytesRangeTest.java +++ b/samples/snippets/src/test/java/com/example/storage/object/DownloadBytesRangeTest.java @@ -37,7 +37,7 @@ public class DownloadBytesRangeTest extends TestBase { @Rule public final TemporaryFolder tmp = new TemporaryFolder(); @Test - public void testDownloadByteRange() throws IOException { + public void testDownloadByteRange() throws Exception { byte[] bytes = { // 18 elements per row 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', diff --git a/samples/snippets/src/test/java/com/example/storage/object/PrintBlobAclTest.java b/samples/snippets/src/test/java/com/example/storage/object/PrintBlobAclTest.java index 04eb9e65bd..96ef12b261 100644 --- a/samples/snippets/src/test/java/com/example/storage/object/PrintBlobAclTest.java +++ b/samples/snippets/src/test/java/com/example/storage/object/PrintBlobAclTest.java @@ -33,7 +33,7 @@ public class PrintBlobAclTest extends TestBase { public static final String IT_SERVICE_ACCOUNT_EMAIL = Env.IT_SERVICE_ACCOUNT_EMAIL; @Test - public void testPrintBlobAcls() { + public void testPrintBlobAcls() throws Exception { // Check for user email before the actual test. assertWithMessage("Unable to determine user email").that(IT_SERVICE_ACCOUNT_EMAIL).isNotEmpty(); diff --git a/samples/snippets/src/test/java/com/example/storage/object/RemoveBlobOwnerTest.java b/samples/snippets/src/test/java/com/example/storage/object/RemoveBlobOwnerTest.java index 325054041a..a9aa00856a 100644 --- a/samples/snippets/src/test/java/com/example/storage/object/RemoveBlobOwnerTest.java +++ b/samples/snippets/src/test/java/com/example/storage/object/RemoveBlobOwnerTest.java @@ -32,7 +32,7 @@ public class RemoveBlobOwnerTest extends TestBase { @Test - public void testRemoveBlobOwner() { + public void testRemoveBlobOwner() throws Exception { // Check for user email before the actual test. assertWithMessage("Unable to determine user email").that(IT_SERVICE_ACCOUNT_EMAIL).isNotEmpty(); @@ -50,7 +50,7 @@ public void testRemoveBlobOwner() { } @Test - public void testUserNotFound() { + public void testUserNotFound() throws Exception { // Check for user email before the actual test. assertWithMessage("Unable to determine user email").that(IT_SERVICE_ACCOUNT_EMAIL).isNotEmpty(); diff --git a/samples/snippets/src/test/java/com/example/storage/transfermanager/ITTransferManagerSamples.java b/samples/snippets/src/test/java/com/example/storage/transfermanager/ITTransferManagerSamples.java index 97fb2cea9c..d87da5eacb 100644 --- a/samples/snippets/src/test/java/com/example/storage/transfermanager/ITTransferManagerSamples.java +++ b/samples/snippets/src/test/java/com/example/storage/transfermanager/ITTransferManagerSamples.java @@ -119,7 +119,7 @@ public void downloadBlobs() throws Exception { } @Test - public void uploadAllowPCU() throws IOException { + public void uploadAllowPCU() throws Exception { Path baseDir = uploadDirectory.getRoot().toPath(); try (TmpFile file1 = DataGenerator.base64Characters().tempFile(baseDir, 313 * 1024 * 1024)) { AllowParallelCompositeUpload.parallelCompositeUploadAllowed( From 3c8043de31a2f4c2ad2947ed4d9814659c973205 Mon Sep 17 00:00:00 2001 From: BenWhitehead Date: Fri, 5 Sep 2025 18:01:23 -0400 Subject: [PATCH 2/2] chore: run `mvn com.spotify.fmt:fmt-maven-plugin:format` --- .../com/example/storage/ConfigureRetries.java | 4 +- .../QuickstartOpenTelemetrySample.java | 3 +- .../AddBucketIamConditionalBinding.java | 3 +- .../storage/bucket/AddBucketIamMember.java | 6 +- .../storage/bucket/AddBucketLabel.java | 10 ++- .../storage/bucket/AddBucketOwner.java | 3 +- .../bucket/ChangeDefaultStorageClass.java | 3 +- .../storage/bucket/ConfigureBucketCors.java | 6 +- .../example/storage/bucket/CreateBucket.java | 3 +- .../bucket/CreateBucketDualRegion.java | 10 +-- .../CreateBucketPubSubNotification.java | 3 +- .../CreateBucketWithObjectRetention.java | 3 +- ...eateBucketWithStorageClassAndLocation.java | 49 +++++----- .../CreateBucketWithTurboReplication.java | 33 +++---- .../example/storage/bucket/DeleteBucket.java | 9 +- .../bucket/DisableBucketVersioning.java | 9 +- .../bucket/DisableDefaultEventBasedHold.java | 15 ++-- .../bucket/DisableLifecycleManagement.java | 15 ++-- .../storage/bucket/DisableRequesterPays.java | 15 ++-- .../storage/bucket/DisableSoftDelete.java | 23 ++--- .../DisableUniformBucketLevelAccess.java | 23 ++--- .../bucket/EnableBucketVersioning.java | 9 +- .../bucket/EnableDefaultEventBasedHold.java | 15 ++-- .../bucket/EnableLifecycleManagement.java | 34 +++---- .../storage/bucket/EnableRequesterPays.java | 9 +- .../EnableUniformBucketLevelAccess.java | 37 ++++---- .../storage/bucket/GetBucketAutoclass.java | 35 ++++---- .../storage/bucket/GetBucketMetadata.java | 67 +++++++------- .../example/storage/bucket/GetBucketRpo.java | 9 +- .../bucket/GetDefaultEventBasedHold.java | 21 ++--- .../bucket/GetPublicAccessPrevention.java | 30 +++---- .../bucket/GetRequesterPaysStatus.java | 12 +-- .../storage/bucket/GetRetentionPolicy.java | 28 +++--- .../storage/bucket/GetSoftDeletePolicy.java | 17 ++-- .../bucket/GetUniformBucketLevelAccess.java | 31 +++---- .../storage/bucket/ListBucketIamMembers.java | 33 +++---- .../example/storage/bucket/ListBuckets.java | 11 +-- .../storage/bucket/LockRetentionPolicy.java | 21 ++--- .../storage/bucket/MakeBucketPublic.java | 17 ++-- .../storage/bucket/PrintBucketAcl.java | 25 +++--- .../storage/bucket/RemoveBucketCors.java | 21 ++--- .../bucket/RemoveBucketDefaultKmsKey.java | 15 ++-- .../RemoveBucketIamConditionalBinding.java | 56 ++++++------ .../storage/bucket/RemoveBucketIamMember.java | 48 +++++----- .../storage/bucket/RemoveBucketLabel.java | 33 +++---- .../storage/bucket/RemoveBucketOwner.java | 21 ++--- .../storage/bucket/RemoveRetentionPolicy.java | 24 ++--- .../storage/bucket/SetAsyncTurboRpo.java | 9 +- .../bucket/SetBucketDefaultKmsKey.java | 29 +++--- .../storage/bucket/SetBucketWebsiteInfo.java | 25 +++--- .../storage/bucket/SetClientEndpoint.java | 8 +- .../example/storage/bucket/SetDefaultRpo.java | 9 +- .../SetPublicAccessPreventionEnforced.java | 23 ++--- .../SetPublicAccessPreventionInherited.java | 23 ++--- .../storage/bucket/SetRetentionPolicy.java | 33 +++---- .../storage/bucket/SetSoftDeletePolicy.java | 25 +++--- .../example/storage/hmac/ActivateHmacKey.java | 3 +- .../example/storage/hmac/CreateHmacKey.java | 47 +++++----- .../storage/hmac/DeactivateHmacKey.java | 6 +- .../example/storage/hmac/DeleteHmacKey.java | 6 +- .../com/example/storage/hmac/GetHmacKey.java | 6 +- .../example/storage/hmac/ListHmacKeys.java | 6 +- .../example/storage/object/AddBlobOwner.java | 6 +- .../storage/object/AtomicMoveObject.java | 66 +++++++------- .../object/BatchSetObjectMetadata.java | 90 ++++++++++--------- .../storage/object/ChangeObjectCsekToKms.java | 61 +++++++------ .../object/ChangeObjectStorageClass.java | 68 +++++++------- .../example/storage/object/ComposeObject.java | 73 +++++++-------- .../storage/object/CopyDeleteObject.java | 78 ++++++++-------- .../object/CopyOldVersionOfObject.java | 71 ++++++++------- .../example/storage/object/DeleteObject.java | 41 +++++---- .../object/DeleteOldVersionOfObject.java | 24 ++--- .../storage/object/DownloadByteRange.java | 24 ++--- .../object/DownloadEncryptedObject.java | 26 +++--- .../object/DownloadObjectIntoMemory.java | 22 ++--- .../storage/object/DownloadPublicObject.java | 3 +- .../object/DownloadRequesterPaysObject.java | 21 +++-- .../object/GenerateV4GetObjectSignedUrl.java | 22 ++--- .../object/GenerateV4PutObjectSignedUrl.java | 46 +++++----- .../storage/object/GetObjectMetadata.java | 90 ++++++++++--------- .../example/storage/object/ListObjects.java | 12 +-- .../object/ListObjectsWithOldVersions.java | 14 +-- .../storage/object/ListObjectsWithPrefix.java | 61 +++++++------ .../object/ListSoftDeletedObjects.java | 12 +-- .../ListSoftDeletedVersionsOfObject.java | 24 ++--- .../storage/object/MakeObjectPublic.java | 14 +-- .../example/storage/object/PrintBlobAcl.java | 3 +- .../storage/object/ReleaseEventBasedHold.java | 34 +++---- .../storage/object/ReleaseTemporaryHold.java | 30 ++++--- .../storage/object/RemoveBlobOwner.java | 34 +++---- .../object/RestoreSoftDeletedObject.java | 10 ++- .../object/RotateObjectEncryptionKey.java | 54 +++++------ .../storage/object/SetEventBasedHold.java | 34 +++---- .../storage/object/SetObjectMetadata.java | 43 ++++----- .../object/SetObjectRetentionPolicy.java | 56 ++++++------ .../storage/object/SetTemporaryHold.java | 34 +++---- .../storage/object/StreamObjectDownload.java | 33 +++---- .../storage/object/StreamObjectUpload.java | 20 +++-- .../storage/object/UploadEncryptedObject.java | 68 +++++++------- .../object/UploadKmsEncryptedObject.java | 60 +++++++------ .../example/storage/object/UploadObject.java | 48 +++++----- .../object/UploadObjectFromMemory.java | 62 ++++++------- .../AllowDivideAndConquerDownload.java | 5 +- .../AllowParallelCompositeUpload.java | 5 +- .../transfermanager/DownloadBucket.java | 11 +-- .../storage/transfermanager/DownloadMany.java | 3 +- .../object/DownloadBytesRangeTest.java | 1 - .../ITTransferManagerSamples.java | 1 - 108 files changed, 1483 insertions(+), 1320 deletions(-) diff --git a/samples/snippets/src/main/java/com/example/storage/ConfigureRetries.java b/samples/snippets/src/main/java/com/example/storage/ConfigureRetries.java index 4150793f9d..ee26c3a5fd 100644 --- a/samples/snippets/src/main/java/com/example/storage/ConfigureRetries.java +++ b/samples/snippets/src/main/java/com/example/storage/ConfigureRetries.java @@ -60,8 +60,8 @@ static void deleteBlob(String bucketName, String blobName) throws Exception { boolean success = storage.delete(blobId); System.out.printf( - "Deletion of Blob %s completed %s.%n", blobId, - success ? "successfully" : "unsuccessfully"); + "Deletion of Blob %s completed %s.%n", + blobId, success ? "successfully" : "unsuccessfully"); } } } diff --git a/samples/snippets/src/main/java/com/example/storage/QuickstartOpenTelemetrySample.java b/samples/snippets/src/main/java/com/example/storage/QuickstartOpenTelemetrySample.java index 6a3997cd71..ed4c27eecf 100644 --- a/samples/snippets/src/main/java/com/example/storage/QuickstartOpenTelemetrySample.java +++ b/samples/snippets/src/main/java/com/example/storage/QuickstartOpenTelemetrySample.java @@ -51,7 +51,8 @@ public static void main(String... args) throws Exception { .build()) .build(); StorageOptions options = StorageOptions.newBuilder().setOpenTelemetry(openTelemetry).build(); - try (OpenTelemetrySdk otel = openTelemetry; Storage storage = options.getService()) { + try (OpenTelemetrySdk otel = openTelemetry; + Storage storage = options.getService()) { System.out.println("Created an instance of storage with OpenTelemetry configured"); } } diff --git a/samples/snippets/src/main/java/com/example/storage/bucket/AddBucketIamConditionalBinding.java b/samples/snippets/src/main/java/com/example/storage/bucket/AddBucketIamConditionalBinding.java index 75265546d7..131fe19d64 100644 --- a/samples/snippets/src/main/java/com/example/storage/bucket/AddBucketIamConditionalBinding.java +++ b/samples/snippets/src/main/java/com/example/storage/bucket/AddBucketIamConditionalBinding.java @@ -39,7 +39,8 @@ public static void addBucketIamConditionalBinding(String projectId, String bucke // For more information please read: // https://cloud.google.com/storage/docs/access-control/iam - try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { + try (Storage storage = + StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { Policy originalPolicy = storage.getIamPolicy(bucketName, Storage.BucketSourceOption.requestedPolicyVersion(3)); diff --git a/samples/snippets/src/main/java/com/example/storage/bucket/AddBucketIamMember.java b/samples/snippets/src/main/java/com/example/storage/bucket/AddBucketIamMember.java index dcf00ea3f3..374fb80c88 100644 --- a/samples/snippets/src/main/java/com/example/storage/bucket/AddBucketIamMember.java +++ b/samples/snippets/src/main/java/com/example/storage/bucket/AddBucketIamMember.java @@ -37,7 +37,8 @@ public static void addBucketIamMember(String projectId, String bucketName) throw // For more information please read: // https://cloud.google.com/storage/docs/access-control/iam - try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { + try (Storage storage = + StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { Policy originalPolicy = storage.getIamPolicy(bucketName, Storage.BucketSourceOption.requestedPolicyVersion(3)); @@ -45,7 +46,8 @@ public static void addBucketIamMember(String projectId, String bucketName) throw String role = "roles/storage.objectViewer"; String member = "group:example@google.com"; - // getBindingsList() returns an ImmutableList and copying over to an ArrayList so it's mutable. + // getBindingsList() returns an ImmutableList and copying over to an ArrayList so it's + // mutable. List bindings = new ArrayList(originalPolicy.getBindingsList()); // Create a new binding using role and member diff --git a/samples/snippets/src/main/java/com/example/storage/bucket/AddBucketLabel.java b/samples/snippets/src/main/java/com/example/storage/bucket/AddBucketLabel.java index 86d39e3536..a1ce5d1d06 100644 --- a/samples/snippets/src/main/java/com/example/storage/bucket/AddBucketLabel.java +++ b/samples/snippets/src/main/java/com/example/storage/bucket/AddBucketLabel.java @@ -42,7 +42,8 @@ public static void addBucketLabel( Map newLabels = new HashMap<>(); newLabels.put(labelKey, labelValue); - try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { + try (Storage storage = + StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { Bucket bucket = storage.get(bucketName); Map labels = bucket.getLabels(); if (labels != null) { @@ -51,7 +52,12 @@ public static void addBucketLabel( bucket.toBuilder().setLabels(newLabels).build().update(); System.out.println( - "Added label " + labelKey + " with value " + labelValue + " to bucket " + bucketName + "Added label " + + labelKey + + " with value " + + labelValue + + " to bucket " + + bucketName + "."); } } diff --git a/samples/snippets/src/main/java/com/example/storage/bucket/AddBucketOwner.java b/samples/snippets/src/main/java/com/example/storage/bucket/AddBucketOwner.java index 14c50d382c..0d224719da 100644 --- a/samples/snippets/src/main/java/com/example/storage/bucket/AddBucketOwner.java +++ b/samples/snippets/src/main/java/com/example/storage/bucket/AddBucketOwner.java @@ -38,7 +38,8 @@ public static void addBucketOwner(String projectId, String bucketName, String us // Email of the user you wish to add as an owner // String userEmail = "someuser@domain.com" - try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { + try (Storage storage = + StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { Bucket bucket = storage.get(bucketName); Acl newOwner = Acl.of(new User(userEmail), Role.OWNER); diff --git a/samples/snippets/src/main/java/com/example/storage/bucket/ChangeDefaultStorageClass.java b/samples/snippets/src/main/java/com/example/storage/bucket/ChangeDefaultStorageClass.java index a67c7e8109..4b8c0c837c 100644 --- a/samples/snippets/src/main/java/com/example/storage/bucket/ChangeDefaultStorageClass.java +++ b/samples/snippets/src/main/java/com/example/storage/bucket/ChangeDefaultStorageClass.java @@ -35,7 +35,8 @@ public static void changeDefaultStorageClass(String projectId, String bucketName // https://googleapis.dev/java/google-cloud-clients/latest/com/google/cloud/storage/StorageClass.html StorageClass storageClass = StorageClass.COLDLINE; - try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { + try (Storage storage = + StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { Bucket bucket = storage.get(bucketName); bucket = bucket.toBuilder().setStorageClass(storageClass).build().update(); diff --git a/samples/snippets/src/main/java/com/example/storage/bucket/ConfigureBucketCors.java b/samples/snippets/src/main/java/com/example/storage/bucket/ConfigureBucketCors.java index 7ae738cd42..d934d833ea 100644 --- a/samples/snippets/src/main/java/com/example/storage/bucket/ConfigureBucketCors.java +++ b/samples/snippets/src/main/java/com/example/storage/bucket/ConfigureBucketCors.java @@ -30,7 +30,8 @@ public static void configureBucketCors( String bucketName, String origin, String responseHeader, - Integer maxAgeSeconds) throws Exception { + Integer maxAgeSeconds) + throws Exception { // The ID of your GCP project // String projectId = "your-project-id"; @@ -47,7 +48,8 @@ public static void configureBucketCors( // requests // Integer maxAgeSeconds = 3600; - try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { + try (Storage storage = + StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { Bucket bucket = storage.get(bucketName); // See the HttpMethod documentation for other HTTP methods available: diff --git a/samples/snippets/src/main/java/com/example/storage/bucket/CreateBucket.java b/samples/snippets/src/main/java/com/example/storage/bucket/CreateBucket.java index 195ba651f2..691acc2279 100644 --- a/samples/snippets/src/main/java/com/example/storage/bucket/CreateBucket.java +++ b/samples/snippets/src/main/java/com/example/storage/bucket/CreateBucket.java @@ -30,7 +30,8 @@ public static void createBucket(String projectId, String bucketName) throws Exce // The ID to give your GCS bucket // String bucketName = "your-unique-bucket-name"; - try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { + try (Storage storage = + StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { Bucket bucket = storage.create(BucketInfo.newBuilder(bucketName).build()); diff --git a/samples/snippets/src/main/java/com/example/storage/bucket/CreateBucketDualRegion.java b/samples/snippets/src/main/java/com/example/storage/bucket/CreateBucketDualRegion.java index dce6f8cd7d..944d686b29 100644 --- a/samples/snippets/src/main/java/com/example/storage/bucket/CreateBucketDualRegion.java +++ b/samples/snippets/src/main/java/com/example/storage/bucket/CreateBucketDualRegion.java @@ -28,11 +28,8 @@ public class CreateBucketDualRegion { public static void createBucketDualRegion( - String projectId, - String bucketName, - String location, - String firstRegion, - String secondRegion) throws Exception { + String projectId, String bucketName, String location, String firstRegion, String secondRegion) + throws Exception { // The ID of your GCP project. // String projectId = "your-project-id"; @@ -51,7 +48,8 @@ public static void createBucketDualRegion( // See this documentation for other valid locations and regions: // https://cloud.google.com/storage/docs/locations - try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { + try (Storage storage = + StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { CustomPlacementConfig config = CustomPlacementConfig.newBuilder() diff --git a/samples/snippets/src/main/java/com/example/storage/bucket/CreateBucketPubSubNotification.java b/samples/snippets/src/main/java/com/example/storage/bucket/CreateBucketPubSubNotification.java index 9356c39fd8..a082a1a317 100644 --- a/samples/snippets/src/main/java/com/example/storage/bucket/CreateBucketPubSubNotification.java +++ b/samples/snippets/src/main/java/com/example/storage/bucket/CreateBucketPubSubNotification.java @@ -33,7 +33,8 @@ public static void createBucketPubSubNotification( Map customAttributes, EventType[] eventTypes, String objectNamePrefix, - PayloadFormat payloadFormat) throws Exception { + PayloadFormat payloadFormat) + throws Exception { // The ID to give your GCS bucket // String bucketName = "your-unique-bucket-name"; diff --git a/samples/snippets/src/main/java/com/example/storage/bucket/CreateBucketWithObjectRetention.java b/samples/snippets/src/main/java/com/example/storage/bucket/CreateBucketWithObjectRetention.java index f7617a4f57..5c657faa3a 100644 --- a/samples/snippets/src/main/java/com/example/storage/bucket/CreateBucketWithObjectRetention.java +++ b/samples/snippets/src/main/java/com/example/storage/bucket/CreateBucketWithObjectRetention.java @@ -32,7 +32,8 @@ public static void createBucketWithObjectRetention(String projectId, String buck // The ID to give your GCS bucket // String bucketName = "your-unique-bucket-name"; - try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { + try (Storage storage = + StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { Bucket bucket = storage.create( diff --git a/samples/snippets/src/main/java/com/example/storage/bucket/CreateBucketWithStorageClassAndLocation.java b/samples/snippets/src/main/java/com/example/storage/bucket/CreateBucketWithStorageClassAndLocation.java index c9f1093dfe..659f37fb9a 100644 --- a/samples/snippets/src/main/java/com/example/storage/bucket/CreateBucketWithStorageClassAndLocation.java +++ b/samples/snippets/src/main/java/com/example/storage/bucket/CreateBucketWithStorageClassAndLocation.java @@ -32,30 +32,31 @@ public static void createBucketWithStorageClassAndLocation(String projectId, Str // The ID to give your GCS bucket // String bucketName = "your-unique-bucket-name"; - try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { - - // See the StorageClass documentation for other valid storage classes: - // https://googleapis.dev/java/google-cloud-clients/latest/com/google/cloud/storage/StorageClass.html - StorageClass storageClass = StorageClass.COLDLINE; - - // See this documentation for other valid locations: - // http://g.co/cloud/storage/docs/bucket-locations#location-mr - String location = "ASIA"; - - Bucket bucket = - storage.create( - BucketInfo.newBuilder(bucketName) - .setStorageClass(storageClass) - .setLocation(location) - .build()); - - System.out.println( - "Created bucket " - + bucket.getName() - + " in " - + bucket.getLocation() - + " with storage class " - + bucket.getStorageClass()); + try (Storage storage = + StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { + + // See the StorageClass documentation for other valid storage classes: + // https://googleapis.dev/java/google-cloud-clients/latest/com/google/cloud/storage/StorageClass.html + StorageClass storageClass = StorageClass.COLDLINE; + + // See this documentation for other valid locations: + // http://g.co/cloud/storage/docs/bucket-locations#location-mr + String location = "ASIA"; + + Bucket bucket = + storage.create( + BucketInfo.newBuilder(bucketName) + .setStorageClass(storageClass) + .setLocation(location) + .build()); + + System.out.println( + "Created bucket " + + bucket.getName() + + " in " + + bucket.getLocation() + + " with storage class " + + bucket.getStorageClass()); } } } diff --git a/samples/snippets/src/main/java/com/example/storage/bucket/CreateBucketWithTurboReplication.java b/samples/snippets/src/main/java/com/example/storage/bucket/CreateBucketWithTurboReplication.java index ada7afe9c4..6cdcd9e3b4 100644 --- a/samples/snippets/src/main/java/com/example/storage/bucket/CreateBucketWithTurboReplication.java +++ b/samples/snippets/src/main/java/com/example/storage/bucket/CreateBucketWithTurboReplication.java @@ -35,22 +35,23 @@ public static void createBucketWithTurboReplication( // The dual-region location to create your bucket in // String location = "NAM4" - try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { - - Bucket bucket = - storage.create( - BucketInfo.newBuilder(bucketName) - .setLocation(location) - .setRpo(Rpo.ASYNC_TURBO) - .build()); - - System.out.println( - "Created bucket " - + bucket.getName() - + " in " - + bucket.getLocation() - + " with RPO setting" - + bucket.getRpo()); + try (Storage storage = + StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { + + Bucket bucket = + storage.create( + BucketInfo.newBuilder(bucketName) + .setLocation(location) + .setRpo(Rpo.ASYNC_TURBO) + .build()); + + System.out.println( + "Created bucket " + + bucket.getName() + + " in " + + bucket.getLocation() + + " with RPO setting" + + bucket.getRpo()); } } } diff --git a/samples/snippets/src/main/java/com/example/storage/bucket/DeleteBucket.java b/samples/snippets/src/main/java/com/example/storage/bucket/DeleteBucket.java index 9076c5548f..900ec3fed5 100644 --- a/samples/snippets/src/main/java/com/example/storage/bucket/DeleteBucket.java +++ b/samples/snippets/src/main/java/com/example/storage/bucket/DeleteBucket.java @@ -29,11 +29,12 @@ public static void deleteBucket(String projectId, String bucketName) throws Exce // The ID of the bucket to delete // String bucketName = "your-unique-bucket-name"; - try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { - Bucket bucket = storage.get(bucketName); - bucket.delete(); + try (Storage storage = + StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { + Bucket bucket = storage.get(bucketName); + bucket.delete(); - System.out.println("Bucket " + bucket.getName() + " was deleted"); + System.out.println("Bucket " + bucket.getName() + " was deleted"); } } } diff --git a/samples/snippets/src/main/java/com/example/storage/bucket/DisableBucketVersioning.java b/samples/snippets/src/main/java/com/example/storage/bucket/DisableBucketVersioning.java index 45e4f50da8..35a2e38471 100644 --- a/samples/snippets/src/main/java/com/example/storage/bucket/DisableBucketVersioning.java +++ b/samples/snippets/src/main/java/com/example/storage/bucket/DisableBucketVersioning.java @@ -29,11 +29,12 @@ public static void disableBucketVersioning(String projectId, String bucketName) // The ID of your GCS bucket // String bucketName = "your-unique-bucket-name"; - try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { - Bucket bucket = storage.get(bucketName); - bucket.toBuilder().setVersioningEnabled(false).build().update(); + try (Storage storage = + StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { + Bucket bucket = storage.get(bucketName); + bucket.toBuilder().setVersioningEnabled(false).build().update(); - System.out.println("Versioning is now disabled for bucket " + bucketName); + System.out.println("Versioning is now disabled for bucket " + bucketName); } } } diff --git a/samples/snippets/src/main/java/com/example/storage/bucket/DisableDefaultEventBasedHold.java b/samples/snippets/src/main/java/com/example/storage/bucket/DisableDefaultEventBasedHold.java index 290f6a07da..e031797591 100644 --- a/samples/snippets/src/main/java/com/example/storage/bucket/DisableDefaultEventBasedHold.java +++ b/samples/snippets/src/main/java/com/example/storage/bucket/DisableDefaultEventBasedHold.java @@ -32,14 +32,15 @@ public static void disableDefaultEventBasedHold(String projectId, String bucketN // The ID of your GCS bucket // String bucketName = "your-unique-bucket-name"; - try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { - // first look up the bucket, so we will have its metageneration - Bucket bucket = storage.get(bucketName); - storage.update( - bucket.toBuilder().setDefaultEventBasedHold(false).build(), - BucketTargetOption.metagenerationMatch()); + try (Storage storage = + StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { + // first look up the bucket, so we will have its metageneration + Bucket bucket = storage.get(bucketName); + storage.update( + bucket.toBuilder().setDefaultEventBasedHold(false).build(), + BucketTargetOption.metagenerationMatch()); - System.out.println("Default event-based hold was disabled for " + bucketName); + System.out.println("Default event-based hold was disabled for " + bucketName); } } } diff --git a/samples/snippets/src/main/java/com/example/storage/bucket/DisableLifecycleManagement.java b/samples/snippets/src/main/java/com/example/storage/bucket/DisableLifecycleManagement.java index 0bbb2d51e4..74a826da90 100644 --- a/samples/snippets/src/main/java/com/example/storage/bucket/DisableLifecycleManagement.java +++ b/samples/snippets/src/main/java/com/example/storage/bucket/DisableLifecycleManagement.java @@ -31,14 +31,15 @@ public static void disableLifecycleManagement(String projectId, String bucketNam // The ID of your GCS bucket // String bucketName = "your-unique-bucket-name"; - try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { - // first look up the bucket, so we will have its metageneration - Bucket bucket = storage.get(bucketName); - storage.update( - bucket.toBuilder().deleteLifecycleRules().build(), - BucketTargetOption.metagenerationMatch()); + try (Storage storage = + StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { + // first look up the bucket, so we will have its metageneration + Bucket bucket = storage.get(bucketName); + storage.update( + bucket.toBuilder().deleteLifecycleRules().build(), + BucketTargetOption.metagenerationMatch()); - System.out.println("Lifecycle management was disabled for bucket " + bucketName); + System.out.println("Lifecycle management was disabled for bucket " + bucketName); } } } diff --git a/samples/snippets/src/main/java/com/example/storage/bucket/DisableRequesterPays.java b/samples/snippets/src/main/java/com/example/storage/bucket/DisableRequesterPays.java index f18b8211f0..a02edb2f75 100644 --- a/samples/snippets/src/main/java/com/example/storage/bucket/DisableRequesterPays.java +++ b/samples/snippets/src/main/java/com/example/storage/bucket/DisableRequesterPays.java @@ -29,14 +29,15 @@ public static void disableRequesterPays(String projectId, String bucketName) thr // The ID of your GCS bucket // String bucketName = "your-unique-bucket-name"; - try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { - Bucket bucket = storage.get(bucketName, Storage.BucketGetOption.userProject(projectId)); - bucket.toBuilder() - .setRequesterPays(false) - .build() - .update(Storage.BucketTargetOption.userProject(projectId)); + try (Storage storage = + StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { + Bucket bucket = storage.get(bucketName, Storage.BucketGetOption.userProject(projectId)); + bucket.toBuilder() + .setRequesterPays(false) + .build() + .update(Storage.BucketTargetOption.userProject(projectId)); - System.out.println("Requester pays disabled for bucket " + bucketName); + System.out.println("Requester pays disabled for bucket " + bucketName); } } } diff --git a/samples/snippets/src/main/java/com/example/storage/bucket/DisableSoftDelete.java b/samples/snippets/src/main/java/com/example/storage/bucket/DisableSoftDelete.java index 57fb03c720..39d1de5703 100644 --- a/samples/snippets/src/main/java/com/example/storage/bucket/DisableSoftDelete.java +++ b/samples/snippets/src/main/java/com/example/storage/bucket/DisableSoftDelete.java @@ -31,18 +31,19 @@ public static void disableSoftDelete(String projectId, String bucketName) throws // The ID of your GCS bucket // String bucketName = "your-unique-bucket-name"; - try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { - Bucket bucket = storage.get(bucketName); - bucket.toBuilder() - .setSoftDeletePolicy( - // Setting the retention duration to 0 disables Soft Delete. - BucketInfo.SoftDeletePolicy.newBuilder() - .setRetentionDuration(Duration.ofSeconds(0)) - .build()) - .build() - .update(); + try (Storage storage = + StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { + Bucket bucket = storage.get(bucketName); + bucket.toBuilder() + .setSoftDeletePolicy( + // Setting the retention duration to 0 disables Soft Delete. + BucketInfo.SoftDeletePolicy.newBuilder() + .setRetentionDuration(Duration.ofSeconds(0)) + .build()) + .build() + .update(); - System.out.println("Soft delete for " + bucketName + " was disabled"); + System.out.println("Soft delete for " + bucketName + " was disabled"); } } } diff --git a/samples/snippets/src/main/java/com/example/storage/bucket/DisableUniformBucketLevelAccess.java b/samples/snippets/src/main/java/com/example/storage/bucket/DisableUniformBucketLevelAccess.java index 24998e0561..6a8a3df8f7 100644 --- a/samples/snippets/src/main/java/com/example/storage/bucket/DisableUniformBucketLevelAccess.java +++ b/samples/snippets/src/main/java/com/example/storage/bucket/DisableUniformBucketLevelAccess.java @@ -33,21 +33,22 @@ public static void disableUniformBucketLevelAccess(String projectId, String buck // The ID of your GCS bucket // String bucketName = "your-unique-bucket-name"; - try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { + try (Storage storage = + StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { - // first look up the bucket, so we will have its metageneration - Bucket bucket = storage.get(bucketName); + // first look up the bucket, so we will have its metageneration + Bucket bucket = storage.get(bucketName); - BucketInfo.IamConfiguration iamConfiguration = - BucketInfo.IamConfiguration.newBuilder() - .setIsUniformBucketLevelAccessEnabled(false) - .build(); + BucketInfo.IamConfiguration iamConfiguration = + BucketInfo.IamConfiguration.newBuilder() + .setIsUniformBucketLevelAccessEnabled(false) + .build(); - storage.update( - bucket.toBuilder().setIamConfiguration(iamConfiguration).build(), - BucketTargetOption.metagenerationMatch()); + storage.update( + bucket.toBuilder().setIamConfiguration(iamConfiguration).build(), + BucketTargetOption.metagenerationMatch()); - System.out.println("Uniform bucket-level access was disabled for " + bucketName); + System.out.println("Uniform bucket-level access was disabled for " + bucketName); } } } diff --git a/samples/snippets/src/main/java/com/example/storage/bucket/EnableBucketVersioning.java b/samples/snippets/src/main/java/com/example/storage/bucket/EnableBucketVersioning.java index b905e16e5b..0951bb0c4d 100644 --- a/samples/snippets/src/main/java/com/example/storage/bucket/EnableBucketVersioning.java +++ b/samples/snippets/src/main/java/com/example/storage/bucket/EnableBucketVersioning.java @@ -29,11 +29,12 @@ public static void enableBucketVersioning(String projectId, String bucketName) t // The ID of your GCS bucket // String bucketName = "your-unique-bucket-name"; - try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { - Bucket bucket = storage.get(bucketName); - bucket.toBuilder().setVersioningEnabled(true).build().update(); + try (Storage storage = + StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { + Bucket bucket = storage.get(bucketName); + bucket.toBuilder().setVersioningEnabled(true).build().update(); - System.out.println("Versioning is now enabled for bucket " + bucketName); + System.out.println("Versioning is now enabled for bucket " + bucketName); } } } diff --git a/samples/snippets/src/main/java/com/example/storage/bucket/EnableDefaultEventBasedHold.java b/samples/snippets/src/main/java/com/example/storage/bucket/EnableDefaultEventBasedHold.java index 0f5367d988..76a5697bc2 100644 --- a/samples/snippets/src/main/java/com/example/storage/bucket/EnableDefaultEventBasedHold.java +++ b/samples/snippets/src/main/java/com/example/storage/bucket/EnableDefaultEventBasedHold.java @@ -32,14 +32,15 @@ public static void enableDefaultEventBasedHold(String projectId, String bucketNa // The ID of your GCS bucket // String bucketName = "your-unique-bucket-name"; - try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { - // first look up the bucket, so we will have its metageneration - Bucket bucket = storage.get(bucketName); - storage.update( - bucket.toBuilder().setDefaultEventBasedHold(true).build(), - BucketTargetOption.metagenerationMatch()); + try (Storage storage = + StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { + // first look up the bucket, so we will have its metageneration + Bucket bucket = storage.get(bucketName); + storage.update( + bucket.toBuilder().setDefaultEventBasedHold(true).build(), + BucketTargetOption.metagenerationMatch()); - System.out.println("Default event-based hold was enabled for " + bucketName); + System.out.println("Default event-based hold was enabled for " + bucketName); } } } diff --git a/samples/snippets/src/main/java/com/example/storage/bucket/EnableLifecycleManagement.java b/samples/snippets/src/main/java/com/example/storage/bucket/EnableLifecycleManagement.java index c4e2a804fb..12d7debcdf 100644 --- a/samples/snippets/src/main/java/com/example/storage/bucket/EnableLifecycleManagement.java +++ b/samples/snippets/src/main/java/com/example/storage/bucket/EnableLifecycleManagement.java @@ -35,22 +35,24 @@ public static void enableLifecycleManagement(String projectId, String bucketName // The ID of your GCS bucket // String bucketName = "your-unique-bucket-name"; - try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { - Bucket bucket = storage.get(bucketName); - - // See the LifecycleRule documentation for additional info on what you can do with lifecycle - // management rules. This one deletes objects that are over 100 days old. - // https://googleapis.dev/java/google-cloud-clients/latest/com/google/cloud/storage/BucketInfo.LifecycleRule.html - bucket.toBuilder() - .setLifecycleRules( - ImmutableList.of( - new LifecycleRule( - LifecycleAction.newDeleteAction(), - LifecycleCondition.newBuilder().setAge(100).build()))) - .build() - .update(); - - System.out.println("Lifecycle management was enabled and configured for bucket " + bucketName); + try (Storage storage = + StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { + Bucket bucket = storage.get(bucketName); + + // See the LifecycleRule documentation for additional info on what you can do with lifecycle + // management rules. This one deletes objects that are over 100 days old. + // https://googleapis.dev/java/google-cloud-clients/latest/com/google/cloud/storage/BucketInfo.LifecycleRule.html + bucket.toBuilder() + .setLifecycleRules( + ImmutableList.of( + new LifecycleRule( + LifecycleAction.newDeleteAction(), + LifecycleCondition.newBuilder().setAge(100).build()))) + .build() + .update(); + + System.out.println( + "Lifecycle management was enabled and configured for bucket " + bucketName); } } } diff --git a/samples/snippets/src/main/java/com/example/storage/bucket/EnableRequesterPays.java b/samples/snippets/src/main/java/com/example/storage/bucket/EnableRequesterPays.java index 899aa7d220..08659c80a7 100644 --- a/samples/snippets/src/main/java/com/example/storage/bucket/EnableRequesterPays.java +++ b/samples/snippets/src/main/java/com/example/storage/bucket/EnableRequesterPays.java @@ -29,11 +29,12 @@ public static void enableRequesterPays(String projectId, String bucketName) thro // The ID of your GCS bucket // String bucketName = "your-unique-bucket-name"; - try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { - Bucket bucket = storage.get(bucketName); - bucket.toBuilder().setRequesterPays(true).build().update(); + try (Storage storage = + StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { + Bucket bucket = storage.get(bucketName); + bucket.toBuilder().setRequesterPays(true).build().update(); - System.out.println("Requester pays enabled for bucket " + bucketName); + System.out.println("Requester pays enabled for bucket " + bucketName); } } } diff --git a/samples/snippets/src/main/java/com/example/storage/bucket/EnableUniformBucketLevelAccess.java b/samples/snippets/src/main/java/com/example/storage/bucket/EnableUniformBucketLevelAccess.java index 6f9e127225..3c53167abd 100644 --- a/samples/snippets/src/main/java/com/example/storage/bucket/EnableUniformBucketLevelAccess.java +++ b/samples/snippets/src/main/java/com/example/storage/bucket/EnableUniformBucketLevelAccess.java @@ -33,23 +33,26 @@ public static void enableUniformBucketLevelAccess(String projectId, String bucke // The ID of your GCS bucket // String bucketName = "your-unique-bucket-name"; - try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { - - // first look up the bucket, so we will have its metageneration - Bucket bucket = storage.get(bucketName); - - BucketInfo.IamConfiguration iamConfiguration = - BucketInfo.IamConfiguration.newBuilder().setIsUniformBucketLevelAccessEnabled(true).build(); - - storage.update( - bucket.toBuilder() - .setIamConfiguration(iamConfiguration) - .setAcl(null) - .setDefaultAcl(null) - .build(), - BucketTargetOption.metagenerationMatch()); - - System.out.println("Uniform bucket-level access was enabled for " + bucketName); + try (Storage storage = + StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { + + // first look up the bucket, so we will have its metageneration + Bucket bucket = storage.get(bucketName); + + BucketInfo.IamConfiguration iamConfiguration = + BucketInfo.IamConfiguration.newBuilder() + .setIsUniformBucketLevelAccessEnabled(true) + .build(); + + storage.update( + bucket.toBuilder() + .setIamConfiguration(iamConfiguration) + .setAcl(null) + .setDefaultAcl(null) + .build(), + BucketTargetOption.metagenerationMatch()); + + System.out.println("Uniform bucket-level access was enabled for " + bucketName); } } } diff --git a/samples/snippets/src/main/java/com/example/storage/bucket/GetBucketAutoclass.java b/samples/snippets/src/main/java/com/example/storage/bucket/GetBucketAutoclass.java index 734b43ce2e..496ca988d6 100644 --- a/samples/snippets/src/main/java/com/example/storage/bucket/GetBucketAutoclass.java +++ b/samples/snippets/src/main/java/com/example/storage/bucket/GetBucketAutoclass.java @@ -32,24 +32,25 @@ public static void getBucketAutoclass(String projectId, String bucketName) throw // The ID of your GCS bucket // String bucketName = "your-unique-bucket-name"; - try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { - Autoclass autoclass = storage.get(bucketName).getAutoclass(); - String status = autoclass.getEnabled() ? "enabled" : "disabled"; - String toggleTime = autoclass.getToggleTime().toString(); - StorageClass terminalStorageClass = autoclass.getTerminalStorageClass(); - OffsetDateTime terminalStorageClassUpdateTime = autoclass.getTerminalStorageClassUpdateTime(); + try (Storage storage = + StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { + Autoclass autoclass = storage.get(bucketName).getAutoclass(); + String status = autoclass.getEnabled() ? "enabled" : "disabled"; + String toggleTime = autoclass.getToggleTime().toString(); + StorageClass terminalStorageClass = autoclass.getTerminalStorageClass(); + OffsetDateTime terminalStorageClassUpdateTime = autoclass.getTerminalStorageClassUpdateTime(); - System.out.println( - "Autoclass is currently " - + status - + " for bucket " - + bucketName - + " and was last changed at " - + toggleTime - + ". The terminal storage class is set to be " - + terminalStorageClass.name() - + " last updated at " - + terminalStorageClassUpdateTime.toString()); + System.out.println( + "Autoclass is currently " + + status + + " for bucket " + + bucketName + + " and was last changed at " + + toggleTime + + ". The terminal storage class is set to be " + + terminalStorageClass.name() + + " last updated at " + + terminalStorageClassUpdateTime.toString()); } } } diff --git a/samples/snippets/src/main/java/com/example/storage/bucket/GetBucketMetadata.java b/samples/snippets/src/main/java/com/example/storage/bucket/GetBucketMetadata.java index f1e5bdc8a1..341dbfad27 100644 --- a/samples/snippets/src/main/java/com/example/storage/bucket/GetBucketMetadata.java +++ b/samples/snippets/src/main/java/com/example/storage/bucket/GetBucketMetadata.java @@ -32,44 +32,45 @@ public static void getBucketMetadata(String projectId, String bucketName) throws // The ID of your GCS bucket // String bucketName = "your-unique-bucket-name"; - try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { + try (Storage storage = + StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { - // Select all fields. Fields can be selected individually e.g. Storage.BucketField.NAME - Bucket bucket = - storage.get(bucketName, Storage.BucketGetOption.fields(Storage.BucketField.values())); + // Select all fields. Fields can be selected individually e.g. Storage.BucketField.NAME + Bucket bucket = + storage.get(bucketName, Storage.BucketGetOption.fields(Storage.BucketField.values())); - // Print bucket metadata - System.out.println("BucketName: " + bucket.getName()); - System.out.println("DefaultEventBasedHold: " + bucket.getDefaultEventBasedHold()); - System.out.println("DefaultKmsKeyName: " + bucket.getDefaultKmsKeyName()); - System.out.println("Id: " + bucket.getGeneratedId()); - System.out.println("IndexPage: " + bucket.getIndexPage()); - System.out.println("Location: " + bucket.getLocation()); - System.out.println("LocationType: " + bucket.getLocationType()); - System.out.println("Metageneration: " + bucket.getMetageneration()); - System.out.println("NotFoundPage: " + bucket.getNotFoundPage()); - System.out.println("RetentionEffectiveTime: " + bucket.getRetentionEffectiveTime()); - System.out.println("RetentionPeriod: " + bucket.getRetentionPeriod()); - System.out.println("RetentionPolicyIsLocked: " + bucket.retentionPolicyIsLocked()); - System.out.println("RequesterPays: " + bucket.requesterPays()); - System.out.println("SelfLink: " + bucket.getSelfLink()); - System.out.println("StorageClass: " + bucket.getStorageClass().name()); - System.out.println("TimeCreated: " + bucket.getCreateTime()); - System.out.println("VersioningEnabled: " + bucket.versioningEnabled()); - System.out.println("ObjectRetention: " + bucket.getObjectRetention()); - if (bucket.getLabels() != null) { - System.out.println("\n\n\nLabels:"); - for (Map.Entry label : bucket.getLabels().entrySet()) { - System.out.println(label.getKey() + "=" + label.getValue()); + // Print bucket metadata + System.out.println("BucketName: " + bucket.getName()); + System.out.println("DefaultEventBasedHold: " + bucket.getDefaultEventBasedHold()); + System.out.println("DefaultKmsKeyName: " + bucket.getDefaultKmsKeyName()); + System.out.println("Id: " + bucket.getGeneratedId()); + System.out.println("IndexPage: " + bucket.getIndexPage()); + System.out.println("Location: " + bucket.getLocation()); + System.out.println("LocationType: " + bucket.getLocationType()); + System.out.println("Metageneration: " + bucket.getMetageneration()); + System.out.println("NotFoundPage: " + bucket.getNotFoundPage()); + System.out.println("RetentionEffectiveTime: " + bucket.getRetentionEffectiveTime()); + System.out.println("RetentionPeriod: " + bucket.getRetentionPeriod()); + System.out.println("RetentionPolicyIsLocked: " + bucket.retentionPolicyIsLocked()); + System.out.println("RequesterPays: " + bucket.requesterPays()); + System.out.println("SelfLink: " + bucket.getSelfLink()); + System.out.println("StorageClass: " + bucket.getStorageClass().name()); + System.out.println("TimeCreated: " + bucket.getCreateTime()); + System.out.println("VersioningEnabled: " + bucket.versioningEnabled()); + System.out.println("ObjectRetention: " + bucket.getObjectRetention()); + if (bucket.getLabels() != null) { + System.out.println("\n\n\nLabels:"); + for (Map.Entry label : bucket.getLabels().entrySet()) { + System.out.println(label.getKey() + "=" + label.getValue()); + } } - } - if (bucket.getLifecycleRules() != null) { - System.out.println("\n\n\nLifecycle Rules:"); - for (BucketInfo.LifecycleRule rule : bucket.getLifecycleRules()) { - System.out.println(rule); + if (bucket.getLifecycleRules() != null) { + System.out.println("\n\n\nLifecycle Rules:"); + for (BucketInfo.LifecycleRule rule : bucket.getLifecycleRules()) { + System.out.println(rule); + } } } - } } } // [END storage_get_bucket_metadata] diff --git a/samples/snippets/src/main/java/com/example/storage/bucket/GetBucketRpo.java b/samples/snippets/src/main/java/com/example/storage/bucket/GetBucketRpo.java index 35d832cfc3..f04ce49582 100644 --- a/samples/snippets/src/main/java/com/example/storage/bucket/GetBucketRpo.java +++ b/samples/snippets/src/main/java/com/example/storage/bucket/GetBucketRpo.java @@ -29,11 +29,12 @@ public static void getBucketRpo(String projectId, String bucketName) throws Exce // The ID of your GCS bucket // String bucketName = "your-unique-bucket-name"; - try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { - Bucket bucket = storage.get(bucketName); - String rpo = bucket.getRpo().toString(); + try (Storage storage = + StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { + Bucket bucket = storage.get(bucketName); + String rpo = bucket.getRpo().toString(); - System.out.println("The RPO setting of bucket " + bucketName + " is " + rpo); + System.out.println("The RPO setting of bucket " + bucketName + " is " + rpo); } } } diff --git a/samples/snippets/src/main/java/com/example/storage/bucket/GetDefaultEventBasedHold.java b/samples/snippets/src/main/java/com/example/storage/bucket/GetDefaultEventBasedHold.java index 06f9aa8779..bef3984045 100644 --- a/samples/snippets/src/main/java/com/example/storage/bucket/GetDefaultEventBasedHold.java +++ b/samples/snippets/src/main/java/com/example/storage/bucket/GetDefaultEventBasedHold.java @@ -31,17 +31,18 @@ public static void getDefaultEventBasedHold(String projectId, String bucketName) // The ID of your GCS bucket // String bucketName = "your-unique-bucket-name"; - try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { - Bucket bucket = - storage.get( - bucketName, - Storage.BucketGetOption.fields(Storage.BucketField.DEFAULT_EVENT_BASED_HOLD)); + try (Storage storage = + StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { + Bucket bucket = + storage.get( + bucketName, + Storage.BucketGetOption.fields(Storage.BucketField.DEFAULT_EVENT_BASED_HOLD)); - if (bucket.getDefaultEventBasedHold() != null && bucket.getDefaultEventBasedHold()) { - System.out.println("Default event-based hold is enabled for " + bucketName); - } else { - System.out.println("Default event-based hold is not enabled for " + bucketName); - } + if (bucket.getDefaultEventBasedHold() != null && bucket.getDefaultEventBasedHold()) { + System.out.println("Default event-based hold is enabled for " + bucketName); + } else { + System.out.println("Default event-based hold is not enabled for " + bucketName); + } } } } diff --git a/samples/snippets/src/main/java/com/example/storage/bucket/GetPublicAccessPrevention.java b/samples/snippets/src/main/java/com/example/storage/bucket/GetPublicAccessPrevention.java index 313a1f94e9..047eeba7b0 100644 --- a/samples/snippets/src/main/java/com/example/storage/bucket/GetPublicAccessPrevention.java +++ b/samples/snippets/src/main/java/com/example/storage/bucket/GetPublicAccessPrevention.java @@ -31,21 +31,21 @@ public static void getPublicAccessPrevention(String projectId, String bucketName // The ID of your GCS bucket // String bucketName = "your-unique-bucket-name"; - try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { - Bucket bucket = storage.get(bucketName); - - // Gets Bucket Metadata and prints publicAccessPrevention value (either 'inherited' or - // 'enforced'). - BucketInfo.PublicAccessPrevention publicAccessPrevention = - bucket.getIamConfiguration().getPublicAccessPrevention(); - - System.out.println( - "Public access prevention is set to " - + publicAccessPrevention.getValue() - + " for " - + bucketName); + try (Storage storage = + StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { + Bucket bucket = storage.get(bucketName); + + // Gets Bucket Metadata and prints publicAccessPrevention value (either 'inherited' or + // 'enforced'). + BucketInfo.PublicAccessPrevention publicAccessPrevention = + bucket.getIamConfiguration().getPublicAccessPrevention(); + + System.out.println( + "Public access prevention is set to " + + publicAccessPrevention.getValue() + + " for " + + bucketName); + } } - } - } // [END storage_get_public_access_prevention] diff --git a/samples/snippets/src/main/java/com/example/storage/bucket/GetRequesterPaysStatus.java b/samples/snippets/src/main/java/com/example/storage/bucket/GetRequesterPaysStatus.java index 17d240127f..88af7852a8 100644 --- a/samples/snippets/src/main/java/com/example/storage/bucket/GetRequesterPaysStatus.java +++ b/samples/snippets/src/main/java/com/example/storage/bucket/GetRequesterPaysStatus.java @@ -23,19 +23,19 @@ import com.google.cloud.storage.StorageOptions; public class GetRequesterPaysStatus { - public static void getRequesterPaysStatus(String projectId, String bucketName) - throws Exception { + public static void getRequesterPaysStatus(String projectId, String bucketName) throws Exception { // The ID of your GCP project // String projectId = "your-project-id"; // The ID of your GCS bucket // String bucketName = "your-unique-bucket-name"; - try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { - Bucket bucket = - storage.get(bucketName, Storage.BucketGetOption.fields(Storage.BucketField.BILLING)); + try (Storage storage = + StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { + Bucket bucket = + storage.get(bucketName, Storage.BucketGetOption.fields(Storage.BucketField.BILLING)); - System.out.println("Requester pays status : " + bucket.requesterPays()); + System.out.println("Requester pays status : " + bucket.requesterPays()); } } } diff --git a/samples/snippets/src/main/java/com/example/storage/bucket/GetRetentionPolicy.java b/samples/snippets/src/main/java/com/example/storage/bucket/GetRetentionPolicy.java index 4b68242b40..3893ad1892 100644 --- a/samples/snippets/src/main/java/com/example/storage/bucket/GetRetentionPolicy.java +++ b/samples/snippets/src/main/java/com/example/storage/bucket/GetRetentionPolicy.java @@ -24,27 +24,27 @@ import java.util.Date; public class GetRetentionPolicy { - public static void getRetentionPolicy(String projectId, String bucketName) - throws Exception { + public static void getRetentionPolicy(String projectId, String bucketName) throws Exception { // The ID of your GCP project // String projectId = "your-project-id"; // The ID of your GCS bucket // String bucketName = "your-unique-bucket-name"; - try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { - Bucket bucket = - storage.get( - bucketName, Storage.BucketGetOption.fields(Storage.BucketField.RETENTION_POLICY)); + try (Storage storage = + StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { + Bucket bucket = + storage.get( + bucketName, Storage.BucketGetOption.fields(Storage.BucketField.RETENTION_POLICY)); - System.out.println("Retention Policy for " + bucketName); - System.out.println("Retention Period: " + bucket.getRetentionPeriod()); - if (bucket.retentionPolicyIsLocked() != null && bucket.retentionPolicyIsLocked()) { - System.out.println("Retention Policy is locked"); - } - if (bucket.getRetentionEffectiveTime() != null) { - System.out.println("Effective Time: " + new Date(bucket.getRetentionEffectiveTime())); - } + System.out.println("Retention Policy for " + bucketName); + System.out.println("Retention Period: " + bucket.getRetentionPeriod()); + if (bucket.retentionPolicyIsLocked() != null && bucket.retentionPolicyIsLocked()) { + System.out.println("Retention Policy is locked"); + } + if (bucket.getRetentionEffectiveTime() != null) { + System.out.println("Effective Time: " + new Date(bucket.getRetentionEffectiveTime())); + } } } } diff --git a/samples/snippets/src/main/java/com/example/storage/bucket/GetSoftDeletePolicy.java b/samples/snippets/src/main/java/com/example/storage/bucket/GetSoftDeletePolicy.java index 219cd5832a..a0152d6f50 100644 --- a/samples/snippets/src/main/java/com/example/storage/bucket/GetSoftDeletePolicy.java +++ b/samples/snippets/src/main/java/com/example/storage/bucket/GetSoftDeletePolicy.java @@ -30,15 +30,16 @@ public static void getSoftDeletePolicy(String projectId, String bucketName) thro // The ID of your GCS bucket // String bucketName = "your-unique-bucket-name"; - try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { - SoftDeletePolicy policy = storage.get(bucketName).getSoftDeletePolicy(); + try (Storage storage = + StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { + SoftDeletePolicy policy = storage.get(bucketName).getSoftDeletePolicy(); - if (Duration.ofSeconds(0).equals(policy.getRetentionDuration())) { - System.out.println("Soft delete is disabled for " + bucketName); - } else { - System.out.println("The soft delete policy for " + bucketName + " is:"); - System.out.println(policy); - } + if (Duration.ofSeconds(0).equals(policy.getRetentionDuration())) { + System.out.println("Soft delete is disabled for " + bucketName); + } else { + System.out.println("The soft delete policy for " + bucketName + " is:"); + System.out.println(policy); + } } } } diff --git a/samples/snippets/src/main/java/com/example/storage/bucket/GetUniformBucketLevelAccess.java b/samples/snippets/src/main/java/com/example/storage/bucket/GetUniformBucketLevelAccess.java index 2cbe973fda..aa3b11b187 100644 --- a/samples/snippets/src/main/java/com/example/storage/bucket/GetUniformBucketLevelAccess.java +++ b/samples/snippets/src/main/java/com/example/storage/bucket/GetUniformBucketLevelAccess.java @@ -33,21 +33,22 @@ public static void getUniformBucketLevelAccess(String projectId, String bucketNa // The ID of your GCS bucket // String bucketName = "your-unique-bucket-name"; - try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { - Bucket bucket = - storage.get( - bucketName, Storage.BucketGetOption.fields(Storage.BucketField.IAMCONFIGURATION)); - BucketInfo.IamConfiguration iamConfiguration = bucket.getIamConfiguration(); - - Boolean enabled = iamConfiguration.isUniformBucketLevelAccessEnabled(); - Date lockedTime = new Date(iamConfiguration.getUniformBucketLevelAccessLockedTime()); - - if (enabled != null && enabled) { - System.out.println("Uniform bucket-level access is enabled for " + bucketName); - System.out.println("Bucket will be locked on " + lockedTime); - } else { - System.out.println("Uniform bucket-level access is disabled for " + bucketName); - } + try (Storage storage = + StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { + Bucket bucket = + storage.get( + bucketName, Storage.BucketGetOption.fields(Storage.BucketField.IAMCONFIGURATION)); + BucketInfo.IamConfiguration iamConfiguration = bucket.getIamConfiguration(); + + Boolean enabled = iamConfiguration.isUniformBucketLevelAccessEnabled(); + Date lockedTime = new Date(iamConfiguration.getUniformBucketLevelAccessLockedTime()); + + if (enabled != null && enabled) { + System.out.println("Uniform bucket-level access is enabled for " + bucketName); + System.out.println("Bucket will be locked on " + lockedTime); + } else { + System.out.println("Uniform bucket-level access is disabled for " + bucketName); + } } } } diff --git a/samples/snippets/src/main/java/com/example/storage/bucket/ListBucketIamMembers.java b/samples/snippets/src/main/java/com/example/storage/bucket/ListBucketIamMembers.java index 2cef93eb26..c5e236e1b3 100644 --- a/samples/snippets/src/main/java/com/example/storage/bucket/ListBucketIamMembers.java +++ b/samples/snippets/src/main/java/com/example/storage/bucket/ListBucketIamMembers.java @@ -32,24 +32,25 @@ public static void listBucketIamMembers(String projectId, String bucketName) thr // For more information please read: // https://cloud.google.com/storage/docs/access-control/iam - try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { - - Policy policy = - storage.getIamPolicy(bucketName, Storage.BucketSourceOption.requestedPolicyVersion(3)); - - // Print binding information - for (Binding binding : policy.getBindingsList()) { - System.out.printf("Role: %s Members: %s\n", binding.getRole(), binding.getMembers()); - - // Print condition if one is set - boolean bindingIsConditional = binding.getCondition() != null; - if (bindingIsConditional) { - System.out.printf("Condition Title: %s\n", binding.getCondition().getTitle()); - System.out.printf("Condition Description: %s\n", binding.getCondition().getDescription()); - System.out.printf("Condition Expression: %s\n", binding.getCondition().getExpression()); + try (Storage storage = + StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { + + Policy policy = + storage.getIamPolicy(bucketName, Storage.BucketSourceOption.requestedPolicyVersion(3)); + + // Print binding information + for (Binding binding : policy.getBindingsList()) { + System.out.printf("Role: %s Members: %s\n", binding.getRole(), binding.getMembers()); + + // Print condition if one is set + boolean bindingIsConditional = binding.getCondition() != null; + if (bindingIsConditional) { + System.out.printf("Condition Title: %s\n", binding.getCondition().getTitle()); + System.out.printf("Condition Description: %s\n", binding.getCondition().getDescription()); + System.out.printf("Condition Expression: %s\n", binding.getCondition().getExpression()); + } } } - } } } // [END storage_view_bucket_iam_members] diff --git a/samples/snippets/src/main/java/com/example/storage/bucket/ListBuckets.java b/samples/snippets/src/main/java/com/example/storage/bucket/ListBuckets.java index ef6ca2dd75..21ec0c2d1f 100644 --- a/samples/snippets/src/main/java/com/example/storage/bucket/ListBuckets.java +++ b/samples/snippets/src/main/java/com/example/storage/bucket/ListBuckets.java @@ -27,12 +27,13 @@ public static void listBuckets(String projectId) throws Exception { // The ID of your GCP project // String projectId = "your-project-id"; - try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { - Page buckets = storage.list(); + try (Storage storage = + StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { + Page buckets = storage.list(); - for (Bucket bucket : buckets.iterateAll()) { - System.out.println(bucket.getName()); - } + for (Bucket bucket : buckets.iterateAll()) { + System.out.println(bucket.getName()); + } } } } diff --git a/samples/snippets/src/main/java/com/example/storage/bucket/LockRetentionPolicy.java b/samples/snippets/src/main/java/com/example/storage/bucket/LockRetentionPolicy.java index 574489f95d..0a72b8ae92 100644 --- a/samples/snippets/src/main/java/com/example/storage/bucket/LockRetentionPolicy.java +++ b/samples/snippets/src/main/java/com/example/storage/bucket/LockRetentionPolicy.java @@ -24,23 +24,24 @@ import java.util.Date; public class LockRetentionPolicy { - public static void lockRetentionPolicy(String projectId, String bucketName) - throws Exception { + public static void lockRetentionPolicy(String projectId, String bucketName) throws Exception { // The ID of your GCP project // String projectId = "your-project-id"; // The ID of your GCS bucket // String bucketName = "your-unique-bucket-name"; - try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { - Bucket bucket = - storage.get(bucketName, Storage.BucketGetOption.fields(Storage.BucketField.METAGENERATION)); - Bucket lockedBucket = - bucket.lockRetentionPolicy(Storage.BucketTargetOption.metagenerationMatch()); + try (Storage storage = + StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { + Bucket bucket = + storage.get( + bucketName, Storage.BucketGetOption.fields(Storage.BucketField.METAGENERATION)); + Bucket lockedBucket = + bucket.lockRetentionPolicy(Storage.BucketTargetOption.metagenerationMatch()); - System.out.println("Retention period for " + bucketName + " is now locked"); - System.out.println( - "Retention policy effective as of " + new Date(lockedBucket.getRetentionEffectiveTime())); + System.out.println("Retention period for " + bucketName + " is now locked"); + System.out.println( + "Retention policy effective as of " + new Date(lockedBucket.getRetentionEffectiveTime())); } } } diff --git a/samples/snippets/src/main/java/com/example/storage/bucket/MakeBucketPublic.java b/samples/snippets/src/main/java/com/example/storage/bucket/MakeBucketPublic.java index d800d3ee6d..58c6b9eefd 100644 --- a/samples/snippets/src/main/java/com/example/storage/bucket/MakeBucketPublic.java +++ b/samples/snippets/src/main/java/com/example/storage/bucket/MakeBucketPublic.java @@ -31,15 +31,16 @@ public static void makeBucketPublic(String projectId, String bucketName) throws // The ID of your GCS bucket // String bucketName = "your-unique-bucket-name"; - try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { - Policy originalPolicy = storage.getIamPolicy(bucketName); - storage.setIamPolicy( - bucketName, - originalPolicy.toBuilder() - .addIdentity(StorageRoles.objectViewer(), Identity.allUsers()) // All users can view - .build()); + try (Storage storage = + StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { + Policy originalPolicy = storage.getIamPolicy(bucketName); + storage.setIamPolicy( + bucketName, + originalPolicy.toBuilder() + .addIdentity(StorageRoles.objectViewer(), Identity.allUsers()) // All users can view + .build()); - System.out.println("Bucket " + bucketName + " is now publicly readable"); + System.out.println("Bucket " + bucketName + " is now publicly readable"); } } } diff --git a/samples/snippets/src/main/java/com/example/storage/bucket/PrintBucketAcl.java b/samples/snippets/src/main/java/com/example/storage/bucket/PrintBucketAcl.java index d3cb6547c8..a49ccd4246 100644 --- a/samples/snippets/src/main/java/com/example/storage/bucket/PrintBucketAcl.java +++ b/samples/snippets/src/main/java/com/example/storage/bucket/PrintBucketAcl.java @@ -30,22 +30,23 @@ public static void printBucketAcl(String projectId, String bucketName) throws Ex // The ID of your GCS bucket // String bucketName = "your-unique-bucket-name"; - try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { - Bucket bucket = storage.get(bucketName); - List bucketAcls = bucket.getAcl(); + try (Storage storage = + StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { + Bucket bucket = storage.get(bucketName); + List bucketAcls = bucket.getAcl(); - for (Acl acl : bucketAcls) { + for (Acl acl : bucketAcls) { - // This will give you the role. - // See https://cloud.google.com/storage/docs/access-control/lists#permissions - String role = acl.getRole().name(); + // This will give you the role. + // See https://cloud.google.com/storage/docs/access-control/lists#permissions + String role = acl.getRole().name(); - // This will give you the Entity type (i.e. User, Group, Project etc.) - // See https://cloud.google.com/storage/docs/access-control/lists#scopes - String entityType = acl.getEntity().getType().name(); + // This will give you the Entity type (i.e. User, Group, Project etc.) + // See https://cloud.google.com/storage/docs/access-control/lists#scopes + String entityType = acl.getEntity().getType().name(); - System.out.printf("%s: %s \n", role, entityType); - } + System.out.printf("%s: %s \n", role, entityType); + } } } } diff --git a/samples/snippets/src/main/java/com/example/storage/bucket/RemoveBucketCors.java b/samples/snippets/src/main/java/com/example/storage/bucket/RemoveBucketCors.java index d1e63128fd..85cd0ffa33 100644 --- a/samples/snippets/src/main/java/com/example/storage/bucket/RemoveBucketCors.java +++ b/samples/snippets/src/main/java/com/example/storage/bucket/RemoveBucketCors.java @@ -33,19 +33,20 @@ public static void removeBucketCors(String projectId, String bucketName) throws // The ID of your GCS bucket // String bucketName = "your-unique-bucket-name"; - try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { - Bucket bucket = - storage.get(bucketName, Storage.BucketGetOption.fields(Storage.BucketField.CORS)); + try (Storage storage = + StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { + Bucket bucket = + storage.get(bucketName, Storage.BucketGetOption.fields(Storage.BucketField.CORS)); - // getCors() returns the List and copying over to an ArrayList so it's mutable. - List cors = new ArrayList<>(bucket.getCors()); + // getCors() returns the List and copying over to an ArrayList so it's mutable. + List cors = new ArrayList<>(bucket.getCors()); - // Clear bucket CORS configuration. - cors.clear(); + // Clear bucket CORS configuration. + cors.clear(); - // Update bucket to remove CORS. - bucket.toBuilder().setCors(cors).build().update(); - System.out.println("Removed CORS configuration from bucket " + bucketName); + // Update bucket to remove CORS. + bucket.toBuilder().setCors(cors).build().update(); + System.out.println("Removed CORS configuration from bucket " + bucketName); } } } diff --git a/samples/snippets/src/main/java/com/example/storage/bucket/RemoveBucketDefaultKmsKey.java b/samples/snippets/src/main/java/com/example/storage/bucket/RemoveBucketDefaultKmsKey.java index b903e9326b..36909a1ae9 100644 --- a/samples/snippets/src/main/java/com/example/storage/bucket/RemoveBucketDefaultKmsKey.java +++ b/samples/snippets/src/main/java/com/example/storage/bucket/RemoveBucketDefaultKmsKey.java @@ -31,14 +31,15 @@ public static void removeBucketDefaultKmsKey(String projectId, String bucketName // The ID of your GCS bucket // String bucketName = "your-unique-bucket-name"; - try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { - // first look up the bucket, so we will have its metageneration - Bucket bucket = storage.get(bucketName); - storage.update( - bucket.toBuilder().setDefaultKmsKeyName(null).build(), - BucketTargetOption.metagenerationMatch()); + try (Storage storage = + StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { + // first look up the bucket, so we will have its metageneration + Bucket bucket = storage.get(bucketName); + storage.update( + bucket.toBuilder().setDefaultKmsKeyName(null).build(), + BucketTargetOption.metagenerationMatch()); - System.out.println("Default KMS key was removed from " + bucketName); + System.out.println("Default KMS key was removed from " + bucketName); } } } diff --git a/samples/snippets/src/main/java/com/example/storage/bucket/RemoveBucketIamConditionalBinding.java b/samples/snippets/src/main/java/com/example/storage/bucket/RemoveBucketIamConditionalBinding.java index d63608dec3..b2c49e89d6 100644 --- a/samples/snippets/src/main/java/com/example/storage/bucket/RemoveBucketIamConditionalBinding.java +++ b/samples/snippets/src/main/java/com/example/storage/bucket/RemoveBucketIamConditionalBinding.java @@ -39,42 +39,44 @@ public static void removeBucketIamConditionalBinding(String projectId, String bu // For more information please read: // https://cloud.google.com/storage/docs/access-control/iam - try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { + try (Storage storage = + StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { - Policy originalPolicy = - storage.getIamPolicy(bucketName, Storage.BucketSourceOption.requestedPolicyVersion(3)); + Policy originalPolicy = + storage.getIamPolicy(bucketName, Storage.BucketSourceOption.requestedPolicyVersion(3)); - String role = "roles/storage.objectViewer"; + String role = "roles/storage.objectViewer"; - // getBindingsList() returns an ImmutableList and copying over to an ArrayList so it's mutable. - List bindings = new ArrayList(originalPolicy.getBindingsList()); + // getBindingsList() returns an ImmutableList and copying over to an ArrayList so it's + // mutable. + List bindings = new ArrayList(originalPolicy.getBindingsList()); - // Create a condition to compare against - Condition.Builder conditionBuilder = Condition.newBuilder(); - conditionBuilder.setTitle("Title"); - conditionBuilder.setDescription("Description"); - conditionBuilder.setExpression( - "resource.name.startsWith(\"projects/_/buckets/bucket-name/objects/prefix-a-\")"); + // Create a condition to compare against + Condition.Builder conditionBuilder = Condition.newBuilder(); + conditionBuilder.setTitle("Title"); + conditionBuilder.setDescription("Description"); + conditionBuilder.setExpression( + "resource.name.startsWith(\"projects/_/buckets/bucket-name/objects/prefix-a-\")"); - Iterator iterator = bindings.iterator(); - while (iterator.hasNext()) { - Binding binding = (Binding) iterator.next(); - boolean foundRole = binding.getRole().equals(role); - boolean conditionsEqual = conditionBuilder.build().equals(binding.getCondition()); + Iterator iterator = bindings.iterator(); + while (iterator.hasNext()) { + Binding binding = (Binding) iterator.next(); + boolean foundRole = binding.getRole().equals(role); + boolean conditionsEqual = conditionBuilder.build().equals(binding.getCondition()); - // Remove condition when the role and condition are equal - if (foundRole && conditionsEqual) { - iterator.remove(); - break; + // Remove condition when the role and condition are equal + if (foundRole && conditionsEqual) { + iterator.remove(); + break; + } } - } - // Update policy to remove conditional binding - Policy.Builder updatedPolicyBuilder = originalPolicy.toBuilder(); - updatedPolicyBuilder.setBindings(bindings).setVersion(3); - Policy updatedPolicy = storage.setIamPolicy(bucketName, updatedPolicyBuilder.build()); + // Update policy to remove conditional binding + Policy.Builder updatedPolicyBuilder = originalPolicy.toBuilder(); + updatedPolicyBuilder.setBindings(bindings).setVersion(3); + Policy updatedPolicy = storage.setIamPolicy(bucketName, updatedPolicyBuilder.build()); - System.out.println("Conditional Binding was removed."); + System.out.println("Conditional Binding was removed."); } } } diff --git a/samples/snippets/src/main/java/com/example/storage/bucket/RemoveBucketIamMember.java b/samples/snippets/src/main/java/com/example/storage/bucket/RemoveBucketIamMember.java index a2d7f50fc0..3ae996e526 100644 --- a/samples/snippets/src/main/java/com/example/storage/bucket/RemoveBucketIamMember.java +++ b/samples/snippets/src/main/java/com/example/storage/bucket/RemoveBucketIamMember.java @@ -35,37 +35,39 @@ public static void removeBucketIamMember(String projectId, String bucketName) th // For more information please read: // https://cloud.google.com/storage/docs/access-control/iam - try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { + try (Storage storage = + StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { - Policy originalPolicy = - storage.getIamPolicy(bucketName, Storage.BucketSourceOption.requestedPolicyVersion(3)); + Policy originalPolicy = + storage.getIamPolicy(bucketName, Storage.BucketSourceOption.requestedPolicyVersion(3)); - String role = "roles/storage.objectViewer"; - String member = "group:example@google.com"; + String role = "roles/storage.objectViewer"; + String member = "group:example@google.com"; - // getBindingsList() returns an ImmutableList and copying over to an ArrayList so it's mutable. - List bindings = new ArrayList(originalPolicy.getBindingsList()); + // getBindingsList() returns an ImmutableList and copying over to an ArrayList so it's + // mutable. + List bindings = new ArrayList(originalPolicy.getBindingsList()); - // Remove role-member binding without a condition. - for (int index = 0; index < bindings.size(); index++) { - Binding binding = bindings.get(index); - boolean foundRole = binding.getRole().equals(role); - boolean foundMember = binding.getMembers().contains(member); - boolean bindingIsNotConditional = binding.getCondition() == null; + // Remove role-member binding without a condition. + for (int index = 0; index < bindings.size(); index++) { + Binding binding = bindings.get(index); + boolean foundRole = binding.getRole().equals(role); + boolean foundMember = binding.getMembers().contains(member); + boolean bindingIsNotConditional = binding.getCondition() == null; - if (foundRole && foundMember && bindingIsNotConditional) { - bindings.set(index, binding.toBuilder().removeMembers(member).build()); - break; + if (foundRole && foundMember && bindingIsNotConditional) { + bindings.set(index, binding.toBuilder().removeMembers(member).build()); + break; + } } - } - // Update policy to remove member - Policy.Builder updatedPolicyBuilder = originalPolicy.toBuilder(); - updatedPolicyBuilder.setBindings(bindings).setVersion(3); - Policy updatedPolicy = storage.setIamPolicy(bucketName, updatedPolicyBuilder.build()); + // Update policy to remove member + Policy.Builder updatedPolicyBuilder = originalPolicy.toBuilder(); + updatedPolicyBuilder.setBindings(bindings).setVersion(3); + Policy updatedPolicy = storage.setIamPolicy(bucketName, updatedPolicyBuilder.build()); - System.out.printf("Removed %s with role %s from %s\n", member, role, bucketName); - } + System.out.printf("Removed %s with role %s from %s\n", member, role, bucketName); + } } } // [END storage_remove_bucket_iam_member] diff --git a/samples/snippets/src/main/java/com/example/storage/bucket/RemoveBucketLabel.java b/samples/snippets/src/main/java/com/example/storage/bucket/RemoveBucketLabel.java index 46830492da..3684cec122 100644 --- a/samples/snippets/src/main/java/com/example/storage/bucket/RemoveBucketLabel.java +++ b/samples/snippets/src/main/java/com/example/storage/bucket/RemoveBucketLabel.java @@ -36,23 +36,24 @@ public static void removeBucketLabel(String projectId, String bucketName, String // The key of the label to remove from the bucket // String labelKey = "label-key-to-remove"; - try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { - - Map labelsToRemove = new HashMap<>(); - labelsToRemove.put(labelKey, null); - - Bucket bucket = storage.get(bucketName); - Map labels; - if (bucket.getLabels() == null) { - labels = new HashMap<>(); - } else { - labels = new HashMap(bucket.getLabels()); + try (Storage storage = + StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { + + Map labelsToRemove = new HashMap<>(); + labelsToRemove.put(labelKey, null); + + Bucket bucket = storage.get(bucketName); + Map labels; + if (bucket.getLabels() == null) { + labels = new HashMap<>(); + } else { + labels = new HashMap(bucket.getLabels()); + } + labels.putAll(labelsToRemove); + bucket.toBuilder().setLabels(labels).build().update(); + + System.out.println("Removed label " + labelKey + " from bucket " + bucketName); } - labels.putAll(labelsToRemove); - bucket.toBuilder().setLabels(labels).build().update(); - - System.out.println("Removed label " + labelKey + " from bucket " + bucketName); - } } } // [END storage_remove_bucket_label] diff --git a/samples/snippets/src/main/java/com/example/storage/bucket/RemoveBucketOwner.java b/samples/snippets/src/main/java/com/example/storage/bucket/RemoveBucketOwner.java index 34241ba480..be5b6c01c2 100644 --- a/samples/snippets/src/main/java/com/example/storage/bucket/RemoveBucketOwner.java +++ b/samples/snippets/src/main/java/com/example/storage/bucket/RemoveBucketOwner.java @@ -37,16 +37,17 @@ public static void removeBucketOwner(String projectId, String bucketName, String // Email of the user you wish to remove as an owner // String userEmail = "someuser@domain.com" - try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { - Bucket bucket = storage.get(bucketName); - User ownerToRemove = new User(userEmail); - - boolean success = bucket.deleteAcl(ownerToRemove); - if (success) { - System.out.println("Removed user " + userEmail + " as an owner on " + bucketName); - } else { - System.out.println("User " + userEmail + " was not found"); - } + try (Storage storage = + StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { + Bucket bucket = storage.get(bucketName); + User ownerToRemove = new User(userEmail); + + boolean success = bucket.deleteAcl(ownerToRemove); + if (success) { + System.out.println("Removed user " + userEmail + " as an owner on " + bucketName); + } else { + System.out.println("User " + userEmail + " was not found"); + } } } } diff --git a/samples/snippets/src/main/java/com/example/storage/bucket/RemoveRetentionPolicy.java b/samples/snippets/src/main/java/com/example/storage/bucket/RemoveRetentionPolicy.java index 82615c5987..2c39be15c0 100644 --- a/samples/snippets/src/main/java/com/example/storage/bucket/RemoveRetentionPolicy.java +++ b/samples/snippets/src/main/java/com/example/storage/bucket/RemoveRetentionPolicy.java @@ -23,27 +23,27 @@ import com.google.cloud.storage.StorageOptions; public class RemoveRetentionPolicy { - public static void removeRetentionPolicy(String projectId, String bucketName) - throws Exception { + public static void removeRetentionPolicy(String projectId, String bucketName) throws Exception { // The ID of your GCP project // String projectId = "your-project-id"; // The ID of your GCS bucket // String bucketName = "your-unique-bucket-name"; - try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { + try (Storage storage = + StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { - Bucket bucket = - storage.get( - bucketName, Storage.BucketGetOption.fields(Storage.BucketField.RETENTION_POLICY)); - if (bucket.retentionPolicyIsLocked() != null && bucket.retentionPolicyIsLocked()) { - throw new IllegalArgumentException( - "Unable to remove retention policy as retention policy is locked."); - } + Bucket bucket = + storage.get( + bucketName, Storage.BucketGetOption.fields(Storage.BucketField.RETENTION_POLICY)); + if (bucket.retentionPolicyIsLocked() != null && bucket.retentionPolicyIsLocked()) { + throw new IllegalArgumentException( + "Unable to remove retention policy as retention policy is locked."); + } - bucket.toBuilder().setRetentionPeriod(null).build().update(); + bucket.toBuilder().setRetentionPeriod(null).build().update(); - System.out.println("Retention policy for " + bucketName + " has been removed"); + System.out.println("Retention policy for " + bucketName + " has been removed"); } } } diff --git a/samples/snippets/src/main/java/com/example/storage/bucket/SetAsyncTurboRpo.java b/samples/snippets/src/main/java/com/example/storage/bucket/SetAsyncTurboRpo.java index 389dd051c4..8bbfa58b10 100644 --- a/samples/snippets/src/main/java/com/example/storage/bucket/SetAsyncTurboRpo.java +++ b/samples/snippets/src/main/java/com/example/storage/bucket/SetAsyncTurboRpo.java @@ -30,12 +30,13 @@ public static void setAsyncTurboRpo(String projectId, String bucketName) throws // The ID of your GCS bucket // String bucketName = "your-unique-bucket-name"; - try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { - Bucket bucket = storage.get(bucketName); + try (Storage storage = + StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { + Bucket bucket = storage.get(bucketName); - bucket.toBuilder().setRpo(Rpo.ASYNC_TURBO).build().update(); + bucket.toBuilder().setRpo(Rpo.ASYNC_TURBO).build().update(); - System.out.println("Turbo replication was enabled for " + bucketName); + System.out.println("Turbo replication was enabled for " + bucketName); } } } diff --git a/samples/snippets/src/main/java/com/example/storage/bucket/SetBucketDefaultKmsKey.java b/samples/snippets/src/main/java/com/example/storage/bucket/SetBucketDefaultKmsKey.java index fb3d43e20e..e0d608818d 100644 --- a/samples/snippets/src/main/java/com/example/storage/bucket/SetBucketDefaultKmsKey.java +++ b/samples/snippets/src/main/java/com/example/storage/bucket/SetBucketDefaultKmsKey.java @@ -36,20 +36,21 @@ public static void setBucketDefaultKmsKey(String projectId, String bucketName, S // String kmsKeyName = // "projects/your-project-id/locations/us/keyRings/my_key_ring/cryptoKeys/my_key" - try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { - // first look up the bucket, so we will have its metageneration - Bucket bucket = storage.get(bucketName); - - Bucket updated = - storage.update( - bucket.toBuilder().setDefaultKmsKeyName(kmsKeyName).build(), - BucketTargetOption.metagenerationMatch()); - - System.out.println( - "KMS Key " - + updated.getDefaultKmsKeyName() - + "was set to default for bucket " - + bucketName); + try (Storage storage = + StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { + // first look up the bucket, so we will have its metageneration + Bucket bucket = storage.get(bucketName); + + Bucket updated = + storage.update( + bucket.toBuilder().setDefaultKmsKeyName(kmsKeyName).build(), + BucketTargetOption.metagenerationMatch()); + + System.out.println( + "KMS Key " + + updated.getDefaultKmsKeyName() + + "was set to default for bucket " + + bucketName); } } } diff --git a/samples/snippets/src/main/java/com/example/storage/bucket/SetBucketWebsiteInfo.java b/samples/snippets/src/main/java/com/example/storage/bucket/SetBucketWebsiteInfo.java index d77fe3be86..36e861d625 100644 --- a/samples/snippets/src/main/java/com/example/storage/bucket/SetBucketWebsiteInfo.java +++ b/samples/snippets/src/main/java/com/example/storage/bucket/SetBucketWebsiteInfo.java @@ -36,18 +36,19 @@ public static void setBucketWesbiteInfo( // The 404 page for a static website bucket // String notFoundPage = "404.html"; - try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { - Bucket bucket = storage.get(bucketName); - bucket.toBuilder().setIndexPage(indexPage).setNotFoundPage(notFoundPage).build().update(); - - System.out.println( - "Static website bucket " - + bucketName - + " is set up to use " - + indexPage - + " as the index page and " - + notFoundPage - + " as the 404 page"); + try (Storage storage = + StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { + Bucket bucket = storage.get(bucketName); + bucket.toBuilder().setIndexPage(indexPage).setNotFoundPage(notFoundPage).build().update(); + + System.out.println( + "Static website bucket " + + bucketName + + " is set up to use " + + indexPage + + " as the index page and " + + notFoundPage + + " as the 404 page"); } } } diff --git a/samples/snippets/src/main/java/com/example/storage/bucket/SetClientEndpoint.java b/samples/snippets/src/main/java/com/example/storage/bucket/SetClientEndpoint.java index e660ed5735..2a5b1ae372 100644 --- a/samples/snippets/src/main/java/com/example/storage/bucket/SetClientEndpoint.java +++ b/samples/snippets/src/main/java/com/example/storage/bucket/SetClientEndpoint.java @@ -30,8 +30,12 @@ public static void setClientEndpoint(String projectId, String endpoint) throws E // The endpoint you wish to target // String endpoint = "https://storage.googleapis.com" - try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).setHost(endpoint) - .build().getService()) { + try (Storage storage = + StorageOptions.newBuilder() + .setProjectId(projectId) + .setHost(endpoint) + .build() + .getService()) { System.out.println( "Storage Client initialized with endpoint " + storage.getOptions().getHost()); diff --git a/samples/snippets/src/main/java/com/example/storage/bucket/SetDefaultRpo.java b/samples/snippets/src/main/java/com/example/storage/bucket/SetDefaultRpo.java index 4e7416333c..6a05d0de8a 100644 --- a/samples/snippets/src/main/java/com/example/storage/bucket/SetDefaultRpo.java +++ b/samples/snippets/src/main/java/com/example/storage/bucket/SetDefaultRpo.java @@ -30,12 +30,13 @@ public static void setDefaultRpo(String projectId, String bucketName) throws Exc // The ID of your GCS bucket // String bucketName = "your-unique-bucket-name"; - try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { - Bucket bucket = storage.get(bucketName); + try (Storage storage = + StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { + Bucket bucket = storage.get(bucketName); - bucket.toBuilder().setRpo(Rpo.DEFAULT).build().update(); + bucket.toBuilder().setRpo(Rpo.DEFAULT).build().update(); - System.out.println("Replication was set to default for " + bucketName); + System.out.println("Replication was set to default for " + bucketName); } } } diff --git a/samples/snippets/src/main/java/com/example/storage/bucket/SetPublicAccessPreventionEnforced.java b/samples/snippets/src/main/java/com/example/storage/bucket/SetPublicAccessPreventionEnforced.java index f18cb3ab9f..b92211c1a3 100644 --- a/samples/snippets/src/main/java/com/example/storage/bucket/SetPublicAccessPreventionEnforced.java +++ b/samples/snippets/src/main/java/com/example/storage/bucket/SetPublicAccessPreventionEnforced.java @@ -31,19 +31,20 @@ public static void setPublicAccessPreventionEnforced(String projectId, String bu // The ID of your GCS bucket // String bucketName = "your-unique-bucket-name"; - try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { - Bucket bucket = storage.get(bucketName); + try (Storage storage = + StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { + Bucket bucket = storage.get(bucketName); - // Enforces public access prevention for the bucket - bucket.toBuilder() - .setIamConfiguration( - BucketInfo.IamConfiguration.newBuilder() - .setPublicAccessPrevention(BucketInfo.PublicAccessPrevention.ENFORCED) - .build()) - .build() - .update(); + // Enforces public access prevention for the bucket + bucket.toBuilder() + .setIamConfiguration( + BucketInfo.IamConfiguration.newBuilder() + .setPublicAccessPrevention(BucketInfo.PublicAccessPrevention.ENFORCED) + .build()) + .build() + .update(); - System.out.println("Public access prevention is set to enforced for " + bucketName); + System.out.println("Public access prevention is set to enforced for " + bucketName); } } } diff --git a/samples/snippets/src/main/java/com/example/storage/bucket/SetPublicAccessPreventionInherited.java b/samples/snippets/src/main/java/com/example/storage/bucket/SetPublicAccessPreventionInherited.java index 77fc8c7617..bfa898fa95 100644 --- a/samples/snippets/src/main/java/com/example/storage/bucket/SetPublicAccessPreventionInherited.java +++ b/samples/snippets/src/main/java/com/example/storage/bucket/SetPublicAccessPreventionInherited.java @@ -31,19 +31,20 @@ public static void setPublicAccessPreventionInherited(String projectId, String b // The ID of your GCS bucket // String bucketName = "your-unique-bucket-name"; - try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { - Bucket bucket = storage.get(bucketName); + try (Storage storage = + StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { + Bucket bucket = storage.get(bucketName); - // Sets public access prevention to 'inherited' for the bucket - bucket.toBuilder() - .setIamConfiguration( - BucketInfo.IamConfiguration.newBuilder() - .setPublicAccessPrevention(BucketInfo.PublicAccessPrevention.INHERITED) - .build()) - .build() - .update(); + // Sets public access prevention to 'inherited' for the bucket + bucket.toBuilder() + .setIamConfiguration( + BucketInfo.IamConfiguration.newBuilder() + .setPublicAccessPrevention(BucketInfo.PublicAccessPrevention.INHERITED) + .build()) + .build() + .update(); - System.out.println("Public access prevention is set to 'inherited' for " + bucketName); + System.out.println("Public access prevention is set to 'inherited' for " + bucketName); } } } diff --git a/samples/snippets/src/main/java/com/example/storage/bucket/SetRetentionPolicy.java b/samples/snippets/src/main/java/com/example/storage/bucket/SetRetentionPolicy.java index 0abef573ed..ccf27b5edc 100644 --- a/samples/snippets/src/main/java/com/example/storage/bucket/SetRetentionPolicy.java +++ b/samples/snippets/src/main/java/com/example/storage/bucket/SetRetentionPolicy.java @@ -36,22 +36,23 @@ public static void setRetentionPolicy( // The retention period for objects in bucket // Long retentionPeriodSeconds = 3600L; // 1 hour in seconds - try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { - - // first look up the bucket so we will have its metageneration - Bucket bucket = storage.get(bucketName); - Bucket bucketWithRetentionPolicy = - storage.update( - bucket.toBuilder() - .setRetentionPeriodDuration(Duration.ofSeconds(retentionPeriodSeconds)) - .build(), - BucketTargetOption.metagenerationMatch()); - - System.out.println( - "Retention period for " - + bucketName - + " is now " - + bucketWithRetentionPolicy.getRetentionPeriodDuration()); + try (Storage storage = + StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { + + // first look up the bucket so we will have its metageneration + Bucket bucket = storage.get(bucketName); + Bucket bucketWithRetentionPolicy = + storage.update( + bucket.toBuilder() + .setRetentionPeriodDuration(Duration.ofSeconds(retentionPeriodSeconds)) + .build(), + BucketTargetOption.metagenerationMatch()); + + System.out.println( + "Retention period for " + + bucketName + + " is now " + + bucketWithRetentionPolicy.getRetentionPeriodDuration()); } } } diff --git a/samples/snippets/src/main/java/com/example/storage/bucket/SetSoftDeletePolicy.java b/samples/snippets/src/main/java/com/example/storage/bucket/SetSoftDeletePolicy.java index 550dd8c763..8fc674a507 100644 --- a/samples/snippets/src/main/java/com/example/storage/bucket/SetSoftDeletePolicy.java +++ b/samples/snippets/src/main/java/com/example/storage/bucket/SetSoftDeletePolicy.java @@ -31,19 +31,20 @@ public static void setSoftDeletePolicy(String projectId, String bucketName) thro // The ID of your GCS bucket // String bucketName = "your-unique-bucket-name"; - try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { - Bucket bucket = storage.get(bucketName); - bucket.toBuilder() - .setSoftDeletePolicy( - BucketInfo.SoftDeletePolicy.newBuilder() - .setRetentionDuration(Duration.ofDays(10)) - .build()) - .build() - .update(); + try (Storage storage = + StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { + Bucket bucket = storage.get(bucketName); + bucket.toBuilder() + .setSoftDeletePolicy( + BucketInfo.SoftDeletePolicy.newBuilder() + .setRetentionDuration(Duration.ofDays(10)) + .build()) + .build() + .update(); - System.out.println( - "Soft delete policy for " + bucketName + " was set to a 10-day retention period"); - } + System.out.println( + "Soft delete policy for " + bucketName + " was set to a 10-day retention period"); + } } } // [END storage_set_soft_delete_policy] diff --git a/samples/snippets/src/main/java/com/example/storage/hmac/ActivateHmacKey.java b/samples/snippets/src/main/java/com/example/storage/hmac/ActivateHmacKey.java index e00fc42784..2d0030514b 100644 --- a/samples/snippets/src/main/java/com/example/storage/hmac/ActivateHmacKey.java +++ b/samples/snippets/src/main/java/com/example/storage/hmac/ActivateHmacKey.java @@ -31,7 +31,8 @@ public static void activateHmacKey(String accessId, String projectId) throws Exc // The ID of the project to which the service account belongs. // String projectId = "project-id"; - try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { + try (Storage storage = + StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { HmacKey.HmacKeyMetadata metadata = storage.getHmacKey(accessId, Storage.GetHmacKeyOption.projectId(projectId)); diff --git a/samples/snippets/src/main/java/com/example/storage/hmac/CreateHmacKey.java b/samples/snippets/src/main/java/com/example/storage/hmac/CreateHmacKey.java index 4e2934b578..4c67e69d8c 100644 --- a/samples/snippets/src/main/java/com/example/storage/hmac/CreateHmacKey.java +++ b/samples/snippets/src/main/java/com/example/storage/hmac/CreateHmacKey.java @@ -25,8 +25,7 @@ import java.util.Date; public class CreateHmacKey { - public static void createHmacKey(String serviceAccountEmail, String projectId) - throws Exception { + public static void createHmacKey(String serviceAccountEmail, String projectId) throws Exception { // The service account email for which the new HMAC key will be created. // String serviceAccountEmail = "service-account@iam.gserviceaccount.com"; @@ -34,26 +33,28 @@ public static void createHmacKey(String serviceAccountEmail, String projectId) // The ID of the project to which the service account belongs. // String projectId = "project-id"; - try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()){ - - ServiceAccount account = ServiceAccount.of(serviceAccountEmail); - HmacKey hmacKey = - storage.createHmacKey(account, Storage.CreateHmacKeyOption.projectId(projectId)); - - String secret = hmacKey.getSecretKey(); - HmacKey.HmacKeyMetadata metadata = hmacKey.getMetadata(); - - System.out.println("The Base64 encoded secret is: " + secret); - System.out.println("Do not lose that secret, there is no API to recover it."); - System.out.println("The HMAC key metadata is:"); - System.out.println("ID: " + metadata.getId()); - System.out.println("Access ID: " + metadata.getAccessId()); - System.out.println("Project ID: " + metadata.getProjectId()); - System.out.println("Service Account Email: " + metadata.getServiceAccount().getEmail()); - System.out.println("State: " + metadata.getState().toString()); - System.out.println("Time Created: " + new Date(metadata.getCreateTime()).toString()); - System.out.println("Time Updated: " + new Date(metadata.getUpdateTime()).toString()); - System.out.println("ETag: " + metadata.getEtag()); - }} + try (Storage storage = + StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { + + ServiceAccount account = ServiceAccount.of(serviceAccountEmail); + HmacKey hmacKey = + storage.createHmacKey(account, Storage.CreateHmacKeyOption.projectId(projectId)); + + String secret = hmacKey.getSecretKey(); + HmacKey.HmacKeyMetadata metadata = hmacKey.getMetadata(); + + System.out.println("The Base64 encoded secret is: " + secret); + System.out.println("Do not lose that secret, there is no API to recover it."); + System.out.println("The HMAC key metadata is:"); + System.out.println("ID: " + metadata.getId()); + System.out.println("Access ID: " + metadata.getAccessId()); + System.out.println("Project ID: " + metadata.getProjectId()); + System.out.println("Service Account Email: " + metadata.getServiceAccount().getEmail()); + System.out.println("State: " + metadata.getState().toString()); + System.out.println("Time Created: " + new Date(metadata.getCreateTime()).toString()); + System.out.println("Time Updated: " + new Date(metadata.getUpdateTime()).toString()); + System.out.println("ETag: " + metadata.getEtag()); + } + } } // [END storage_create_hmac_key] diff --git a/samples/snippets/src/main/java/com/example/storage/hmac/DeactivateHmacKey.java b/samples/snippets/src/main/java/com/example/storage/hmac/DeactivateHmacKey.java index da8147ee3a..bcab85e5d0 100644 --- a/samples/snippets/src/main/java/com/example/storage/hmac/DeactivateHmacKey.java +++ b/samples/snippets/src/main/java/com/example/storage/hmac/DeactivateHmacKey.java @@ -31,7 +31,8 @@ public static void deactivateHmacKey(String accessId, String projectId) throws E // The ID of the project to which the service account belongs. // String projectId = "project-id"; - try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { + try (Storage storage = + StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { HmacKey.HmacKeyMetadata metadata = storage.getHmacKey(accessId, Storage.GetHmacKeyOption.projectId(projectId)); @@ -48,6 +49,7 @@ public static void deactivateHmacKey(String accessId, String projectId) throws E System.out.println("Time Created: " + new Date(newMetadata.getCreateTime()).toString()); System.out.println("Time Updated: " + new Date(newMetadata.getUpdateTime()).toString()); System.out.println("ETag: " + newMetadata.getEtag()); - }} + } + } } // [END storage_deactivate_hmac_key] diff --git a/samples/snippets/src/main/java/com/example/storage/hmac/DeleteHmacKey.java b/samples/snippets/src/main/java/com/example/storage/hmac/DeleteHmacKey.java index dd592c66e6..03fc56e2a7 100644 --- a/samples/snippets/src/main/java/com/example/storage/hmac/DeleteHmacKey.java +++ b/samples/snippets/src/main/java/com/example/storage/hmac/DeleteHmacKey.java @@ -31,7 +31,8 @@ public static void deleteHmacKey(String accessId, String projectId) throws Excep // The ID of the project to which the service account belongs. // String projectId = "project-id"; - try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { + try (Storage storage = + StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { HmacKey.HmacKeyMetadata metadata = storage.getHmacKey(accessId, Storage.GetHmacKeyOption.projectId(projectId)); @@ -40,6 +41,7 @@ public static void deleteHmacKey(String accessId, String projectId) throws Excep System.out.println( "The key is deleted, though it will still appear in " + "getHmacKeys() results if called with showDeletedKey."); - }} + } + } } // [END storage_delete_hmac_key] diff --git a/samples/snippets/src/main/java/com/example/storage/hmac/GetHmacKey.java b/samples/snippets/src/main/java/com/example/storage/hmac/GetHmacKey.java index 89e1ce8b97..efc8e1c57e 100644 --- a/samples/snippets/src/main/java/com/example/storage/hmac/GetHmacKey.java +++ b/samples/snippets/src/main/java/com/example/storage/hmac/GetHmacKey.java @@ -31,7 +31,8 @@ public static void getHmacKey(String accessId, String projectId) throws Exceptio // The ID of the project to which the service account belongs. // String projectId = "project-id"; - try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { + try (Storage storage = + StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { HmacKey.HmacKeyMetadata metadata = storage.getHmacKey(accessId, Storage.GetHmacKeyOption.projectId(projectId)); @@ -45,6 +46,7 @@ public static void getHmacKey(String accessId, String projectId) throws Exceptio System.out.println("Time Created: " + new Date(metadata.getCreateTime()).toString()); System.out.println("Time Updated: " + new Date(metadata.getUpdateTime()).toString()); System.out.println("ETag: " + metadata.getEtag()); - }} + } + } } // [END storage_get_hmac_key] diff --git a/samples/snippets/src/main/java/com/example/storage/hmac/ListHmacKeys.java b/samples/snippets/src/main/java/com/example/storage/hmac/ListHmacKeys.java index 854e799f3e..aa0cd77d88 100644 --- a/samples/snippets/src/main/java/com/example/storage/hmac/ListHmacKeys.java +++ b/samples/snippets/src/main/java/com/example/storage/hmac/ListHmacKeys.java @@ -28,7 +28,8 @@ public static void listHmacKeys(String projectId) throws Exception { // The ID of the project to which the service account belongs. // String projectId = "project-id"; - try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { + try (Storage storage = + StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { Page page = storage.listHmacKeys(Storage.ListHmacKeysOption.projectId(projectId)); @@ -37,6 +38,7 @@ public static void listHmacKeys(String projectId) throws Exception { System.out.println("Service Account Email: " + metadata.getServiceAccount().getEmail()); System.out.println("Access ID: " + metadata.getAccessId()); } - }} + } + } } // [END storage_list_hmac_keys] diff --git a/samples/snippets/src/main/java/com/example/storage/object/AddBlobOwner.java b/samples/snippets/src/main/java/com/example/storage/object/AddBlobOwner.java index c18428f174..ccb8f60c86 100644 --- a/samples/snippets/src/main/java/com/example/storage/object/AddBlobOwner.java +++ b/samples/snippets/src/main/java/com/example/storage/object/AddBlobOwner.java @@ -42,7 +42,8 @@ public static void addBlobOwner( // The name of the blob/file that you wish to modify permissions on // String blobName = "your-blob-name"; - try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { + try (Storage storage = + StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { Blob blob = storage.get(BlobId.of(bucketName, blobName)); Acl newOwner = Acl.of(new User(userEmail), Role.OWNER); @@ -54,6 +55,7 @@ public static void addBlobOwner( + blobName + " in bucket " + bucketName); - }} + } + } } // [END storage_add_file_owner] diff --git a/samples/snippets/src/main/java/com/example/storage/object/AtomicMoveObject.java b/samples/snippets/src/main/java/com/example/storage/object/AtomicMoveObject.java index d21fd897ea..e1b24d1e1a 100644 --- a/samples/snippets/src/main/java/com/example/storage/object/AtomicMoveObject.java +++ b/samples/snippets/src/main/java/com/example/storage/object/AtomicMoveObject.java @@ -42,40 +42,42 @@ public static void moveObject( // The ID of your GCS object // String targetObjectName = "your-new-object-name"; - try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { - BlobId source = BlobId.of(bucketName, sourceObjectName); - BlobId target = BlobId.of(bucketName, targetObjectName); + try (Storage storage = + StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { + BlobId source = BlobId.of(bucketName, sourceObjectName); + BlobId target = BlobId.of(bucketName, targetObjectName); - // Optional: set a generation-match precondition to avoid potential race - // conditions and data corruptions. The request returns a 412 error if the - // preconditions are not met. - Storage.BlobTargetOption precondition; - BlobInfo existingTarget = storage.get(target); - if (existingTarget == null) { - // For a target object that does not yet exist, set the DoesNotExist precondition. - // This will cause the request to fail if the object is created before the request runs. - precondition = Storage.BlobTargetOption.doesNotExist(); - } else { - // If the destination already exists in your bucket, instead set a generation-match - // precondition. This will cause the request to fail if the existing object's generation - // changes before the request runs. - precondition = Storage.BlobTargetOption.generationMatch(existingTarget.getGeneration()); - } + // Optional: set a generation-match precondition to avoid potential race + // conditions and data corruptions. The request returns a 412 error if the + // preconditions are not met. + Storage.BlobTargetOption precondition; + BlobInfo existingTarget = storage.get(target); + if (existingTarget == null) { + // For a target object that does not yet exist, set the DoesNotExist precondition. + // This will cause the request to fail if the object is created before the request runs. + precondition = Storage.BlobTargetOption.doesNotExist(); + } else { + // If the destination already exists in your bucket, instead set a generation-match + // precondition. This will cause the request to fail if the existing object's generation + // changes before the request runs. + precondition = Storage.BlobTargetOption.generationMatch(existingTarget.getGeneration()); + } - // Atomically move source object to target object within the bucket - MoveBlobRequest moveBlobRequest = - MoveBlobRequest.newBuilder() - .setSource(source) - .setTarget(target) - .setTargetOptions(precondition) - .build(); - BlobInfo movedBlob = storage.moveBlob(moveBlobRequest); + // Atomically move source object to target object within the bucket + MoveBlobRequest moveBlobRequest = + MoveBlobRequest.newBuilder() + .setSource(source) + .setTarget(target) + .setTargetOptions(precondition) + .build(); + BlobInfo movedBlob = storage.moveBlob(moveBlobRequest); - System.out.println( - "Moved object " - + source.toGsUtilUri() - + " to " - + movedBlob.getBlobId().toGsUtilUriWithGeneration()); + System.out.println( + "Moved object " + + source.toGsUtilUri() + + " to " + + movedBlob.getBlobId().toGsUtilUriWithGeneration()); + } } -}} +} // [END storage_move_object] diff --git a/samples/snippets/src/main/java/com/example/storage/object/BatchSetObjectMetadata.java b/samples/snippets/src/main/java/com/example/storage/object/BatchSetObjectMetadata.java index 87dbbce26c..2cb16755f2 100644 --- a/samples/snippets/src/main/java/com/example/storage/object/BatchSetObjectMetadata.java +++ b/samples/snippets/src/main/java/com/example/storage/object/BatchSetObjectMetadata.java @@ -32,8 +32,8 @@ import java.util.stream.Collectors; public class BatchSetObjectMetadata { - public static void batchSetObjectMetadata( - String projectId, String bucketName, String pathPrefix) throws Exception { + public static void batchSetObjectMetadata(String projectId, String bucketName, String pathPrefix) + throws Exception { // The ID of your GCP project // String projectId = "your-project-id"; @@ -44,54 +44,56 @@ public static void batchSetObjectMetadata( // updated // String pathPrefix = "yourPath/"; - try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { - Map newMetadata = new HashMap<>(); - newMetadata.put("keyToAddOrUpdate", "value"); - Page blobs = - storage.list( - bucketName, - Storage.BlobListOption.prefix(pathPrefix), - Storage.BlobListOption.delimiter("/")); - StorageBatch batchRequest = storage.batch(); + try (Storage storage = + StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { + Map newMetadata = new HashMap<>(); + newMetadata.put("keyToAddOrUpdate", "value"); + Page blobs = + storage.list( + bucketName, + Storage.BlobListOption.prefix(pathPrefix), + Storage.BlobListOption.delimiter("/")); + StorageBatch batchRequest = storage.batch(); - // Add all blobs with the given prefix to the batch request - List> batchResults = - blobs - .streamAll() - .map(blob -> batchRequest.update(blob.toBuilder().setMetadata(newMetadata).build())) - .collect(Collectors.toList()); + // Add all blobs with the given prefix to the batch request + List> batchResults = + blobs + .streamAll() + .map(blob -> batchRequest.update(blob.toBuilder().setMetadata(newMetadata).build())) + .collect(Collectors.toList()); - // Execute the batch request - batchRequest.submit(); - List failures = - batchResults.stream() - .map( - r -> { - try { - BlobInfo blob = r.get(); - return null; - } catch (StorageException e) { - return e; - } - }) - .filter(Objects::nonNull) - .collect(Collectors.toList()); + // Execute the batch request + batchRequest.submit(); + List failures = + batchResults.stream() + .map( + r -> { + try { + BlobInfo blob = r.get(); + return null; + } catch (StorageException e) { + return e; + } + }) + .filter(Objects::nonNull) + .collect(Collectors.toList()); - System.out.println( - (batchResults.size() - failures.size()) - + " blobs in bucket " - + bucketName - + " with prefix '" - + pathPrefix - + "' had their metadata updated successfully."); + System.out.println( + (batchResults.size() - failures.size()) + + " blobs in bucket " + + bucketName + + " with prefix '" + + pathPrefix + + "' had their metadata updated successfully."); - if (!failures.isEmpty()) { - System.out.println("While processing, there were " + failures.size() + " failures"); + if (!failures.isEmpty()) { + System.out.println("While processing, there were " + failures.size() + " failures"); - for (StorageException failure : failures) { - failure.printStackTrace(System.out); + for (StorageException failure : failures) { + failure.printStackTrace(System.out); + } } } } -}} +} // [END storage_batch_request] diff --git a/samples/snippets/src/main/java/com/example/storage/object/ChangeObjectCsekToKms.java b/samples/snippets/src/main/java/com/example/storage/object/ChangeObjectCsekToKms.java index c13f180bf3..7c28f5e529 100644 --- a/samples/snippets/src/main/java/com/example/storage/object/ChangeObjectCsekToKms.java +++ b/samples/snippets/src/main/java/com/example/storage/object/ChangeObjectCsekToKms.java @@ -28,7 +28,8 @@ public static void changeObjectFromCsekToKms( String bucketName, String objectName, String decryptionKey, - String kmsKeyName) throws Exception { + String kmsKeyName) + throws Exception { // The ID of your GCP project // String projectId = "your-project-id"; @@ -46,36 +47,38 @@ public static void changeObjectFromCsekToKms( // String kmsKeyName = // "projects/your-project-id/locations/global/keyRings/your-key-ring/cryptoKeys/your-key"; - try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { - BlobId blobId = BlobId.of(bucketName, objectName); - Blob blob = storage.get(blobId); - if (blob == null) { - System.out.println("The object " + objectName + " wasn't found in " + bucketName); - return; - } + try (Storage storage = + StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { + BlobId blobId = BlobId.of(bucketName, objectName); + Blob blob = storage.get(blobId); + if (blob == null) { + System.out.println("The object " + objectName + " wasn't found in " + bucketName); + return; + } - // Optional: set a generation-match precondition to avoid potential race - // conditions and data corruptions. The request to upload returns a 412 error if - // the object's generation number does not match your precondition. - Storage.BlobSourceOption precondition = - Storage.BlobSourceOption.generationMatch(blob.getGeneration()); + // Optional: set a generation-match precondition to avoid potential race + // conditions and data corruptions. The request to upload returns a 412 error if + // the object's generation number does not match your precondition. + Storage.BlobSourceOption precondition = + Storage.BlobSourceOption.generationMatch(blob.getGeneration()); - Storage.CopyRequest request = - Storage.CopyRequest.newBuilder() - .setSource(blobId) - .setSourceOptions(Storage.BlobSourceOption.decryptionKey(decryptionKey), precondition) - .setTarget(blobId, Storage.BlobTargetOption.kmsKeyName(kmsKeyName)) - .build(); - storage.copy(request); + Storage.CopyRequest request = + Storage.CopyRequest.newBuilder() + .setSource(blobId) + .setSourceOptions(Storage.BlobSourceOption.decryptionKey(decryptionKey), precondition) + .setTarget(blobId, Storage.BlobTargetOption.kmsKeyName(kmsKeyName)) + .build(); + storage.copy(request); - System.out.println( - "Object " - + objectName - + " in bucket " - + bucketName - + " is now managed by the KMS key " - + kmsKeyName - + " instead of a customer-supplied encryption key"); + System.out.println( + "Object " + + objectName + + " in bucket " + + bucketName + + " is now managed by the KMS key " + + kmsKeyName + + " instead of a customer-supplied encryption key"); + } } -}} +} // [END storage_object_csek_to_cmek] diff --git a/samples/snippets/src/main/java/com/example/storage/object/ChangeObjectStorageClass.java b/samples/snippets/src/main/java/com/example/storage/object/ChangeObjectStorageClass.java index 0c5865a1d4..a5a5e747e7 100644 --- a/samples/snippets/src/main/java/com/example/storage/object/ChangeObjectStorageClass.java +++ b/samples/snippets/src/main/java/com/example/storage/object/ChangeObjectStorageClass.java @@ -36,44 +36,46 @@ public static void changeObjectStorageClass( // The ID of your GCS object // String objectName = "your-object-name"; - try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { - BlobId blobId = BlobId.of(bucketName, objectName); - Blob sourceBlob = storage.get(blobId); - if (sourceBlob == null) { - System.out.println("The object " + objectName + " wasn't found in " + bucketName); - return; - } + try (Storage storage = + StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { + BlobId blobId = BlobId.of(bucketName, objectName); + Blob sourceBlob = storage.get(blobId); + if (sourceBlob == null) { + System.out.println("The object " + objectName + " wasn't found in " + bucketName); + return; + } - // See the StorageClass documentation for other valid storage classes: - // https://googleapis.dev/java/google-cloud-clients/latest/com/google/cloud/storage/StorageClass.html - StorageClass storageClass = StorageClass.COLDLINE; + // See the StorageClass documentation for other valid storage classes: + // https://googleapis.dev/java/google-cloud-clients/latest/com/google/cloud/storage/StorageClass.html + StorageClass storageClass = StorageClass.COLDLINE; - // You can't change an object's storage class directly, the only way is to rewrite the object - // with the desired storage class + // You can't change an object's storage class directly, the only way is to rewrite the object + // with the desired storage class - BlobInfo targetBlob = BlobInfo.newBuilder(blobId).setStorageClass(storageClass).build(); + BlobInfo targetBlob = BlobInfo.newBuilder(blobId).setStorageClass(storageClass).build(); - // Optional: set a generation-match precondition to avoid potential race - // conditions and data corruptions. The request to upload returns a 412 error if - // the object's generation number does not match your precondition. - Storage.BlobSourceOption precondition = - Storage.BlobSourceOption.generationMatch(sourceBlob.getGeneration()); + // Optional: set a generation-match precondition to avoid potential race + // conditions and data corruptions. The request to upload returns a 412 error if + // the object's generation number does not match your precondition. + Storage.BlobSourceOption precondition = + Storage.BlobSourceOption.generationMatch(sourceBlob.getGeneration()); - Storage.CopyRequest request = - Storage.CopyRequest.newBuilder() - .setSource(blobId) - .setSourceOptions(precondition) // delete this line to run without preconditions - .setTarget(targetBlob) - .build(); - Blob updatedBlob = storage.copy(request).getResult(); + Storage.CopyRequest request = + Storage.CopyRequest.newBuilder() + .setSource(blobId) + .setSourceOptions(precondition) // delete this line to run without preconditions + .setTarget(targetBlob) + .build(); + Blob updatedBlob = storage.copy(request).getResult(); - System.out.println( - "Object " - + objectName - + " in bucket " - + bucketName - + " had its storage class set to " - + updatedBlob.getStorageClass().name()); + System.out.println( + "Object " + + objectName + + " in bucket " + + bucketName + + " had its storage class set to " + + updatedBlob.getStorageClass().name()); + } } -}} +} // [END storage_change_file_storage_class] diff --git a/samples/snippets/src/main/java/com/example/storage/object/ComposeObject.java b/samples/snippets/src/main/java/com/example/storage/object/ComposeObject.java index d83b397124..05ea349712 100644 --- a/samples/snippets/src/main/java/com/example/storage/object/ComposeObject.java +++ b/samples/snippets/src/main/java/com/example/storage/object/ComposeObject.java @@ -28,7 +28,8 @@ public static void composeObject( String firstObjectName, String secondObjectName, String targetObjectName, - String projectId) throws Exception { + String projectId) + throws Exception { // The ID of your GCP project // String projectId = "your-project-id"; @@ -44,43 +45,45 @@ public static void composeObject( // The ID to give the new composite object // String targetObjectName = "new-composite-object-name"; - try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { + try (Storage storage = + StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { - // Optional: set a generation-match precondition to avoid potential race - // conditions and data corruptions. The request returns a 412 error if the - // preconditions are not met. - Storage.BlobTargetOption precondition; - if (storage.get(bucketName, targetObjectName) == null) { - // For a target object that does not yet exist, set the DoesNotExist precondition. - // This will cause the request to fail if the object is created before the request runs. - precondition = Storage.BlobTargetOption.doesNotExist(); - } else { - // If the destination already exists in your bucket, instead set a generation-match - // precondition. This will cause the request to fail if the existing object's generation - // changes before the request runs. - precondition = - Storage.BlobTargetOption.generationMatch( - storage.get(bucketName, targetObjectName).getGeneration()); - } + // Optional: set a generation-match precondition to avoid potential race + // conditions and data corruptions. The request returns a 412 error if the + // preconditions are not met. + Storage.BlobTargetOption precondition; + if (storage.get(bucketName, targetObjectName) == null) { + // For a target object that does not yet exist, set the DoesNotExist precondition. + // This will cause the request to fail if the object is created before the request runs. + precondition = Storage.BlobTargetOption.doesNotExist(); + } else { + // If the destination already exists in your bucket, instead set a generation-match + // precondition. This will cause the request to fail if the existing object's generation + // changes before the request runs. + precondition = + Storage.BlobTargetOption.generationMatch( + storage.get(bucketName, targetObjectName).getGeneration()); + } - Storage.ComposeRequest composeRequest = - Storage.ComposeRequest.newBuilder() - // addSource takes varargs, so you can put as many objects here as you want, up to the - // max of 32 - .addSource(firstObjectName, secondObjectName) - .setTarget(BlobInfo.newBuilder(bucketName, targetObjectName).build()) - .setTargetOptions(precondition) - .build(); + Storage.ComposeRequest composeRequest = + Storage.ComposeRequest.newBuilder() + // addSource takes varargs, so you can put as many objects here as you want, up to the + // max of 32 + .addSource(firstObjectName, secondObjectName) + .setTarget(BlobInfo.newBuilder(bucketName, targetObjectName).build()) + .setTargetOptions(precondition) + .build(); - Blob compositeObject = storage.compose(composeRequest); + Blob compositeObject = storage.compose(composeRequest); - System.out.println( - "New composite object " - + compositeObject.getName() - + " was created by combining " - + firstObjectName - + " and " - + secondObjectName); + System.out.println( + "New composite object " + + compositeObject.getName() + + " was created by combining " + + firstObjectName + + " and " + + secondObjectName); + } } -}} +} // [END storage_compose_file] diff --git a/samples/snippets/src/main/java/com/example/storage/object/CopyDeleteObject.java b/samples/snippets/src/main/java/com/example/storage/object/CopyDeleteObject.java index 7dfae8a6fd..89016730b6 100644 --- a/samples/snippets/src/main/java/com/example/storage/object/CopyDeleteObject.java +++ b/samples/snippets/src/main/java/com/example/storage/object/CopyDeleteObject.java @@ -30,7 +30,8 @@ public static void copyDeleteObject( String sourceBucketName, String sourceObjectName, String targetBucketName, - String targetObjectName) throws Exception { + String targetObjectName) + throws Exception { // The ID of your GCP project // String projectId = "your-project-id"; @@ -46,43 +47,48 @@ public static void copyDeleteObject( // The ID of your GCS object // String targetObjectName = "your-new-object-name"; - try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { - BlobId source = BlobId.of(sourceBucketName, sourceObjectName); - BlobId target = BlobId.of(targetBucketName, targetObjectName); + try (Storage storage = + StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { + BlobId source = BlobId.of(sourceBucketName, sourceObjectName); + BlobId target = BlobId.of(targetBucketName, targetObjectName); - // Optional: set a generation-match precondition to avoid potential race - // conditions and data corruptions. The request returns a 412 error if the - // preconditions are not met. - Storage.BlobTargetOption precondition; - BlobInfo existingTarget = storage.get(targetBucketName, targetObjectName); - if (existingTarget == null) { - // For a target object that does not yet exist, set the DoesNotExist precondition. - // This will cause the request to fail if the object is created before the request runs. - precondition = Storage.BlobTargetOption.doesNotExist(); - } else { - // If the destination already exists in your bucket, instead set a generation-match - // precondition. This will cause the request to fail if the existing object's generation - // changes before the request runs. - precondition = Storage.BlobTargetOption.generationMatch(existingTarget.getGeneration()); - } + // Optional: set a generation-match precondition to avoid potential race + // conditions and data corruptions. The request returns a 412 error if the + // preconditions are not met. + Storage.BlobTargetOption precondition; + BlobInfo existingTarget = storage.get(targetBucketName, targetObjectName); + if (existingTarget == null) { + // For a target object that does not yet exist, set the DoesNotExist precondition. + // This will cause the request to fail if the object is created before the request runs. + precondition = Storage.BlobTargetOption.doesNotExist(); + } else { + // If the destination already exists in your bucket, instead set a generation-match + // precondition. This will cause the request to fail if the existing object's generation + // changes before the request runs. + precondition = Storage.BlobTargetOption.generationMatch(existingTarget.getGeneration()); + } - // Copy source object to target object - storage.copy( - Storage.CopyRequest.newBuilder().setSource(source).setTarget(target, precondition).build()); - Blob copiedObject = storage.get(target); - // Delete the original blob now that we've copied to where we want it, finishing the "move" - // operation - storage.get(source).delete(); + // Copy source object to target object + storage.copy( + Storage.CopyRequest.newBuilder() + .setSource(source) + .setTarget(target, precondition) + .build()); + Blob copiedObject = storage.get(target); + // Delete the original blob now that we've copied to where we want it, finishing the "move" + // operation + storage.get(source).delete(); - System.out.println( - "Moved object " - + sourceObjectName - + " from bucket " - + sourceBucketName - + " to " - + targetObjectName - + " in bucket " - + copiedObject.getBucket()); + System.out.println( + "Moved object " + + sourceObjectName + + " from bucket " + + sourceBucketName + + " to " + + targetObjectName + + " in bucket " + + copiedObject.getBucket()); + } } -}} +} // [END storage_move_file] diff --git a/samples/snippets/src/main/java/com/example/storage/object/CopyOldVersionOfObject.java b/samples/snippets/src/main/java/com/example/storage/object/CopyOldVersionOfObject.java index 198d72bb28..1bded6cd7c 100644 --- a/samples/snippets/src/main/java/com/example/storage/object/CopyOldVersionOfObject.java +++ b/samples/snippets/src/main/java/com/example/storage/object/CopyOldVersionOfObject.java @@ -27,7 +27,8 @@ public static void copyOldVersionOfObject( String bucketName, String objectToCopy, long generationToCopy, - String newObjectName) throws Exception { + String newObjectName) + throws Exception { // The ID of your GCP project // String projectId = "your-project-id"; @@ -43,41 +44,43 @@ public static void copyOldVersionOfObject( // What to name the new object with the old data from objectToCopy // String newObjectName = "your-new-object"; - try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { + try (Storage storage = + StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { - // Optional: set a generation-match precondition to avoid potential race - // conditions and data corruptions. The request returns a 412 error if the - // preconditions are not met. - Storage.BlobTargetOption precondition; - if (storage.get(bucketName, newObjectName) == null) { - // For a target object that does not yet exist, set the DoesNotExist precondition. - // This will cause the request to fail if the object is created before the request runs. - precondition = Storage.BlobTargetOption.doesNotExist(); - } else { - // If the destination already exists in your bucket, instead set a generation-match - // precondition. This will cause the request to fail if the existing object's generation - // changes before the request runs. - precondition = - Storage.BlobTargetOption.generationMatch( - storage.get(bucketName, newObjectName).getGeneration()); - } + // Optional: set a generation-match precondition to avoid potential race + // conditions and data corruptions. The request returns a 412 error if the + // preconditions are not met. + Storage.BlobTargetOption precondition; + if (storage.get(bucketName, newObjectName) == null) { + // For a target object that does not yet exist, set the DoesNotExist precondition. + // This will cause the request to fail if the object is created before the request runs. + precondition = Storage.BlobTargetOption.doesNotExist(); + } else { + // If the destination already exists in your bucket, instead set a generation-match + // precondition. This will cause the request to fail if the existing object's generation + // changes before the request runs. + precondition = + Storage.BlobTargetOption.generationMatch( + storage.get(bucketName, newObjectName).getGeneration()); + } - Storage.CopyRequest copyRequest = - Storage.CopyRequest.newBuilder() - .setSource(BlobId.of(bucketName, objectToCopy, generationToCopy)) - .setTarget(BlobId.of(bucketName, newObjectName), precondition) - .build(); - storage.copy(copyRequest); + Storage.CopyRequest copyRequest = + Storage.CopyRequest.newBuilder() + .setSource(BlobId.of(bucketName, objectToCopy, generationToCopy)) + .setTarget(BlobId.of(bucketName, newObjectName), precondition) + .build(); + storage.copy(copyRequest); - System.out.println( - "Generation " - + generationToCopy - + " of object " - + objectToCopy - + " in bucket " - + bucketName - + " was copied to " - + newObjectName); + System.out.println( + "Generation " + + generationToCopy + + " of object " + + objectToCopy + + " in bucket " + + bucketName + + " was copied to " + + newObjectName); + } } -}} +} // [END storage_copy_file_archived_generation] diff --git a/samples/snippets/src/main/java/com/example/storage/object/DeleteObject.java b/samples/snippets/src/main/java/com/example/storage/object/DeleteObject.java index 537b523ced..68d90f0a0f 100644 --- a/samples/snippets/src/main/java/com/example/storage/object/DeleteObject.java +++ b/samples/snippets/src/main/java/com/example/storage/object/DeleteObject.java @@ -34,25 +34,28 @@ public static void deleteObject(String projectId, String bucketName, String obje // The ID of your GCS object // String objectName = "your-object-name"; - try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { - Blob blob = storage.get(bucketName, objectName); - if (blob == null) { - System.out.println("The object " + objectName + " wasn't found in " + bucketName); - return; - } - BlobId idWithGeneration = blob.getBlobId(); - // Deletes the blob specified by its id. When the generation is present and non-null it will be - // specified in the request. - // If versioning is enabled on the bucket and the generation is present in the delete request, - // only the version of the object with the matching generation will be deleted. - // If instead you want to delete the current version, the generation should be dropped by - // performing the following. - // BlobId idWithoutGeneration = - // BlobId.of(idWithGeneration.getBucket(), idWithGeneration.getName()); - // storage.delete(idWithoutGeneration); - storage.delete(idWithGeneration); + try (Storage storage = + StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { + Blob blob = storage.get(bucketName, objectName); + if (blob == null) { + System.out.println("The object " + objectName + " wasn't found in " + bucketName); + return; + } + BlobId idWithGeneration = blob.getBlobId(); + // Deletes the blob specified by its id. When the generation is present and non-null it will + // be + // specified in the request. + // If versioning is enabled on the bucket and the generation is present in the delete request, + // only the version of the object with the matching generation will be deleted. + // If instead you want to delete the current version, the generation should be dropped by + // performing the following. + // BlobId idWithoutGeneration = + // BlobId.of(idWithGeneration.getBucket(), idWithGeneration.getName()); + // storage.delete(idWithoutGeneration); + storage.delete(idWithGeneration); - System.out.println("Object " + objectName + " was permanently deleted from " + bucketName); + System.out.println("Object " + objectName + " was permanently deleted from " + bucketName); + } } -}} +} // [END storage_delete_file] diff --git a/samples/snippets/src/main/java/com/example/storage/object/DeleteOldVersionOfObject.java b/samples/snippets/src/main/java/com/example/storage/object/DeleteOldVersionOfObject.java index 5d99e9f05a..45195e5a45 100644 --- a/samples/snippets/src/main/java/com/example/storage/object/DeleteOldVersionOfObject.java +++ b/samples/snippets/src/main/java/com/example/storage/object/DeleteOldVersionOfObject.java @@ -37,16 +37,18 @@ public static void deleteOldVersionOfObject( // The generation of objectName to delete // long generationToDelete = 1579287380533984; - try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { - storage.delete(BlobId.of(bucketName, objectName, generationToDelete)); - - System.out.println( - "Generation " - + generationToDelete - + " of object " - + objectName - + " was deleted from " - + bucketName); + try (Storage storage = + StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { + storage.delete(BlobId.of(bucketName, objectName, generationToDelete)); + + System.out.println( + "Generation " + + generationToDelete + + " of object " + + objectName + + " was deleted from " + + bucketName); + } } -}} +} // [END storage_delete_file_archived_generation] diff --git a/samples/snippets/src/main/java/com/example/storage/object/DownloadByteRange.java b/samples/snippets/src/main/java/com/example/storage/object/DownloadByteRange.java index 1b6076739e..b9472b7cb2 100644 --- a/samples/snippets/src/main/java/com/example/storage/object/DownloadByteRange.java +++ b/samples/snippets/src/main/java/com/example/storage/object/DownloadByteRange.java @@ -55,19 +55,21 @@ public static void downloadByteRange( // The path to which the file should be downloaded // String destFileName = '/local/path/to/file.txt'; - try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { - BlobId blobId = BlobId.of(bucketName, blobName); - try (ReadChannel from = storage.reader(blobId); - FileChannel to = FileChannel.open(Paths.get(destFileName), StandardOpenOption.WRITE)) { - from.seek(startByte); - from.limit(endBytes); + try (Storage storage = + StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { + BlobId blobId = BlobId.of(bucketName, blobName); + try (ReadChannel from = storage.reader(blobId); + FileChannel to = FileChannel.open(Paths.get(destFileName), StandardOpenOption.WRITE)) { + from.seek(startByte); + from.limit(endBytes); - ByteStreams.copy(from, to); + ByteStreams.copy(from, to); - System.out.printf( - "%s downloaded to %s from byte %d to byte %d%n", - blobId.toGsUtilUri(), destFileName, startByte, endBytes); + System.out.printf( + "%s downloaded to %s from byte %d to byte %d%n", + blobId.toGsUtilUri(), destFileName, startByte, endBytes); + } } } -}} +} // [END storage_download_byte_range] diff --git a/samples/snippets/src/main/java/com/example/storage/object/DownloadEncryptedObject.java b/samples/snippets/src/main/java/com/example/storage/object/DownloadEncryptedObject.java index a9708fbf94..9c7b5d1993 100644 --- a/samples/snippets/src/main/java/com/example/storage/object/DownloadEncryptedObject.java +++ b/samples/snippets/src/main/java/com/example/storage/object/DownloadEncryptedObject.java @@ -48,19 +48,21 @@ public static void downloadEncryptedObject( // the object // String decryptionKey = "TIbv/fjexq+VmtXzAlc63J4z5kFmWJ6NdAPQulQBT7g="; - try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { + try (Storage storage = + StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { - Blob blob = storage.get(bucketName, objectName); - blob.downloadTo(destFilePath, Blob.BlobSourceOption.decryptionKey(decryptionKey)); + Blob blob = storage.get(bucketName, objectName); + blob.downloadTo(destFilePath, Blob.BlobSourceOption.decryptionKey(decryptionKey)); - System.out.println( - "Downloaded object " - + objectName - + " from bucket name " - + bucketName - + " to " - + destFilePath - + " using customer-supplied encryption key"); + System.out.println( + "Downloaded object " + + objectName + + " from bucket name " + + bucketName + + " to " + + destFilePath + + " using customer-supplied encryption key"); + } } -}} +} // [END storage_download_encrypted_file] diff --git a/samples/snippets/src/main/java/com/example/storage/object/DownloadObjectIntoMemory.java b/samples/snippets/src/main/java/com/example/storage/object/DownloadObjectIntoMemory.java index 7f845e13f0..27f0b69c3d 100644 --- a/samples/snippets/src/main/java/com/example/storage/object/DownloadObjectIntoMemory.java +++ b/samples/snippets/src/main/java/com/example/storage/object/DownloadObjectIntoMemory.java @@ -34,15 +34,17 @@ public static void downloadObjectIntoMemory( // The ID of your GCS object // String objectName = "your-object-name"; - try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { - byte[] content = storage.readAllBytes(bucketName, objectName); - System.out.println( - "The contents of " - + objectName - + " from bucket name " - + bucketName - + " are: " - + new String(content, StandardCharsets.UTF_8)); + try (Storage storage = + StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { + byte[] content = storage.readAllBytes(bucketName, objectName); + System.out.println( + "The contents of " + + objectName + + " from bucket name " + + bucketName + + " are: " + + new String(content, StandardCharsets.UTF_8)); + } } -}} +} // [END storage_file_download_into_memory] diff --git a/samples/snippets/src/main/java/com/example/storage/object/DownloadPublicObject.java b/samples/snippets/src/main/java/com/example/storage/object/DownloadPublicObject.java index 5cfdcfd3be..c1fbef6c90 100644 --- a/samples/snippets/src/main/java/com/example/storage/object/DownloadPublicObject.java +++ b/samples/snippets/src/main/java/com/example/storage/object/DownloadPublicObject.java @@ -47,6 +47,7 @@ public static void downloadPublicObject( + bucketName + " to " + destFilePath); - }} + } + } } // [END storage_download_public_file] diff --git a/samples/snippets/src/main/java/com/example/storage/object/DownloadRequesterPaysObject.java b/samples/snippets/src/main/java/com/example/storage/object/DownloadRequesterPaysObject.java index 9ef962a62a..2c11d4100a 100644 --- a/samples/snippets/src/main/java/com/example/storage/object/DownloadRequesterPaysObject.java +++ b/samples/snippets/src/main/java/com/example/storage/object/DownloadRequesterPaysObject.java @@ -40,14 +40,19 @@ public static void downloadRequesterPaysObject( // Path destFilePath = Paths.get("/local/path/to/file.txt"); try (Storage storage = StorageOptions.getDefaultInstance().getService()) { - Blob blob = - storage.get( - BlobId.of(bucketName, objectName), Storage.BlobGetOption.userProject(projectId)); - blob.downloadTo(destFilePath, Blob.BlobSourceOption.userProject(projectId)); - - System.out.println( - "Object " + objectName + " downloaded to " + destFilePath + " and billed to " + projectId); - } + Blob blob = + storage.get( + BlobId.of(bucketName, objectName), Storage.BlobGetOption.userProject(projectId)); + blob.downloadTo(destFilePath, Blob.BlobSourceOption.userProject(projectId)); + + System.out.println( + "Object " + + objectName + + " downloaded to " + + destFilePath + + " and billed to " + + projectId); + } } } // [END storage_download_file_requester_pays] diff --git a/samples/snippets/src/main/java/com/example/storage/object/GenerateV4GetObjectSignedUrl.java b/samples/snippets/src/main/java/com/example/storage/object/GenerateV4GetObjectSignedUrl.java index c5bd35ee8d..9f41311a8e 100644 --- a/samples/snippets/src/main/java/com/example/storage/object/GenerateV4GetObjectSignedUrl.java +++ b/samples/snippets/src/main/java/com/example/storage/object/GenerateV4GetObjectSignedUrl.java @@ -42,18 +42,20 @@ public static void generateV4GetObjectSignedUrl( // String bucketName = "my-bucket"; // String objectName = "my-object"; - try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { + try (Storage storage = + StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { - // Define resource - BlobInfo blobInfo = BlobInfo.newBuilder(BlobId.of(bucketName, objectName)).build(); + // Define resource + BlobInfo blobInfo = BlobInfo.newBuilder(BlobId.of(bucketName, objectName)).build(); - URL url = - storage.signUrl(blobInfo, 15, TimeUnit.MINUTES, Storage.SignUrlOption.withV4Signature()); + URL url = + storage.signUrl(blobInfo, 15, TimeUnit.MINUTES, Storage.SignUrlOption.withV4Signature()); - System.out.println("Generated GET signed URL:"); - System.out.println(url); - System.out.println("You can use this URL with any user agent, for example:"); - System.out.println("curl '" + url + "'"); + System.out.println("Generated GET signed URL:"); + System.out.println(url); + System.out.println("You can use this URL with any user agent, for example:"); + System.out.println("curl '" + url + "'"); + } } -}} +} // [END storage_generate_signed_url_v4] diff --git a/samples/snippets/src/main/java/com/example/storage/object/GenerateV4PutObjectSignedUrl.java b/samples/snippets/src/main/java/com/example/storage/object/GenerateV4PutObjectSignedUrl.java index 455560b03c..2d2c53fb7e 100644 --- a/samples/snippets/src/main/java/com/example/storage/object/GenerateV4PutObjectSignedUrl.java +++ b/samples/snippets/src/main/java/com/example/storage/object/GenerateV4PutObjectSignedUrl.java @@ -45,31 +45,33 @@ public static void generateV4PutObjectSignedUrl( // String bucketName = "my-bucket"; // String objectName = "my-object"; - try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { + try (Storage storage = + StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { - // Define Resource - BlobInfo blobInfo = BlobInfo.newBuilder(BlobId.of(bucketName, objectName)).build(); + // Define Resource + BlobInfo blobInfo = BlobInfo.newBuilder(BlobId.of(bucketName, objectName)).build(); - // Generate Signed URL - Map extensionHeaders = new HashMap<>(); - extensionHeaders.put("Content-Type", "application/octet-stream"); + // Generate Signed URL + Map extensionHeaders = new HashMap<>(); + extensionHeaders.put("Content-Type", "application/octet-stream"); - URL url = - storage.signUrl( - blobInfo, - 15, - TimeUnit.MINUTES, - Storage.SignUrlOption.httpMethod(HttpMethod.PUT), - Storage.SignUrlOption.withExtHeaders(extensionHeaders), - Storage.SignUrlOption.withV4Signature()); + URL url = + storage.signUrl( + blobInfo, + 15, + TimeUnit.MINUTES, + Storage.SignUrlOption.httpMethod(HttpMethod.PUT), + Storage.SignUrlOption.withExtHeaders(extensionHeaders), + Storage.SignUrlOption.withV4Signature()); - System.out.println("Generated PUT signed URL:"); - System.out.println(url); - System.out.println("You can use this URL with any user agent, for example:"); - System.out.println( - "curl -X PUT -H 'Content-Type: application/octet-stream' --upload-file my-file '" - + url - + "'"); + System.out.println("Generated PUT signed URL:"); + System.out.println(url); + System.out.println("You can use this URL with any user agent, for example:"); + System.out.println( + "curl -X PUT -H 'Content-Type: application/octet-stream' --upload-file my-file '" + + url + + "'"); + } } -}} +} // [END storage_generate_upload_signed_url_v4] diff --git a/samples/snippets/src/main/java/com/example/storage/object/GetObjectMetadata.java b/samples/snippets/src/main/java/com/example/storage/object/GetObjectMetadata.java index 8fb2fdb31f..e70897d04c 100644 --- a/samples/snippets/src/main/java/com/example/storage/object/GetObjectMetadata.java +++ b/samples/snippets/src/main/java/com/example/storage/object/GetObjectMetadata.java @@ -36,52 +36,56 @@ public static void getObjectMetadata(String projectId, String bucketName, String // The ID of your GCS object // String objectName = "your-object-name"; - try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { + try (Storage storage = + StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { - // Select all fields - // Fields can be selected individually e.g. Storage.BlobField.CACHE_CONTROL - Blob blob = - storage.get(bucketName, blobName, Storage.BlobGetOption.fields(Storage.BlobField.values())); + // Select all fields + // Fields can be selected individually e.g. Storage.BlobField.CACHE_CONTROL + Blob blob = + storage.get( + bucketName, blobName, Storage.BlobGetOption.fields(Storage.BlobField.values())); - // Print blob metadata - System.out.println("Bucket: " + blob.getBucket()); - System.out.println("CacheControl: " + blob.getCacheControl()); - System.out.println("ComponentCount: " + blob.getComponentCount()); - System.out.println("ContentDisposition: " + blob.getContentDisposition()); - System.out.println("ContentEncoding: " + blob.getContentEncoding()); - System.out.println("ContentLanguage: " + blob.getContentLanguage()); - System.out.println("ContentType: " + blob.getContentType()); - System.out.println("CustomTime: " + blob.getCustomTime()); - System.out.println("Crc32c: " + blob.getCrc32c()); - System.out.println("Crc32cHexString: " + blob.getCrc32cToHexString()); - System.out.println("ETag: " + blob.getEtag()); - System.out.println("Generation: " + blob.getGeneration()); - System.out.println("Id: " + blob.getBlobId()); - System.out.println("KmsKeyName: " + blob.getKmsKeyName()); - System.out.println("Md5Hash: " + blob.getMd5()); - System.out.println("Md5HexString: " + blob.getMd5ToHexString()); - System.out.println("MediaLink: " + blob.getMediaLink()); - System.out.println("Metageneration: " + blob.getMetageneration()); - System.out.println("Name: " + blob.getName()); - System.out.println("Size: " + blob.getSize()); - System.out.println("StorageClass: " + blob.getStorageClass()); - System.out.println("TimeCreated: " + new Date(blob.getCreateTime())); - System.out.println("Last Metadata Update: " + new Date(blob.getUpdateTime())); - System.out.println("Object Retention Policy: " + blob.getRetention()); - Boolean temporaryHoldIsEnabled = (blob.getTemporaryHold() != null && blob.getTemporaryHold()); - System.out.println("temporaryHold: " + (temporaryHoldIsEnabled ? "enabled" : "disabled")); - Boolean eventBasedHoldIsEnabled = - (blob.getEventBasedHold() != null && blob.getEventBasedHold()); - System.out.println("eventBasedHold: " + (eventBasedHoldIsEnabled ? "enabled" : "disabled")); - if (blob.getRetentionExpirationTime() != null) { - System.out.println("retentionExpirationTime: " + new Date(blob.getRetentionExpirationTime())); - } - if (blob.getMetadata() != null) { - System.out.println("\n\n\nUser metadata:"); - for (Map.Entry userMetadata : blob.getMetadata().entrySet()) { - System.out.println(userMetadata.getKey() + "=" + userMetadata.getValue()); + // Print blob metadata + System.out.println("Bucket: " + blob.getBucket()); + System.out.println("CacheControl: " + blob.getCacheControl()); + System.out.println("ComponentCount: " + blob.getComponentCount()); + System.out.println("ContentDisposition: " + blob.getContentDisposition()); + System.out.println("ContentEncoding: " + blob.getContentEncoding()); + System.out.println("ContentLanguage: " + blob.getContentLanguage()); + System.out.println("ContentType: " + blob.getContentType()); + System.out.println("CustomTime: " + blob.getCustomTime()); + System.out.println("Crc32c: " + blob.getCrc32c()); + System.out.println("Crc32cHexString: " + blob.getCrc32cToHexString()); + System.out.println("ETag: " + blob.getEtag()); + System.out.println("Generation: " + blob.getGeneration()); + System.out.println("Id: " + blob.getBlobId()); + System.out.println("KmsKeyName: " + blob.getKmsKeyName()); + System.out.println("Md5Hash: " + blob.getMd5()); + System.out.println("Md5HexString: " + blob.getMd5ToHexString()); + System.out.println("MediaLink: " + blob.getMediaLink()); + System.out.println("Metageneration: " + blob.getMetageneration()); + System.out.println("Name: " + blob.getName()); + System.out.println("Size: " + blob.getSize()); + System.out.println("StorageClass: " + blob.getStorageClass()); + System.out.println("TimeCreated: " + new Date(blob.getCreateTime())); + System.out.println("Last Metadata Update: " + new Date(blob.getUpdateTime())); + System.out.println("Object Retention Policy: " + blob.getRetention()); + Boolean temporaryHoldIsEnabled = (blob.getTemporaryHold() != null && blob.getTemporaryHold()); + System.out.println("temporaryHold: " + (temporaryHoldIsEnabled ? "enabled" : "disabled")); + Boolean eventBasedHoldIsEnabled = + (blob.getEventBasedHold() != null && blob.getEventBasedHold()); + System.out.println("eventBasedHold: " + (eventBasedHoldIsEnabled ? "enabled" : "disabled")); + if (blob.getRetentionExpirationTime() != null) { + System.out.println( + "retentionExpirationTime: " + new Date(blob.getRetentionExpirationTime())); + } + if (blob.getMetadata() != null) { + System.out.println("\n\n\nUser metadata:"); + for (Map.Entry userMetadata : blob.getMetadata().entrySet()) { + System.out.println(userMetadata.getKey() + "=" + userMetadata.getValue()); + } } } } -}} +} // [END storage_get_metadata] diff --git a/samples/snippets/src/main/java/com/example/storage/object/ListObjects.java b/samples/snippets/src/main/java/com/example/storage/object/ListObjects.java index 9bb5baa13f..85629af52d 100644 --- a/samples/snippets/src/main/java/com/example/storage/object/ListObjects.java +++ b/samples/snippets/src/main/java/com/example/storage/object/ListObjects.java @@ -30,12 +30,14 @@ public static void listObjects(String projectId, String bucketName) throws Excep // The ID of your GCS bucket // String bucketName = "your-unique-bucket-name"; - try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { - Page blobs = storage.list(bucketName); + try (Storage storage = + StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { + Page blobs = storage.list(bucketName); - for (Blob blob : blobs.iterateAll()) { - System.out.println(blob.getName()); + for (Blob blob : blobs.iterateAll()) { + System.out.println(blob.getName()); + } } } -}} +} // [END storage_list_files] diff --git a/samples/snippets/src/main/java/com/example/storage/object/ListObjectsWithOldVersions.java b/samples/snippets/src/main/java/com/example/storage/object/ListObjectsWithOldVersions.java index 975b86574b..d6ba3d81a3 100644 --- a/samples/snippets/src/main/java/com/example/storage/object/ListObjectsWithOldVersions.java +++ b/samples/snippets/src/main/java/com/example/storage/object/ListObjectsWithOldVersions.java @@ -31,13 +31,15 @@ public static void listObjectsWithOldVersions(String projectId, String bucketNam // The ID of your GCS bucket // String bucketName = "your-unique-bucket-name"; - try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { - Bucket bucket = storage.get(bucketName); - Page blobs = bucket.list(Storage.BlobListOption.versions(true)); + try (Storage storage = + StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { + Bucket bucket = storage.get(bucketName); + Page blobs = bucket.list(Storage.BlobListOption.versions(true)); - for (Blob blob : blobs.iterateAll()) { - System.out.println(blob.getName() + "," + blob.getGeneration()); + for (Blob blob : blobs.iterateAll()) { + System.out.println(blob.getName() + "," + blob.getGeneration()); + } } } -}} +} // [END storage_list_file_archived_generations] diff --git a/samples/snippets/src/main/java/com/example/storage/object/ListObjectsWithPrefix.java b/samples/snippets/src/main/java/com/example/storage/object/ListObjectsWithPrefix.java index eaf5c66662..9bb0f07e88 100644 --- a/samples/snippets/src/main/java/com/example/storage/object/ListObjectsWithPrefix.java +++ b/samples/snippets/src/main/java/com/example/storage/object/ListObjectsWithPrefix.java @@ -34,36 +34,39 @@ public static void listObjectsWithPrefix( // The directory prefix to search for // String directoryPrefix = "myDirectory/" - try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { - /** - * Using the Storage.BlobListOption.currentDirectory() option here causes the results to display - * in a "directory-like" mode, showing what objects are in the directory you've specified, as - * well as what other directories exist in that directory. For example, given these blobs: - * - *

a/1.txt a/b/2.txt a/b/3.txt - * - *

If you specify prefix = "a/" and don't use Storage.BlobListOption.currentDirectory(), - * you'll get back: - * - *

a/1.txt a/b/2.txt a/b/3.txt - * - *

However, if you specify prefix = "a/" and do use - * Storage.BlobListOption.currentDirectory(), you'll get back: - * - *

a/1.txt a/b/ - * - *

Because a/1.txt is the only file in the a/ directory and a/b/ is a directory inside the - * /a/ directory. - */ - Page blobs = - storage.list( - bucketName, - Storage.BlobListOption.prefix(directoryPrefix), - Storage.BlobListOption.currentDirectory()); + try (Storage storage = + StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { + /** + * Using the Storage.BlobListOption.currentDirectory() option here causes the results to + * display in a "directory-like" mode, showing what objects are in the directory you've + * specified, as well as what other directories exist in that directory. For example, given + * these blobs: + * + *

a/1.txt a/b/2.txt a/b/3.txt + * + *

If you specify prefix = "a/" and don't use Storage.BlobListOption.currentDirectory(), + * you'll get back: + * + *

a/1.txt a/b/2.txt a/b/3.txt + * + *

However, if you specify prefix = "a/" and do use + * Storage.BlobListOption.currentDirectory(), you'll get back: + * + *

a/1.txt a/b/ + * + *

Because a/1.txt is the only file in the a/ directory and a/b/ is a directory inside the + * /a/ directory. + */ + Page blobs = + storage.list( + bucketName, + Storage.BlobListOption.prefix(directoryPrefix), + Storage.BlobListOption.currentDirectory()); - for (Blob blob : blobs.iterateAll()) { - System.out.println(blob.getName()); + for (Blob blob : blobs.iterateAll()) { + System.out.println(blob.getName()); + } } } -}} +} // [END storage_list_files_with_prefix] diff --git a/samples/snippets/src/main/java/com/example/storage/object/ListSoftDeletedObjects.java b/samples/snippets/src/main/java/com/example/storage/object/ListSoftDeletedObjects.java index d6fc501c18..9f5130cad6 100644 --- a/samples/snippets/src/main/java/com/example/storage/object/ListSoftDeletedObjects.java +++ b/samples/snippets/src/main/java/com/example/storage/object/ListSoftDeletedObjects.java @@ -30,12 +30,14 @@ public static void listSoftDeletedObjects(String projectId, String bucketName) t // The ID of your GCS bucket // String bucketName = "your-unique-bucket-name"; - try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { - Page blobs = storage.list(bucketName, Storage.BlobListOption.softDeleted(true)); + try (Storage storage = + StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { + Page blobs = storage.list(bucketName, Storage.BlobListOption.softDeleted(true)); - for (Blob blob : blobs.iterateAll()) { - System.out.println(blob.getName()); + for (Blob blob : blobs.iterateAll()) { + System.out.println(blob.getName()); + } } } -}} +} // [END storage_list_soft_deleted_objects] diff --git a/samples/snippets/src/main/java/com/example/storage/object/ListSoftDeletedVersionsOfObject.java b/samples/snippets/src/main/java/com/example/storage/object/ListSoftDeletedVersionsOfObject.java index 31931d7bde..950f8b1464 100644 --- a/samples/snippets/src/main/java/com/example/storage/object/ListSoftDeletedVersionsOfObject.java +++ b/samples/snippets/src/main/java/com/example/storage/object/ListSoftDeletedVersionsOfObject.java @@ -35,17 +35,19 @@ public static void listSoftDeletedVersionOfObject( // The name of your GCS object // String objectName = "your-object-name"; - try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { - Page blobs = - storage.list( - bucketName, - Storage.BlobListOption.softDeleted(true), - // See https://cloud.google.com/storage/docs/json_api/v1/objects/list#matchGlob - Storage.BlobListOption.matchGlob(objectName)); - - for (Blob blob : blobs.iterateAll()) { - System.out.println(blob.getName()); + try (Storage storage = + StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { + Page blobs = + storage.list( + bucketName, + Storage.BlobListOption.softDeleted(true), + // See https://cloud.google.com/storage/docs/json_api/v1/objects/list#matchGlob + Storage.BlobListOption.matchGlob(objectName)); + + for (Blob blob : blobs.iterateAll()) { + System.out.println(blob.getName()); + } } } -}} +} // [END storage_list_soft_deleted_object_versions] diff --git a/samples/snippets/src/main/java/com/example/storage/object/MakeObjectPublic.java b/samples/snippets/src/main/java/com/example/storage/object/MakeObjectPublic.java index 938c997882..7ac041c81e 100644 --- a/samples/snippets/src/main/java/com/example/storage/object/MakeObjectPublic.java +++ b/samples/snippets/src/main/java/com/example/storage/object/MakeObjectPublic.java @@ -28,12 +28,14 @@ public static void makeObjectPublic(String projectId, String bucketName, String // String projectId = "your-project-id"; // String bucketName = "your-bucket-name"; // String objectName = "your-object-name"; - try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { - BlobId blobId = BlobId.of(bucketName, objectName); - storage.createAcl(blobId, Acl.of(Acl.User.ofAllUsers(), Acl.Role.READER)); + try (Storage storage = + StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { + BlobId blobId = BlobId.of(bucketName, objectName); + storage.createAcl(blobId, Acl.of(Acl.User.ofAllUsers(), Acl.Role.READER)); - System.out.println( - "Object " + objectName + " in bucket " + bucketName + " was made publicly readable"); + System.out.println( + "Object " + objectName + " in bucket " + bucketName + " was made publicly readable"); + } } -}} +} // [END storage_make_public] diff --git a/samples/snippets/src/main/java/com/example/storage/object/PrintBlobAcl.java b/samples/snippets/src/main/java/com/example/storage/object/PrintBlobAcl.java index 1d9f291e9d..f5434ea201 100644 --- a/samples/snippets/src/main/java/com/example/storage/object/PrintBlobAcl.java +++ b/samples/snippets/src/main/java/com/example/storage/object/PrintBlobAcl.java @@ -51,6 +51,7 @@ public static void printBlobAcl(String bucketName, String blobName) throws Excep System.out.printf("%s: %s %n", role, entityType); } - }} + } + } } // [END storage_print_file_acl] diff --git a/samples/snippets/src/main/java/com/example/storage/object/ReleaseEventBasedHold.java b/samples/snippets/src/main/java/com/example/storage/object/ReleaseEventBasedHold.java index 1995887251..01c9f73a09 100644 --- a/samples/snippets/src/main/java/com/example/storage/object/ReleaseEventBasedHold.java +++ b/samples/snippets/src/main/java/com/example/storage/object/ReleaseEventBasedHold.java @@ -35,22 +35,24 @@ public static void releaseEventBasedHold(String projectId, String bucketName, St // The ID of your GCS object // String objectName = "your-object-name"; - try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { - BlobId blobId = BlobId.of(bucketName, objectName); - Blob blob = storage.get(blobId); - if (blob == null) { - System.out.println("The object " + objectName + " was not found in " + bucketName); - return; + try (Storage storage = + StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { + BlobId blobId = BlobId.of(bucketName, objectName); + Blob blob = storage.get(blobId); + if (blob == null) { + System.out.println("The object " + objectName + " was not found in " + bucketName); + return; + } + + // Optional: set a generation-match precondition to avoid potential race + // conditions and data corruptions. The request to upload returns a 412 error if + // the object's generation number does not match your precondition. + Storage.BlobTargetOption precondition = Storage.BlobTargetOption.generationMatch(); + + blob.toBuilder().setEventBasedHold(false).build().update(precondition); + + System.out.println("Event-based hold was released for " + objectName); } - - // Optional: set a generation-match precondition to avoid potential race - // conditions and data corruptions. The request to upload returns a 412 error if - // the object's generation number does not match your precondition. - Storage.BlobTargetOption precondition = Storage.BlobTargetOption.generationMatch(); - - blob.toBuilder().setEventBasedHold(false).build().update(precondition); - - System.out.println("Event-based hold was released for " + objectName); } -}} +} // [END storage_release_event_based_hold] diff --git a/samples/snippets/src/main/java/com/example/storage/object/ReleaseTemporaryHold.java b/samples/snippets/src/main/java/com/example/storage/object/ReleaseTemporaryHold.java index d8c01c1e85..6d055661e4 100644 --- a/samples/snippets/src/main/java/com/example/storage/object/ReleaseTemporaryHold.java +++ b/samples/snippets/src/main/java/com/example/storage/object/ReleaseTemporaryHold.java @@ -35,23 +35,25 @@ public static void releaseTemporaryHold(String projectId, String bucketName, Str // The ID of your GCS object // String objectName = "your-object-name"; - try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { + try (Storage storage = + StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { - BlobId blobId = BlobId.of(bucketName, objectName); - Blob blob = storage.get(blobId); - if (blob == null) { - System.out.println("The object " + objectName + " was not found in " + bucketName); - return; - } + BlobId blobId = BlobId.of(bucketName, objectName); + Blob blob = storage.get(blobId); + if (blob == null) { + System.out.println("The object " + objectName + " was not found in " + bucketName); + return; + } - // Optional: set a generation-match precondition to avoid potential race - // conditions and data corruptions. The request to upload returns a 412 error if - // the object's generation number does not match your precondition. - Storage.BlobTargetOption precondition = Storage.BlobTargetOption.generationMatch(); + // Optional: set a generation-match precondition to avoid potential race + // conditions and data corruptions. The request to upload returns a 412 error if + // the object's generation number does not match your precondition. + Storage.BlobTargetOption precondition = Storage.BlobTargetOption.generationMatch(); - blob.toBuilder().setTemporaryHold(false).build().update(precondition); + blob.toBuilder().setTemporaryHold(false).build().update(precondition); - System.out.println("Temporary hold was released for " + objectName); + System.out.println("Temporary hold was released for " + objectName); + } } -}} +} // [END storage_release_temporary_hold] diff --git a/samples/snippets/src/main/java/com/example/storage/object/RemoveBlobOwner.java b/samples/snippets/src/main/java/com/example/storage/object/RemoveBlobOwner.java index fab23a7fa4..d8a8f37224 100644 --- a/samples/snippets/src/main/java/com/example/storage/object/RemoveBlobOwner.java +++ b/samples/snippets/src/main/java/com/example/storage/object/RemoveBlobOwner.java @@ -40,22 +40,24 @@ public static void removeBlobOwner( // The name of the blob/file that you wish to modify permissions on // String blobName = "your-blob-name"; - try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { - Blob blob = storage.get(BlobId.of(bucketName, blobName)); - User ownerToRemove = new User(userEmail); - - boolean success = blob.deleteAcl(ownerToRemove); - if (success) { - System.out.println( - "Removed user " - + userEmail - + " as an owner on file " - + blobName - + " in bucket " - + bucketName); - } else { - System.out.println("User " + userEmail + " was not found"); + try (Storage storage = + StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { + Blob blob = storage.get(BlobId.of(bucketName, blobName)); + User ownerToRemove = new User(userEmail); + + boolean success = blob.deleteAcl(ownerToRemove); + if (success) { + System.out.println( + "Removed user " + + userEmail + + " as an owner on file " + + blobName + + " in bucket " + + bucketName); + } else { + System.out.println("User " + userEmail + " was not found"); + } } } -}} +} // [END storage_remove_file_owner] diff --git a/samples/snippets/src/main/java/com/example/storage/object/RestoreSoftDeletedObject.java b/samples/snippets/src/main/java/com/example/storage/object/RestoreSoftDeletedObject.java index 220c77df3a..809999981b 100644 --- a/samples/snippets/src/main/java/com/example/storage/object/RestoreSoftDeletedObject.java +++ b/samples/snippets/src/main/java/com/example/storage/object/RestoreSoftDeletedObject.java @@ -34,10 +34,12 @@ public static void restoreSoftDeletedObject( // The name of your GCS object // String objectName = "your-object-name"; - try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { - Blob blob = storage.restore(BlobId.of(bucketName, objectName, generation)); + try (Storage storage = + StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { + Blob blob = storage.restore(BlobId.of(bucketName, objectName, generation)); - System.out.println("Restored previously soft-deleted object " + blob.getName()); + System.out.println("Restored previously soft-deleted object " + blob.getName()); + } } -}} +} // [END storage_restore_object] diff --git a/samples/snippets/src/main/java/com/example/storage/object/RotateObjectEncryptionKey.java b/samples/snippets/src/main/java/com/example/storage/object/RotateObjectEncryptionKey.java index 8f9ff35b7c..b60ca694b4 100644 --- a/samples/snippets/src/main/java/com/example/storage/object/RotateObjectEncryptionKey.java +++ b/samples/snippets/src/main/java/com/example/storage/object/RotateObjectEncryptionKey.java @@ -28,7 +28,8 @@ public static void rotateObjectEncryptionKey( String bucketName, String objectName, String oldEncryptionKey, - String newEncryptionKey) throws Exception { + String newEncryptionKey) + throws Exception { // The ID of your GCP project // String projectId = "your-project-id"; @@ -47,32 +48,35 @@ public static void rotateObjectEncryptionKey( // The new encryption key to use // String newEncryptionKey = "0mMWhFvQOdS4AmxRpo8SJxXn5MjFhbz7DkKBUdUIef8=" - try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { - BlobId blobId = BlobId.of(bucketName, objectName); - Blob blob = storage.get(blobId); - if (blob == null) { - System.out.println("The object " + objectName + " wasn't found in " + bucketName); - return; - } + try (Storage storage = + StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { + BlobId blobId = BlobId.of(bucketName, objectName); + Blob blob = storage.get(blobId); + if (blob == null) { + System.out.println("The object " + objectName + " wasn't found in " + bucketName); + return; + } - // Optional: set a generation-match precondition to avoid potential race - // conditions and data corruptions. The request to upload returns a 412 error if - // the object's generation number does not match your precondition. - Storage.BlobSourceOption precondition = - Storage.BlobSourceOption.generationMatch(blob.getGeneration()); + // Optional: set a generation-match precondition to avoid potential race + // conditions and data corruptions. The request to upload returns a 412 error if + // the object's generation number does not match your precondition. + Storage.BlobSourceOption precondition = + Storage.BlobSourceOption.generationMatch(blob.getGeneration()); - // You can't change an object's encryption key directly, the only way is to overwrite the object - Storage.CopyRequest request = - Storage.CopyRequest.newBuilder() - .setSource(blobId) - .setSourceOptions( - Storage.BlobSourceOption.decryptionKey(oldEncryptionKey), precondition) - .setTarget(blobId, Storage.BlobTargetOption.encryptionKey(newEncryptionKey)) - .build(); - storage.copy(request); + // You can't change an object's encryption key directly, the only way is to overwrite the + // object + Storage.CopyRequest request = + Storage.CopyRequest.newBuilder() + .setSource(blobId) + .setSourceOptions( + Storage.BlobSourceOption.decryptionKey(oldEncryptionKey), precondition) + .setTarget(blobId, Storage.BlobTargetOption.encryptionKey(newEncryptionKey)) + .build(); + storage.copy(request); - System.out.println( - "Rotated encryption key for object " + objectName + "in bucket " + bucketName); + System.out.println( + "Rotated encryption key for object " + objectName + "in bucket " + bucketName); + } } -}} +} // [END storage_rotate_encryption_key] diff --git a/samples/snippets/src/main/java/com/example/storage/object/SetEventBasedHold.java b/samples/snippets/src/main/java/com/example/storage/object/SetEventBasedHold.java index 95b513d5a4..d5177fbb22 100644 --- a/samples/snippets/src/main/java/com/example/storage/object/SetEventBasedHold.java +++ b/samples/snippets/src/main/java/com/example/storage/object/SetEventBasedHold.java @@ -35,22 +35,24 @@ public static void setEventBasedHold(String projectId, String bucketName, String // The ID of your GCS object // String objectName = "your-object-name"; - try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { - BlobId blobId = BlobId.of(bucketName, objectName); - Blob blob = storage.get(blobId); - if (blob == null) { - System.out.println("The object " + objectName + " was not found in " + bucketName); - return; + try (Storage storage = + StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { + BlobId blobId = BlobId.of(bucketName, objectName); + Blob blob = storage.get(blobId); + if (blob == null) { + System.out.println("The object " + objectName + " was not found in " + bucketName); + return; + } + + // Optional: set a generation-match precondition to avoid potential race + // conditions and data corruptions. The request to upload returns a 412 error if + // the object's generation number does not match your precondition. + Storage.BlobTargetOption precondition = Storage.BlobTargetOption.generationMatch(); + + blob.toBuilder().setEventBasedHold(true).build().update(precondition); + + System.out.println("Event-based hold was set for " + objectName); } - - // Optional: set a generation-match precondition to avoid potential race - // conditions and data corruptions. The request to upload returns a 412 error if - // the object's generation number does not match your precondition. - Storage.BlobTargetOption precondition = Storage.BlobTargetOption.generationMatch(); - - blob.toBuilder().setEventBasedHold(true).build().update(precondition); - - System.out.println("Event-based hold was set for " + objectName); } -}} +} // [END storage_set_event_based_hold] diff --git a/samples/snippets/src/main/java/com/example/storage/object/SetObjectMetadata.java b/samples/snippets/src/main/java/com/example/storage/object/SetObjectMetadata.java index 7d90ab35be..1442ea72fb 100644 --- a/samples/snippets/src/main/java/com/example/storage/object/SetObjectMetadata.java +++ b/samples/snippets/src/main/java/com/example/storage/object/SetObjectMetadata.java @@ -38,28 +38,31 @@ public static void setObjectMetadata(String projectId, String bucketName, String // The ID of your GCS object // String objectName = "your-object-name"; - try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { - Map newMetadata = new HashMap<>(); - newMetadata.put("keyToAddOrUpdate", "value"); - BlobId blobId = BlobId.of(bucketName, objectName); - Blob blob = storage.get(blobId); - if (blob == null) { - System.out.println("The object " + objectName + " was not found in " + bucketName); - return; - } + try (Storage storage = + StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { + Map newMetadata = new HashMap<>(); + newMetadata.put("keyToAddOrUpdate", "value"); + BlobId blobId = BlobId.of(bucketName, objectName); + Blob blob = storage.get(blobId); + if (blob == null) { + System.out.println("The object " + objectName + " was not found in " + bucketName); + return; + } - // Optional: set a generation-match precondition to avoid potential race - // conditions and data corruptions. The request to upload returns a 412 error if - // the object's generation number does not match your precondition. - Storage.BlobTargetOption precondition = Storage.BlobTargetOption.generationMatch(); + // Optional: set a generation-match precondition to avoid potential race + // conditions and data corruptions. The request to upload returns a 412 error if + // the object's generation number does not match your precondition. + Storage.BlobTargetOption precondition = Storage.BlobTargetOption.generationMatch(); - // Does an upsert operation, if the key already exists it's replaced by the new value, otherwise - // it's added. - BlobInfo pendingUpdate = blob.toBuilder().setMetadata(newMetadata).build(); - storage.update(pendingUpdate, precondition); + // Does an upsert operation, if the key already exists it's replaced by the new value, + // otherwise + // it's added. + BlobInfo pendingUpdate = blob.toBuilder().setMetadata(newMetadata).build(); + storage.update(pendingUpdate, precondition); - System.out.println( - "Updated custom metadata for object " + objectName + " in bucket " + bucketName); + System.out.println( + "Updated custom metadata for object " + objectName + " in bucket " + bucketName); + } } -}} +} // [END storage_set_metadata] diff --git a/samples/snippets/src/main/java/com/example/storage/object/SetObjectRetentionPolicy.java b/samples/snippets/src/main/java/com/example/storage/object/SetObjectRetentionPolicy.java index 1199e04415..a14c5e5652 100644 --- a/samples/snippets/src/main/java/com/example/storage/object/SetObjectRetentionPolicy.java +++ b/samples/snippets/src/main/java/com/example/storage/object/SetObjectRetentionPolicy.java @@ -38,37 +38,39 @@ public static void setObjectRetentionPolicy( // The ID of your GCS object // String objectName = "your-object-name"; - try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { - BlobId blobId = BlobId.of(bucketName, objectName); - Blob blob = storage.get(blobId); - if (blob == null) { - System.out.println("The object " + objectName + " was not found in " + bucketName); - return; - } + try (Storage storage = + StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { + BlobId blobId = BlobId.of(bucketName, objectName); + Blob blob = storage.get(blobId); + if (blob == null) { + System.out.println("The object " + objectName + " was not found in " + bucketName); + return; + } - Blob updated = - blob.toBuilder() - .setRetention( - Retention.newBuilder() - .setMode(Retention.Mode.UNLOCKED) - .setRetainUntilTime(now().plusDays(10)) - .build()) - .build() - .update(); + Blob updated = + blob.toBuilder() + .setRetention( + Retention.newBuilder() + .setMode(Retention.Mode.UNLOCKED) + .setRetainUntilTime(now().plusDays(10)) + .build()) + .build() + .update(); - System.out.println("Retention policy for object " + objectName + " was set to:"); - System.out.println(updated.getRetention().toString()); + System.out.println("Retention policy for object " + objectName + " was set to:"); + System.out.println(updated.getRetention().toString()); - // To modify an existing policy on an Unlocked object, pass in the override parameter - blob.toBuilder() - .setRetention( - updated.getRetention().toBuilder().setRetainUntilTime(now().plusDays(9)).build()) - .build() - .update(Storage.BlobTargetOption.overrideUnlockedRetention(true)); + // To modify an existing policy on an Unlocked object, pass in the override parameter + blob.toBuilder() + .setRetention( + updated.getRetention().toBuilder().setRetainUntilTime(now().plusDays(9)).build()) + .build() + .update(Storage.BlobTargetOption.overrideUnlockedRetention(true)); - System.out.println("Retention policy for object " + objectName + " was updated to:"); - System.out.println(storage.get(blobId).getRetention().toString()); + System.out.println("Retention policy for object " + objectName + " was updated to:"); + System.out.println(storage.get(blobId).getRetention().toString()); + } } -}} +} // [END storage_set_object_retention_policy] diff --git a/samples/snippets/src/main/java/com/example/storage/object/SetTemporaryHold.java b/samples/snippets/src/main/java/com/example/storage/object/SetTemporaryHold.java index ac4e2299a0..f9d54347ad 100644 --- a/samples/snippets/src/main/java/com/example/storage/object/SetTemporaryHold.java +++ b/samples/snippets/src/main/java/com/example/storage/object/SetTemporaryHold.java @@ -35,22 +35,24 @@ public static void setTemporaryHold(String projectId, String bucketName, String // The ID of your GCS object // String objectName = "your-object-name"; - try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { - BlobId blobId = BlobId.of(bucketName, objectName); - Blob blob = storage.get(blobId); - if (blob == null) { - System.out.println("The object " + objectName + " was not found in " + bucketName); - return; + try (Storage storage = + StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { + BlobId blobId = BlobId.of(bucketName, objectName); + Blob blob = storage.get(blobId); + if (blob == null) { + System.out.println("The object " + objectName + " was not found in " + bucketName); + return; + } + + // Optional: set a generation-match precondition to avoid potential race + // conditions and data corruptions. The request to upload returns a 412 error if + // the object's generation number does not match your precondition. + Storage.BlobTargetOption precondition = Storage.BlobTargetOption.generationMatch(); + + blob.toBuilder().setTemporaryHold(true).build().update(precondition); + + System.out.println("Temporary hold was set for " + objectName); } - - // Optional: set a generation-match precondition to avoid potential race - // conditions and data corruptions. The request to upload returns a 412 error if - // the object's generation number does not match your precondition. - Storage.BlobTargetOption precondition = Storage.BlobTargetOption.generationMatch(); - - blob.toBuilder().setTemporaryHold(true).build().update(precondition); - - System.out.println("Temporary hold was set for " + objectName); } -}} +} // [END storage_set_temporary_hold] diff --git a/samples/snippets/src/main/java/com/example/storage/object/StreamObjectDownload.java b/samples/snippets/src/main/java/com/example/storage/object/StreamObjectDownload.java index f7c94f914b..32b66c587b 100644 --- a/samples/snippets/src/main/java/com/example/storage/object/StreamObjectDownload.java +++ b/samples/snippets/src/main/java/com/example/storage/object/StreamObjectDownload.java @@ -31,8 +31,7 @@ public class StreamObjectDownload { public static void streamObjectDownload( - String projectId, String bucketName, String objectName, String targetFile) - throws Exception { + String projectId, String bucketName, String objectName, String targetFile) throws Exception { // The ID of your GCP project // String projectId = "your-project-id"; @@ -46,22 +45,24 @@ public static void streamObjectDownload( // String targetFile = "path/to/your/file"; Path targetFilePath = Paths.get(targetFile); - try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { - try (ReadChannel reader = storage.reader(BlobId.of(bucketName, objectName)); - FileChannel targetFileChannel = - FileChannel.open(targetFilePath, StandardOpenOption.WRITE)) { + try (Storage storage = + StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { + try (ReadChannel reader = storage.reader(BlobId.of(bucketName, objectName)); + FileChannel targetFileChannel = + FileChannel.open(targetFilePath, StandardOpenOption.WRITE)) { - ByteStreams.copy(reader, targetFileChannel); + ByteStreams.copy(reader, targetFileChannel); - System.out.println( - "Downloaded object " - + objectName - + " from bucket " - + bucketName - + " to " - + targetFile - + " using a ReadChannel."); + System.out.println( + "Downloaded object " + + objectName + + " from bucket " + + bucketName + + " to " + + targetFile + + " using a ReadChannel."); + } } } -}} +} // [END storage_stream_file_download] diff --git a/samples/snippets/src/main/java/com/example/storage/object/StreamObjectUpload.java b/samples/snippets/src/main/java/com/example/storage/object/StreamObjectUpload.java index 35b41ff8b8..db310bf02a 100644 --- a/samples/snippets/src/main/java/com/example/storage/object/StreamObjectUpload.java +++ b/samples/snippets/src/main/java/com/example/storage/object/StreamObjectUpload.java @@ -42,16 +42,18 @@ public static void streamObjectUpload( // The string of contents you wish to upload // String contents = "Hello world!"; - try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { - BlobId blobId = BlobId.of(bucketName, objectName); - BlobInfo blobInfo = BlobInfo.newBuilder(blobId).build(); - byte[] content = contents.getBytes(StandardCharsets.UTF_8); - try (WriteChannel writer = storage.writer(blobInfo)) { - writer.write(ByteBuffer.wrap(content)); - System.out.println( - "Wrote to " + objectName + " in bucket " + bucketName + " using a WriteChannel."); + try (Storage storage = + StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { + BlobId blobId = BlobId.of(bucketName, objectName); + BlobInfo blobInfo = BlobInfo.newBuilder(blobId).build(); + byte[] content = contents.getBytes(StandardCharsets.UTF_8); + try (WriteChannel writer = storage.writer(blobInfo)) { + writer.write(ByteBuffer.wrap(content)); + System.out.println( + "Wrote to " + objectName + " in bucket " + bucketName + " using a WriteChannel."); + } } } -}} +} // [END storage_stream_file_upload] diff --git a/samples/snippets/src/main/java/com/example/storage/object/UploadEncryptedObject.java b/samples/snippets/src/main/java/com/example/storage/object/UploadEncryptedObject.java index 9b1bd2cc52..9a0b2b8514 100644 --- a/samples/snippets/src/main/java/com/example/storage/object/UploadEncryptedObject.java +++ b/samples/snippets/src/main/java/com/example/storage/object/UploadEncryptedObject.java @@ -44,41 +44,43 @@ public static void uploadEncryptedObject( // The key to encrypt the object with // String encryptionKey = "TIbv/fjexq+VmtXzAlc63J4z5kFmWJ6NdAPQulQBT7g="; - try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { - BlobId blobId = BlobId.of(bucketName, objectName); - BlobInfo blobInfo = BlobInfo.newBuilder(blobId).build(); + try (Storage storage = + StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { + BlobId blobId = BlobId.of(bucketName, objectName); + BlobInfo blobInfo = BlobInfo.newBuilder(blobId).build(); - // Optional: set a generation-match precondition to avoid potential race - // conditions and data corruptions. The request returns a 412 error if the - // preconditions are not met. - Storage.BlobTargetOption precondition; - if (storage.get(bucketName, objectName) == null) { - // For a target object that does not yet exist, set the DoesNotExist precondition. - // This will cause the request to fail if the object is created before the request runs. - precondition = Storage.BlobTargetOption.doesNotExist(); - } else { - // If the destination already exists in your bucket, instead set a generation-match - // precondition. This will cause the request to fail if the existing object's generation - // changes before the request runs. - precondition = - Storage.BlobTargetOption.generationMatch( - storage.get(bucketName, objectName).getGeneration()); - } + // Optional: set a generation-match precondition to avoid potential race + // conditions and data corruptions. The request returns a 412 error if the + // preconditions are not met. + Storage.BlobTargetOption precondition; + if (storage.get(bucketName, objectName) == null) { + // For a target object that does not yet exist, set the DoesNotExist precondition. + // This will cause the request to fail if the object is created before the request runs. + precondition = Storage.BlobTargetOption.doesNotExist(); + } else { + // If the destination already exists in your bucket, instead set a generation-match + // precondition. This will cause the request to fail if the existing object's generation + // changes before the request runs. + precondition = + Storage.BlobTargetOption.generationMatch( + storage.get(bucketName, objectName).getGeneration()); + } - storage.create( - blobInfo, - Files.readAllBytes(Paths.get(filePath)), - Storage.BlobTargetOption.encryptionKey(encryptionKey), - precondition); + storage.create( + blobInfo, + Files.readAllBytes(Paths.get(filePath)), + Storage.BlobTargetOption.encryptionKey(encryptionKey), + precondition); - System.out.println( - "File " - + filePath - + " uploaded to bucket " - + bucketName - + " as " - + objectName - + " with supplied encryption key"); + System.out.println( + "File " + + filePath + + " uploaded to bucket " + + bucketName + + " as " + + objectName + + " with supplied encryption key"); + } } -}} +} // [END storage_upload_encrypted_file] diff --git a/samples/snippets/src/main/java/com/example/storage/object/UploadKmsEncryptedObject.java b/samples/snippets/src/main/java/com/example/storage/object/UploadKmsEncryptedObject.java index 2a1d758d34..55c4eba6d3 100644 --- a/samples/snippets/src/main/java/com/example/storage/object/UploadKmsEncryptedObject.java +++ b/samples/snippets/src/main/java/com/example/storage/object/UploadKmsEncryptedObject.java @@ -40,38 +40,40 @@ public static void uploadKmsEncryptedObject( // The name of the KMS key to encrypt with // String kmsKeyName = "projects/my-project/locations/us/keyRings/my_key_ring/cryptoKeys/my_key" - try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { - byte[] data = "Hello, World!".getBytes(UTF_8); + try (Storage storage = + StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { + byte[] data = "Hello, World!".getBytes(UTF_8); - BlobId blobId = BlobId.of(bucketName, objectName); - BlobInfo blobInfo = BlobInfo.newBuilder(blobId).setContentType("text/plain").build(); + BlobId blobId = BlobId.of(bucketName, objectName); + BlobInfo blobInfo = BlobInfo.newBuilder(blobId).setContentType("text/plain").build(); - // Optional: set a generation-match precondition to avoid potential race - // conditions and data corruptions. The request returns a 412 error if the - // preconditions are not met. - Storage.BlobTargetOption precondition; - if (storage.get(bucketName, objectName) == null) { - // For a target object that does not yet exist, set the DoesNotExist precondition. - // This will cause the request to fail if the object is created before the request runs. - precondition = Storage.BlobTargetOption.doesNotExist(); - } else { - // If the destination already exists in your bucket, instead set a generation-match - // precondition. This will cause the request to fail if the existing object's generation - // changes before the request runs. - precondition = - Storage.BlobTargetOption.generationMatch( - storage.get(bucketName, objectName).getGeneration()); - } + // Optional: set a generation-match precondition to avoid potential race + // conditions and data corruptions. The request returns a 412 error if the + // preconditions are not met. + Storage.BlobTargetOption precondition; + if (storage.get(bucketName, objectName) == null) { + // For a target object that does not yet exist, set the DoesNotExist precondition. + // This will cause the request to fail if the object is created before the request runs. + precondition = Storage.BlobTargetOption.doesNotExist(); + } else { + // If the destination already exists in your bucket, instead set a generation-match + // precondition. This will cause the request to fail if the existing object's generation + // changes before the request runs. + precondition = + Storage.BlobTargetOption.generationMatch( + storage.get(bucketName, objectName).getGeneration()); + } - storage.create(blobInfo, data, Storage.BlobTargetOption.kmsKeyName(kmsKeyName), precondition); + storage.create(blobInfo, data, Storage.BlobTargetOption.kmsKeyName(kmsKeyName), precondition); - System.out.println( - "Uploaded object " - + objectName - + " in bucket " - + bucketName - + " encrypted with " - + kmsKeyName); + System.out.println( + "Uploaded object " + + objectName + + " in bucket " + + bucketName + + " encrypted with " + + kmsKeyName); + } } -}} +} // [END storage_upload_with_kms_key] diff --git a/samples/snippets/src/main/java/com/example/storage/object/UploadObject.java b/samples/snippets/src/main/java/com/example/storage/object/UploadObject.java index a3ae9029b3..b3e1139ec2 100644 --- a/samples/snippets/src/main/java/com/example/storage/object/UploadObject.java +++ b/samples/snippets/src/main/java/com/example/storage/object/UploadObject.java @@ -39,30 +39,32 @@ public static void uploadObject( // The path to your file to upload // String filePath = "path/to/your/file" - try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { - BlobId blobId = BlobId.of(bucketName, objectName); - BlobInfo blobInfo = BlobInfo.newBuilder(blobId).build(); + try (Storage storage = + StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { + BlobId blobId = BlobId.of(bucketName, objectName); + BlobInfo blobInfo = BlobInfo.newBuilder(blobId).build(); - // Optional: set a generation-match precondition to avoid potential race - // conditions and data corruptions. The request returns a 412 error if the - // preconditions are not met. - Storage.BlobWriteOption precondition; - if (storage.get(bucketName, objectName) == null) { - // For a target object that does not yet exist, set the DoesNotExist precondition. - // This will cause the request to fail if the object is created before the request runs. - precondition = Storage.BlobWriteOption.doesNotExist(); - } else { - // If the destination already exists in your bucket, instead set a generation-match - // precondition. This will cause the request to fail if the existing object's generation - // changes before the request runs. - precondition = - Storage.BlobWriteOption.generationMatch( - storage.get(bucketName, objectName).getGeneration()); - } - storage.createFrom(blobInfo, Paths.get(filePath), precondition); + // Optional: set a generation-match precondition to avoid potential race + // conditions and data corruptions. The request returns a 412 error if the + // preconditions are not met. + Storage.BlobWriteOption precondition; + if (storage.get(bucketName, objectName) == null) { + // For a target object that does not yet exist, set the DoesNotExist precondition. + // This will cause the request to fail if the object is created before the request runs. + precondition = Storage.BlobWriteOption.doesNotExist(); + } else { + // If the destination already exists in your bucket, instead set a generation-match + // precondition. This will cause the request to fail if the existing object's generation + // changes before the request runs. + precondition = + Storage.BlobWriteOption.generationMatch( + storage.get(bucketName, objectName).getGeneration()); + } + storage.createFrom(blobInfo, Paths.get(filePath), precondition); - System.out.println( - "File " + filePath + " uploaded to bucket " + bucketName + " as " + objectName); + System.out.println( + "File " + filePath + " uploaded to bucket " + bucketName + " as " + objectName); + } } -}} +} // [END storage_upload_file] diff --git a/samples/snippets/src/main/java/com/example/storage/object/UploadObjectFromMemory.java b/samples/snippets/src/main/java/com/example/storage/object/UploadObjectFromMemory.java index 7577938562..723a0317b7 100644 --- a/samples/snippets/src/main/java/com/example/storage/object/UploadObjectFromMemory.java +++ b/samples/snippets/src/main/java/com/example/storage/object/UploadObjectFromMemory.java @@ -39,37 +39,39 @@ public static void uploadObjectFromMemory( // The string of contents you wish to upload // String contents = "Hello world!"; - try (Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { - BlobId blobId = BlobId.of(bucketName, objectName); - BlobInfo blobInfo = BlobInfo.newBuilder(blobId).build(); - byte[] content = contents.getBytes(StandardCharsets.UTF_8); + try (Storage storage = + StorageOptions.newBuilder().setProjectId(projectId).build().getService()) { + BlobId blobId = BlobId.of(bucketName, objectName); + BlobInfo blobInfo = BlobInfo.newBuilder(blobId).build(); + byte[] content = contents.getBytes(StandardCharsets.UTF_8); - // Optional: set a generation-match precondition to enable automatic retries, avoid potential - // race - // conditions and data corruptions. The request returns a 412 error if the - // preconditions are not met. - Storage.BlobTargetOption precondition; - if (storage.get(bucketName, objectName) == null) { - // For a target object that does not yet exist, set the DoesNotExist precondition. - // This will cause the request to fail if the object is created before the request runs. - precondition = Storage.BlobTargetOption.doesNotExist(); - } else { - // If the destination already exists in your bucket, instead set a generation-match - // precondition. This will cause the request to fail if the existing object's generation - // changes before the request runs. - precondition = - Storage.BlobTargetOption.generationMatch( - storage.get(bucketName, objectName).getGeneration()); - } - storage.create(blobInfo, content, precondition); + // Optional: set a generation-match precondition to enable automatic retries, avoid potential + // race + // conditions and data corruptions. The request returns a 412 error if the + // preconditions are not met. + Storage.BlobTargetOption precondition; + if (storage.get(bucketName, objectName) == null) { + // For a target object that does not yet exist, set the DoesNotExist precondition. + // This will cause the request to fail if the object is created before the request runs. + precondition = Storage.BlobTargetOption.doesNotExist(); + } else { + // If the destination already exists in your bucket, instead set a generation-match + // precondition. This will cause the request to fail if the existing object's generation + // changes before the request runs. + precondition = + Storage.BlobTargetOption.generationMatch( + storage.get(bucketName, objectName).getGeneration()); + } + storage.create(blobInfo, content, precondition); - System.out.println( - "Object " - + objectName - + " uploaded to bucket " - + bucketName - + " with contents " - + contents); + System.out.println( + "Object " + + objectName + + " uploaded to bucket " + + bucketName + + " with contents " + + contents); + } } -}} +} // [END storage_file_upload_from_memory] diff --git a/samples/snippets/src/main/java/com/example/storage/transfermanager/AllowDivideAndConquerDownload.java b/samples/snippets/src/main/java/com/example/storage/transfermanager/AllowDivideAndConquerDownload.java index f377d268db..61d581940b 100644 --- a/samples/snippets/src/main/java/com/example/storage/transfermanager/AllowDivideAndConquerDownload.java +++ b/samples/snippets/src/main/java/com/example/storage/transfermanager/AllowDivideAndConquerDownload.java @@ -30,9 +30,8 @@ class AllowDivideAndConquerDownload { public static void divideAndConquerDownloadAllowed( List blobs, String bucketName, Path destinationDirectory) throws Exception { - TransferManagerConfig transferManagerConfig = TransferManagerConfig.newBuilder() - .setAllowDivideAndConquerDownload(true) - .build(); + TransferManagerConfig transferManagerConfig = + TransferManagerConfig.newBuilder().setAllowDivideAndConquerDownload(true).build(); try (TransferManager transferManager = transferManagerConfig.getService()) { ParallelDownloadConfig parallelDownloadConfig = ParallelDownloadConfig.newBuilder() diff --git a/samples/snippets/src/main/java/com/example/storage/transfermanager/AllowParallelCompositeUpload.java b/samples/snippets/src/main/java/com/example/storage/transfermanager/AllowParallelCompositeUpload.java index adec1aaddd..f9760bfecd 100644 --- a/samples/snippets/src/main/java/com/example/storage/transfermanager/AllowParallelCompositeUpload.java +++ b/samples/snippets/src/main/java/com/example/storage/transfermanager/AllowParallelCompositeUpload.java @@ -30,9 +30,8 @@ class AllowParallelCompositeUpload { public static void parallelCompositeUploadAllowed(String bucketName, List files) throws Exception { - TransferManagerConfig transferManagerConfig = TransferManagerConfig.newBuilder() - .setAllowParallelCompositeUpload(true) - .build(); + TransferManagerConfig transferManagerConfig = + TransferManagerConfig.newBuilder().setAllowParallelCompositeUpload(true).build(); try (TransferManager transferManager = transferManagerConfig.getService()) { ParallelUploadConfig parallelUploadConfig = ParallelUploadConfig.newBuilder().setBucketName(bucketName).build(); diff --git a/samples/snippets/src/main/java/com/example/storage/transfermanager/DownloadBucket.java b/samples/snippets/src/main/java/com/example/storage/transfermanager/DownloadBucket.java index 5d88e9e702..5905480823 100644 --- a/samples/snippets/src/main/java/com/example/storage/transfermanager/DownloadBucket.java +++ b/samples/snippets/src/main/java/com/example/storage/transfermanager/DownloadBucket.java @@ -35,11 +35,12 @@ public static void downloadBucketContents( StorageOptions storageOptions = StorageOptions.newBuilder().setProjectId(projectId).build(); List blobs; try (Storage storage = storageOptions.getService()) { - blobs = storage - .list(bucketName) - .streamAll() - .map(blob -> blob.asBlobInfo()) - .collect(Collectors.toList()); + blobs = + storage + .list(bucketName) + .streamAll() + .map(blob -> blob.asBlobInfo()) + .collect(Collectors.toList()); } TransferManagerConfig transferManagerConfig = TransferManagerConfig.newBuilder().build(); diff --git a/samples/snippets/src/main/java/com/example/storage/transfermanager/DownloadMany.java b/samples/snippets/src/main/java/com/example/storage/transfermanager/DownloadMany.java index a63c98b755..3e30671067 100644 --- a/samples/snippets/src/main/java/com/example/storage/transfermanager/DownloadMany.java +++ b/samples/snippets/src/main/java/com/example/storage/transfermanager/DownloadMany.java @@ -31,8 +31,7 @@ public static void downloadManyBlobs( String bucketName, List blobs, Path destinationDirectory) throws Exception { TransferManagerConfig transferManagerConfig = TransferManagerConfig.newBuilder().build(); - try (TransferManager transferManager = - transferManagerConfig.getService()) { + try (TransferManager transferManager = transferManagerConfig.getService()) { ParallelDownloadConfig parallelDownloadConfig = ParallelDownloadConfig.newBuilder() .setBucketName(bucketName) diff --git a/samples/snippets/src/test/java/com/example/storage/object/DownloadBytesRangeTest.java b/samples/snippets/src/test/java/com/example/storage/object/DownloadBytesRangeTest.java index 93f87f9af4..05c8ac6674 100644 --- a/samples/snippets/src/test/java/com/example/storage/object/DownloadBytesRangeTest.java +++ b/samples/snippets/src/test/java/com/example/storage/object/DownloadBytesRangeTest.java @@ -24,7 +24,6 @@ import com.google.cloud.storage.BlobInfo; import com.google.cloud.storage.Storage.BlobTargetOption; import java.io.File; -import java.io.IOException; import java.nio.file.Files; import java.nio.file.Paths; import java.util.Arrays; diff --git a/samples/snippets/src/test/java/com/example/storage/transfermanager/ITTransferManagerSamples.java b/samples/snippets/src/test/java/com/example/storage/transfermanager/ITTransferManagerSamples.java index d87da5eacb..93d56339dd 100644 --- a/samples/snippets/src/test/java/com/example/storage/transfermanager/ITTransferManagerSamples.java +++ b/samples/snippets/src/test/java/com/example/storage/transfermanager/ITTransferManagerSamples.java @@ -29,7 +29,6 @@ import com.google.cloud.storage.TmpFile; import com.google.cloud.storage.it.TemporaryBucket; import com.google.common.collect.ImmutableList; -import java.io.IOException; import java.nio.file.Path; import java.util.List; import java.util.stream.Stream;