我成功地將消息發佈到Pub/Sub主題中,直到昨天。但從今天早上起,代碼在出版過程中會永遠被吊死。我的問題與描述here相同。 然後我試圖創建一個使用Java API的一個話題,因爲在代碼片段描述如下使用Java API時,GCP Pub/Sub Publisher進程永遠掛起
TopicName topic = TopicName.create(projectId, topicId);
try {
TopicAdminClient topicAdminClient = TopicAdminClient.create();
topicAdminClient.createTopic(topic); //HANG FOREVER
}catch(Exception e){
e.printStackTrace();
}
的代碼被再次掛在topicAdminClient.createTopic
。
我正在使用com.google.pubsub.v1
封裝的GCP Pub/Sub以及com.google.cloud.pubsub.v1.TopicAdminClient
。我嘗試使用默認身份驗證憑據以及設置GOOGLE_APPLICATION_CREDENTIAL
與服務帳戶密鑰。我不確定我做錯了什麼。任何人都可以幫我解決這個問題嗎?
我的代碼來發布消息如下
FileInputStream fis = new FileInputStream(new File("JSON file path"));
ApiFuture<String> messageId = publishMessage(publisher,
ByteString.copyFrom(IOUtils.toByteArray(fis)));
其中publishMessage定義如下
private static ApiFuture<String> publishMessage(Publisher publisher, ByteString message)
throws Exception {
// convert message to bytes
PubsubMessage pubsubMessage =
PubsubMessage.newBuilder().setData(message).build();
return publisher.publish(pubsubMessage);
}
附加信息: 我試圖執行數據存儲的Java API,它無縫地執行。也許這個問題只是在我猜測Pubsub的時候。