Google Cloud PubSub - 似乎无法获取主题
Google Cloud PubSub - can't seem to get topics
我正在使用 heroku 运行 一个使用 gcloud 创建主题的 node.js 应用程序,然后订阅它。我正在使用以下代码,取自此处:https://googlecloudplatform.github.io/gcloud-node/#/docs/v0.16.0/pubsub
var gcloud = require('gcloud')({
keyFilename: 'pubsub_key.json',
projectId: 'pipedrivesekoul'
});
var pubsub = gcloud.pubsub();
//create a new topic
pubsub.createTopic('projects/pipedrivesekoul/my-new-topic', function(err, topic, apiResponse) {
var topic = pubsub.topic('my-new-topic');
topic.publish({
data: 'New message!'
}, function(err) {console.log});
});
var topic = pubsub.topic('my-new-topic');
// Without specifying any options.
topic.subscribe('newMessages', function(err, subscription, apiResponse) {});
var alltopics = pubsub.getTopics({}, function(err, topics, nextQuery, apiResponse) {});
console.log(pubsub.getTopics({}, function(err, topics, nextQuery, apiResponse) {}));
然而,当我在 Heroku 上部署时(https 服务器,在 Google 控制台上注册,部署了正确的 API 并且在 json 文件中有适当的密钥),而不是看到列表主题,它只是 returns 'undefined':
2015-07-24T18:06:05.321079+00:00 app[web.1]: undefined
2015-07-24T18:06:05.337947+00:00 app[web.1]: Node app is running on port 36252
不确定为什么会发生这种情况,也不太确定如何调试此问题。任何建议将不胜感激!
我发现了几个问题,希望可以解决这个问题。
pubsub.createTopic('projects/pipedrivesekoul/my-new-topic'
您只需提供my-new-topic
部分即可。又丑又长的标题自动发送。
console.log(pubsub.getTopics({}, function(err, topics, nextQuery, apiResponse) {}));
这实际上是记录调用
的结果
pubsub.getTopics({}, function(err, topics, nextQuery, apiResponse) {})
即undefined
。相反,尝试:
pubsub.getTopics({}, function(err, topics, nextQuery, apiResponse) {
if (err) {
console.error(err);
return;
}
console.log(topics); // hopefully in this array is one called `my-new-topic`
});
我正在使用 heroku 运行 一个使用 gcloud 创建主题的 node.js 应用程序,然后订阅它。我正在使用以下代码,取自此处:https://googlecloudplatform.github.io/gcloud-node/#/docs/v0.16.0/pubsub
var gcloud = require('gcloud')({
keyFilename: 'pubsub_key.json',
projectId: 'pipedrivesekoul'
});
var pubsub = gcloud.pubsub();
//create a new topic
pubsub.createTopic('projects/pipedrivesekoul/my-new-topic', function(err, topic, apiResponse) {
var topic = pubsub.topic('my-new-topic');
topic.publish({
data: 'New message!'
}, function(err) {console.log});
});
var topic = pubsub.topic('my-new-topic');
// Without specifying any options.
topic.subscribe('newMessages', function(err, subscription, apiResponse) {});
var alltopics = pubsub.getTopics({}, function(err, topics, nextQuery, apiResponse) {});
console.log(pubsub.getTopics({}, function(err, topics, nextQuery, apiResponse) {}));
然而,当我在 Heroku 上部署时(https 服务器,在 Google 控制台上注册,部署了正确的 API 并且在 json 文件中有适当的密钥),而不是看到列表主题,它只是 returns 'undefined':
2015-07-24T18:06:05.321079+00:00 app[web.1]: undefined
2015-07-24T18:06:05.337947+00:00 app[web.1]: Node app is running on port 36252
不确定为什么会发生这种情况,也不太确定如何调试此问题。任何建议将不胜感激!
我发现了几个问题,希望可以解决这个问题。
pubsub.createTopic('projects/pipedrivesekoul/my-new-topic'
您只需提供my-new-topic
部分即可。又丑又长的标题自动发送。
console.log(pubsub.getTopics({}, function(err, topics, nextQuery, apiResponse) {}));
这实际上是记录调用
的结果pubsub.getTopics({}, function(err, topics, nextQuery, apiResponse) {})
即undefined
。相反,尝试:
pubsub.getTopics({}, function(err, topics, nextQuery, apiResponse) {
if (err) {
console.error(err);
return;
}
console.log(topics); // hopefully in this array is one called `my-new-topic`
});