![](/img/trans.png)
[英]Creating Google Cloud Function via Java API: “io.grpc.StatusRuntimeException: INVALID_ARGUMENT”
[英]io.grpc.StatusRuntimeException: DEADLINE_EXCEEDED while getting the topic(publisher) name from Google cloud PubSub
我們的應用程序使用 Google PubSub(Publisher-Subscriber) 進行跨服務的異步通信。 在應用程序中的一項服務中,它檢查主題(發布者)名稱是否存在於 PubSub 中。 如果它在 PubSub 中不存在,則該服務具有在重新啟動時創建主題(發布者)名稱的邏輯,否則它會記錄主題(發布者)名稱已存在於 Google PubSub 中的消息。
問題描述:
概括:
// Reading the PubSub Configurations from file
File file = new File(ServiceConfigJson.PUBSUB_CONFIG_FILE_PATH);
InputStream stream = new FileInputStream(file);
// Authenticating and Checking whether topic name exists or not
AuthCredentials.ServiceAccountAuthCredentials auth = AuthCredentials.createForJson(stream);
pubsub = PubSubOptions.builder().projectId("anna-us").authCredentials(auth).build().service();
Topic pubSubTopic = pubsub.getTopic(topicName);
if (pubSubTopic == null)
{
// Creates the new topic
Topic topic = pubsub.create(TopicInfo.of(topicName));
logger.debug("PubSubTopic with topic name {} created", topic.name());
}
else
{
logger.info("PubSubTopic with topic name {} already exists", topicName);
}
如果有人可以對此提供見解,那將有很大幫助。
使用的版本:
compile group: 'com.google.cloud', name: 'google-cloud-pubsub', version: '0.4.0'
compile group: 'com.amazonaws', name: 'aws-java-sdk', version: '1.11.931'
我已經改變了我對 Gradle 的依賴,只為 AWS S3 添加了一個庫,而不是整個 AWS SDK。
compile group: 'com.amazonaws', name: 'aws-java-sdk', version: '1.11.931'
compile group: 'com.amazonaws', name: 'aws-java-sdk-s3', version: '1.11.934'
更改此設置后,PubSub 開始對我正常工作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.