Google pubsub错误在/protos中找不到Google/pubsub/v1/pubsub.proto



我正在尝试从firebase云函数向pubsub主题发布一条json消息,我使用的是pubsub 0.19.0版本。

我得到这个错误:

google/pubsub/v1/pubsub.proto could not be found in /protos
at Function.GrpcClient._resolveFile (/srv/node_modules/google-gax/lib/grpc.js:174:9)
at GrpcClient.loadProto (/srv/node_modules/google-gax/lib/grpc.js:162:33)
at new PublisherClient (/srv/index.js:6842:15)
at PubSub../node_modules/@google-cloud/pubsub/src/index.js.PubSub.getClient_ (/srv/index.js:3985:17)
at PubSub../node_modules/@google-cloud/pubsub/src/index.js.PubSub.request (/srv/index.js:4006:8)
at Publisher../node_modules/@google-cloud/pubsub/src/publisher.js.Publisher.publish_ (/srv/index.js:4404:14)
at ontimeout (timers.js:482:11)
at tryOnTimeout (timers.js:317:5)
at Timer.listOnTimeout (timers.js:277:5)

这是我的代码:

const pubsub = new PubSub();
const topic = pubsub.topic(PUBSUB_TOPIC_NAME);
const publisher = topic.publisher();
const dataBuffer = Buffer.from(JSON.stringify(req.body));
publisher
.publish(dataBuffer)
.then(messageId => {
console.log(`Message ${messageId} published.`);
res.status(200).send('Message published.');
})
.catch(err => {
console.error('ERROR:', err);
res.status(500).send(err);
return Promise.reject(err);
});

此错误可以通过安装protos库来解决:

pip install -U googleapis-common-protos

注意:您使用的Pub/Sub版本是旧版本。当前版本为0.39.0。更新:pip install -U google-cloud-pubsub

相关内容

  • 没有找到相关文章

最新更新