@Override public void createSubscription( TopicPath topic, SubscriptionPath subscription, int ackDeadlineSeconds) throws IOException { Subscription request = new Subscription().setTopic(topic.getPath()).setAckDeadlineSeconds(ackDeadlineSeconds); pubsub .projects() .subscriptions() .create(subscription.getPath(), request) .execute(); // ignore Subscription result. }
/** * Creates a new subscription. * * @param client Cloud Pub/Sub client. * @param args Arguments as an array of String. * @throws IOException when Cloud Pub/Sub API calls fail. */ public static void createSubscription(final Pubsub client, final String[] args) throws IOException { Main.checkArgsLength(args, 4); String subscriptionName = PubsubUtils.getFullyQualifiedResourceName( PubsubUtils.ResourceType.SUBSCRIPTION, args[0], args[2]); Subscription subscription = new Subscription() .setTopic(PubsubUtils.getFullyQualifiedResourceName( PubsubUtils.ResourceType.TOPIC, args[0], args[3])); if (args.length == 5) { subscription = subscription.setPushConfig( new PushConfig().setPushEndpoint(args[4])); } subscription = client.projects().subscriptions() .create(subscriptionName, subscription) .execute(); System.out.printf( "Subscription %s was created.\n", subscription.getName()); System.out.println(subscription.toPrettyString()); }
public void createSubscription(String topic, String subscription) throws IOException { client.projects().subscriptions() .create(getSubscriptionPath(subscription), new Subscription().setTopic(getTopicPath(topic))).execute(); }
private static Subscription buildSubscription(int i) { Subscription subscription = new Subscription(); subscription.setName( PubsubClient.subscriptionPathFromName(PROJECT.getId(), "Subscription" + i).getPath()); subscription.setTopic(PubsubClient.topicPathFromName(PROJECT.getId(), "Topic" + i).getPath()); return subscription; } }
@Override public List<SubscriptionPath> listSubscriptions(ProjectPath project, TopicPath topic) throws IOException { Subscriptions.List request = pubsub.projects().subscriptions().list(project.getPath()); ListSubscriptionsResponse response = request.execute(); if (response.getSubscriptions() == null || response.getSubscriptions().isEmpty()) { return ImmutableList.of(); } List<SubscriptionPath> subscriptions = new ArrayList<>(response.getSubscriptions().size()); while (true) { for (Subscription subscription : response.getSubscriptions()) { if (subscription.getTopic().equals(topic.getPath())) { subscriptions.add(subscriptionPathFromPath(subscription.getName())); } } if (Strings.isNullOrEmpty(response.getNextPageToken())) { break; } request.setPageToken(response.getNextPageToken()); response = request.execute(); } return subscriptions; }
@Override public int ackDeadlineSeconds(SubscriptionPath subscription) throws IOException { Subscription response = pubsub.projects().subscriptions().get(subscription.getPath()).execute(); return response.getAckDeadlineSeconds(); }
private void setupPubsubSubscription(String topic, String subscription) throws IOException { if (pubsubClient == null) { pubsubClient = newPubsubClient(options.as(PubsubOptions.class)).build(); } if (executeNullIfNotFound(pubsubClient.projects().subscriptions().get(subscription)) == null) { Subscription subInfo = new Subscription().setAckDeadlineSeconds(60).setTopic(topic); pubsubClient.projects().subscriptions().create(subscription, subInfo).execute(); } }
+ "/subscriptions/" + subscription, new Subscription() .setTopic("projects/" + projectName + "/topics/" + topic) .setAckDeadlineSeconds(10)).execute(); } catch (IOException e) { pubsubFuture.setException(e);