Java idiomatic client for Google Cloud Pub/Sub services. This client supports the following Google Cloud Platform services:
To install, it is sufficient to copy this pom.xml into your project directory.
To authenticate all your API calls, first install and setup the Google Cloud SDK. After that is installed, run the following command in your terminal:
$ gcloud auth login
At this point, you are now authenticated to make calls to Pub/Sub and other Google Cloud services.
The documentation includes simple examples for every API method. Please read it through for more usage samples.
package com.google.pubsub.client.app;
import com.google.cloud.pubsub.spi.v1.PublisherApi;
import com.google.pubsub.v1.Topic;
import java.util.logging.Level;
import java.util.logging.Logger;
public class PubSubSample {
public static void main(String[] args) throws Exception {
Logger.getLogger("").setLevel(Level.WARNING);
try (PublisherApi publisher = PublisherApi.createWithDefaults()) {
String project = "{Your project name}";
String topic = "my-first-topic";
// See API documentation for usage samples of other methods:
// http://shinfan.github.io/api/index.html?com/google/cloud/pubsub/spi/v1/PublisherApi.html
String topicName = PublisherApi.formatTopicName(project, topic);
Topic createdTopic = publisher.createTopic(topicName);
System.out.println(String.format("created topic with name %s", createdTopic.getName()));
}
}
}
Place the code above in a file at the location:
src/main/java/com/google/pubsub/client/app/PubSubSample.java
To execute your client app from the command line, run the following commands (which assume that you put your app in the suggested location):
$ mvn package
$ java -XX:-PrintWarnings -jar target/pubsub-client-app-0.0.0-jar-with-dependencies.jar
Note that you need to re-run mvn package
every time you make a change before executing your sample app again.
You can also execute your app in your IDEs. Note there is a known compatibility issue with Eclipse and maven-os-plugin.
It is a known compatibility issue. You can either execute your app in your terminal as a work-around, or fix the problem by following the instructions here.
This error is caused by the missing dependency of netty-tcnative-boringssl-static. There are three options to work-around this issue:
Check your project name. You will see this error if anyone has ever created a project with the same name before.