/** Example of getting a subscription. */ public Subscription getSubscription(String subscriptionId) throws Exception { // [START pubsub_get_subscription] try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) { ProjectSubscriptionName subscriptionName = ProjectSubscriptionName.of(projectId, subscriptionId); Subscription subscription = subscriptionAdminClient.getSubscription(subscriptionName); return subscription; } // [END pubsub_get_subscription] } }
/** * Gets the configuration details of a subscription. * * <p>Sample code: * * <pre><code> * try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) { * ProjectSubscriptionName subscription = ProjectSubscriptionName.of("[PROJECT]", "[SUBSCRIPTION]"); * Subscription response = subscriptionAdminClient.getSubscription(subscription.toString()); * } * </code></pre> * * @param subscription The name of the subscription to get. Format is * `projects/{project}/subscriptions/{sub}`. * @throws com.google.api.gax.rpc.ApiException if the remote call fails */ public final Subscription getSubscription(String subscription) { GetSubscriptionRequest request = GetSubscriptionRequest.newBuilder().setSubscription(subscription).build(); return getSubscription(request); }
/** * Gets the configuration details of a subscription. * * <p>Sample code: * * <pre><code> * try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) { * ProjectSubscriptionName subscription = ProjectSubscriptionName.of("[PROJECT]", "[SUBSCRIPTION]"); * Subscription response = subscriptionAdminClient.getSubscription(subscription); * } * </code></pre> * * @param subscription The name of the subscription to get. Format is * `projects/{project}/subscriptions/{sub}`. * @throws com.google.api.gax.rpc.ApiException if the remote call fails */ public final Subscription getSubscription(ProjectSubscriptionName subscription) { GetSubscriptionRequest request = GetSubscriptionRequest.newBuilder() .setSubscription(subscription == null ? null : subscription.toString()) .build(); return getSubscription(request); }
@Test @SuppressWarnings("all") public void getSubscriptionExceptionTest() throws Exception { StatusRuntimeException exception = new StatusRuntimeException(Status.INVALID_ARGUMENT); mockSubscriber.addException(exception); try { ProjectSubscriptionName subscription = ProjectSubscriptionName.of("[PROJECT]", "[SUBSCRIPTION]"); client.getSubscription(subscription); Assert.fail("No exception raised"); } catch (InvalidArgumentException e) { // Expected exception } }
@Test @SuppressWarnings("all") public void getSubscriptionTest() { ProjectSubscriptionName name = ProjectSubscriptionName.of("[PROJECT]", "[SUBSCRIPTION]"); TopicName topic = ProjectTopicName.of("[PROJECT]", "[TOPIC]"); int ackDeadlineSeconds = 2135351438; boolean retainAckedMessages = false; Subscription expectedResponse = Subscription.newBuilder() .setName(name.toString()) .setTopic(topic.toString()) .setAckDeadlineSeconds(ackDeadlineSeconds) .setRetainAckedMessages(retainAckedMessages) .build(); mockSubscriber.addResponse(expectedResponse); ProjectSubscriptionName subscription = ProjectSubscriptionName.of("[PROJECT]", "[SUBSCRIPTION]"); Subscription actualResponse = client.getSubscription(subscription); Assert.assertEquals(expectedResponse, actualResponse); List<GeneratedMessageV3> actualRequests = mockSubscriber.getRequests(); Assert.assertEquals(1, actualRequests.size()); GetSubscriptionRequest actualRequest = (GetSubscriptionRequest) actualRequests.get(0); Assert.assertEquals( subscription, ProjectSubscriptionName.parse(actualRequest.getSubscription())); Assert.assertTrue( channelProvider.isHeaderSent( ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), GaxGrpcProperties.getDefaultApiClientHeaderPattern())); }
/** * Get the configuration of a Google Cloud Pub/Sub subscription. * * @param subscriptionName canonical subscription name, e.g., "subscriptionName" * @return subscription configuration or {@code null} if subscription doesn't exist */ public Subscription getSubscription(String subscriptionName) { Assert.hasText(subscriptionName, "No subscription name was specified"); try { return this.subscriptionAdminClient.getSubscription( ProjectSubscriptionName.of(this.projectId, subscriptionName)); } catch (ApiException aex) { if (aex.getStatusCode().getCode() == StatusCode.Code.NOT_FOUND) { return null; } throw aex; } }
/** * Get the configuration of a Google Cloud Pub/Sub subscription. * * @param subscriptionName canonical subscription name, e.g., "subscriptionName" * @return subscription configuration or {@code null} if subscription doesn't exist */ public Subscription getSubscription(String subscriptionName) { Assert.hasText(subscriptionName, "No subscription name was specified"); try { return this.subscriptionAdminClient.getSubscription( ProjectSubscriptionName.of(this.projectId, subscriptionName)); } catch (ApiException aex) { if (aex.getStatusCode().getCode() == StatusCode.Code.NOT_FOUND) { return null; } throw aex; } }