diff --git a/README.md b/README.md
index 3c9afabab..7f0e4ad6e 100644
--- a/README.md
+++ b/README.md
@@ -52,7 +52,7 @@ If you are using Maven without the BOM, add this to your dependencies:
If you are using Gradle 5.x or later, add this to your dependencies:
```Groovy
-implementation platform('com.google.cloud:libraries-bom:26.25.0')
+implementation platform('com.google.cloud:libraries-bom:26.26.0')
implementation 'com.google.cloud:google-cloud-pubsub'
```
@@ -248,6 +248,7 @@ Samples are in the [`samples/`](https://github.com/googleapis/java-pubsub/tree/m
| Commit Proto Schema Example | [source code](https://github.com/googleapis/java-pubsub/blob/main/samples/snippets/src/main/java/pubsub/CommitProtoSchemaExample.java) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/java-pubsub&page=editor&open_in_editor=samples/snippets/src/main/java/pubsub/CommitProtoSchemaExample.java) |
| Create Avro Schema Example | [source code](https://github.com/googleapis/java-pubsub/blob/main/samples/snippets/src/main/java/pubsub/CreateAvroSchemaExample.java) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/java-pubsub&page=editor&open_in_editor=samples/snippets/src/main/java/pubsub/CreateAvroSchemaExample.java) |
| Create Big Query Subscription Example | [source code](https://github.com/googleapis/java-pubsub/blob/main/samples/snippets/src/main/java/pubsub/CreateBigQuerySubscriptionExample.java) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/java-pubsub&page=editor&open_in_editor=samples/snippets/src/main/java/pubsub/CreateBigQuerySubscriptionExample.java) |
+| Create Cloud Storage Subscription Example | [source code](https://github.com/googleapis/java-pubsub/blob/main/samples/snippets/src/main/java/pubsub/CreateCloudStorageSubscriptionExample.java) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/java-pubsub&page=editor&open_in_editor=samples/snippets/src/main/java/pubsub/CreateCloudStorageSubscriptionExample.java) |
| Create Proto Schema Example | [source code](https://github.com/googleapis/java-pubsub/blob/main/samples/snippets/src/main/java/pubsub/CreateProtoSchemaExample.java) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/java-pubsub&page=editor&open_in_editor=samples/snippets/src/main/java/pubsub/CreateProtoSchemaExample.java) |
| Create Pull Subscription Example | [source code](https://github.com/googleapis/java-pubsub/blob/main/samples/snippets/src/main/java/pubsub/CreatePullSubscriptionExample.java) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/java-pubsub&page=editor&open_in_editor=samples/snippets/src/main/java/pubsub/CreatePullSubscriptionExample.java) |
| Create Push No Wrapper Subscription Example | [source code](https://github.com/googleapis/java-pubsub/blob/main/samples/snippets/src/main/java/pubsub/CreatePushNoWrapperSubscriptionExample.java) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/java-pubsub&page=editor&open_in_editor=samples/snippets/src/main/java/pubsub/CreatePushNoWrapperSubscriptionExample.java) |
diff --git a/samples/install-without-bom/pom.xml b/samples/install-without-bom/pom.xml
index 028fa76bb..32ca4d9d1 100644
--- a/samples/install-without-bom/pom.xml
+++ b/samples/install-without-bom/pom.xml
@@ -88,6 +88,11 @@
google-cloud-bigquery
2.33.2
+
+ com.google.cloud
+ google-cloud-storage
+ 2.28.0
+
diff --git a/samples/snapshot/pom.xml b/samples/snapshot/pom.xml
index 56854db45..46d001c4c 100644
--- a/samples/snapshot/pom.xml
+++ b/samples/snapshot/pom.xml
@@ -87,6 +87,11 @@
google-cloud-bigquery
2.33.2
+
+ com.google.cloud
+ google-cloud-storage
+ 2.28.0
+
diff --git a/samples/snippets/pom.xml b/samples/snippets/pom.xml
index 6aca9545c..fcdb72865 100644
--- a/samples/snippets/pom.xml
+++ b/samples/snippets/pom.xml
@@ -63,6 +63,10 @@
com.google.cloud
google-cloud-bigquery
+
+ com.google.cloud
+ google-cloud-storage
+
org.apache.avro
avro
diff --git a/samples/snippets/src/main/java/pubsub/CreateCloudStorageSubscriptionExample.java b/samples/snippets/src/main/java/pubsub/CreateCloudStorageSubscriptionExample.java
new file mode 100644
index 000000000..654ba3857
--- /dev/null
+++ b/samples/snippets/src/main/java/pubsub/CreateCloudStorageSubscriptionExample.java
@@ -0,0 +1,78 @@
+/*
+ * Copyright 2022 Google LLC
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package pubsub;
+
+// [START pubsub_create_cloud_storage_subscription]
+import com.google.cloud.pubsub.v1.SubscriptionAdminClient;
+import com.google.protobuf.Duration;
+import com.google.pubsub.v1.CloudStorageConfig;
+import com.google.pubsub.v1.ProjectSubscriptionName;
+import com.google.pubsub.v1.ProjectTopicName;
+import com.google.pubsub.v1.Subscription;
+import java.io.IOException;
+
+public class CreateCloudStorageSubscriptionExample {
+ public static void main(String... args) throws Exception {
+ // TODO(developer): Replace these variables before running the sample.
+ String projectId = "your-project-id";
+ String topicId = "your-topic-id";
+ String subscriptionId = "your-subscription-id";
+ String bucket = "your-bucket";
+ String filenamePrefix = "log_events_";
+ String filenameSuffix = ".text";
+ Duration maxDuration = Duration.newBuilder().setSeconds(300).build();
+
+ createCloudStorageSubscription(
+ projectId, topicId, subscriptionId, bucket, filenamePrefix, filenameSuffix, maxDuration);
+ }
+
+ public static void createCloudStorageSubscription(
+ String projectId,
+ String topicId,
+ String subscriptionId,
+ String bucket,
+ String filenamePrefix,
+ String filenameSuffix,
+ Duration maxDuration)
+ throws IOException {
+ try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) {
+
+ ProjectTopicName topicName = ProjectTopicName.of(projectId, topicId);
+ ProjectSubscriptionName subscriptionName =
+ ProjectSubscriptionName.of(projectId, subscriptionId);
+
+ CloudStorageConfig cloudStorageConfig =
+ CloudStorageConfig.newBuilder()
+ .setBucket(bucket)
+ .setFilenamePrefix(filenamePrefix)
+ .setFilenameSuffix(filenameSuffix)
+ .setMaxDuration(maxDuration)
+ .build();
+
+ Subscription subscription =
+ subscriptionAdminClient.createSubscription(
+ Subscription.newBuilder()
+ .setName(subscriptionName.toString())
+ .setTopic(topicName.toString())
+ .setCloudStorageConfig(cloudStorageConfig)
+ .build());
+
+ System.out.println("Created a CloudStorage subscription: " + subscription.getAllFields());
+ }
+ }
+}
+// [END pubsub_create_cloud_storage_subscription]