/** Example of deleting a subscription. */ public ProjectSubscriptionName deleteSubscription(String subscriptionId) throws Exception { // [START pubsub_delete_subscription] try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) { ProjectSubscriptionName subscriptionName = ProjectSubscriptionName.of(projectId, subscriptionId); subscriptionAdminClient.deleteSubscription(subscriptionName); return subscriptionName; } // [END pubsub_delete_subscription] }
/** * Deletes an existing subscription. All messages retained in the subscription are immediately * dropped. Calls to `Pull` after deletion will return `NOT_FOUND`. After a subscription is * deleted, a new one may be created with the same name, but the new one has no association with * the old subscription or its topic unless the same topic is specified. * * <p>Sample code: * * <pre><code> * try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) { * ProjectSubscriptionName subscription = ProjectSubscriptionName.of("[PROJECT]", "[SUBSCRIPTION]"); * subscriptionAdminClient.deleteSubscription(subscription.toString()); * } * </code></pre> * * @param subscription The subscription to delete. Format is * `projects/{project}/subscriptions/{sub}`. * @throws com.google.api.gax.rpc.ApiException if the remote call fails */ public final void deleteSubscription(String subscription) { DeleteSubscriptionRequest request = DeleteSubscriptionRequest.newBuilder().setSubscription(subscription).build(); deleteSubscription(request); }
/** * Deletes an existing subscription. All messages retained in the subscription are immediately * dropped. Calls to `Pull` after deletion will return `NOT_FOUND`. After a subscription is * deleted, a new one may be created with the same name, but the new one has no association with * the old subscription or its topic unless the same topic is specified. * * <p>Sample code: * * <pre><code> * try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) { * ProjectSubscriptionName subscription = ProjectSubscriptionName.of("[PROJECT]", "[SUBSCRIPTION]"); * subscriptionAdminClient.deleteSubscription(subscription); * } * </code></pre> * * @param subscription The subscription to delete. Format is * `projects/{project}/subscriptions/{sub}`. * @throws com.google.api.gax.rpc.ApiException if the remote call fails */ public final void deleteSubscription(ProjectSubscriptionName subscription) { DeleteSubscriptionRequest request = DeleteSubscriptionRequest.newBuilder() .setSubscription(subscription == null ? null : subscription.toString()) .build(); deleteSubscription(request); }
@Test @SuppressWarnings("all") public void deleteSubscriptionExceptionTest() throws Exception { StatusRuntimeException exception = new StatusRuntimeException(Status.INVALID_ARGUMENT); mockSubscriber.addException(exception); try { ProjectSubscriptionName subscription = ProjectSubscriptionName.of("[PROJECT]", "[SUBSCRIPTION]"); client.deleteSubscription(subscription); Assert.fail("No exception raised"); } catch (InvalidArgumentException e) { // Expected exception } }
@Test @SuppressWarnings("all") public void deleteSubscriptionTest() { Empty expectedResponse = Empty.newBuilder().build(); mockSubscriber.addResponse(expectedResponse); ProjectSubscriptionName subscription = ProjectSubscriptionName.of("[PROJECT]", "[SUBSCRIPTION]"); client.deleteSubscription(subscription); List<GeneratedMessageV3> actualRequests = mockSubscriber.getRequests(); Assert.assertEquals(1, actualRequests.size()); DeleteSubscriptionRequest actualRequest = (DeleteSubscriptionRequest) actualRequests.get(0); Assert.assertEquals( subscription, ProjectSubscriptionName.parse(actualRequest.getSubscription())); Assert.assertTrue( channelProvider.isHeaderSent( ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), GaxGrpcProperties.getDefaultApiClientHeaderPattern())); }
@Test public void testVPCPushSubscriber() throws Exception { assumeTrue(IS_VPC_TEST); ProjectTopicName topicName = ProjectTopicName.of(projectId, formatForTest("testing-vpc-push-subscriber-topic")); ProjectSubscriptionName subscriptionName = ProjectSubscriptionName.of( projectId, formatForTest("testing-vpc-push-subscriber-subscription")); topicAdminClient.createTopic(topicName); try { subscriptionAdminClient.createSubscription( subscriptionName, topicName, PushConfig.newBuilder().setPushEndpoint("random_point").build(), 10); subscriptionAdminClient.deleteSubscription(subscriptionName); Assert.fail("No exception raised"); } catch (PermissionDeniedException e) { // expected } topicAdminClient.deleteTopic(topicName); }
subscriptionAdminClient.deleteSubscription(subscriptionName); topicAdminClient.deleteTopic(topicName);
/** * Delete a subscription from Google Cloud Pub/Sub. * * @param subscriptionName canonical subscription name, e.g., "subscriptionName" */ public void deleteSubscription(String subscriptionName) { Assert.hasText(subscriptionName, "No subscription name was specified"); this.subscriptionAdminClient.deleteSubscription( ProjectSubscriptionName.of(this.projectId, subscriptionName)); }
/** * Delete a subscription from Google Cloud Pub/Sub. * * @param subscriptionName canonical subscription name, e.g., "subscriptionName" */ public void deleteSubscription(String subscriptionName) { Assert.hasText(subscriptionName, "No subscription name was specified"); this.subscriptionAdminClient.deleteSubscription( ProjectSubscriptionName.of(this.projectId, subscriptionName)); }