我已经在GCP中编写了一个HTTP触发函数,它按预期方式计算了一些数据,在计算之后,我想将结果发布到MQTT主题上。 我添加了以下代码段,但触发了错误:
Error: Error: Cannot find module '@google-cloud/pubsub'
下面是添加的代码
//decoding worked
const PubSub = require('@google-cloud/pubsub');
// Your Google Cloud Platform project ID
const projectId = 'XXXXX';
// Instantiates a client
const pubsubClient = new PubSub({
projectId: projectId
});
// The name for the new topic
const topicName = 'XXXX';
// Creates the new topic
pubsubClient
.createTopic(topicName)
.then(results => {
const topic = results[0];
console.log(`Topic ${topic.name} created.`);
})
.catch(err => {
console.error('ERROR:', err);
});
如果摆脱了库的导入,我就会得到
Error: ReferenceError: PubSub is not defined
所以-如何在gcp中通过HTTP触发的函数发布主题?
答案 0 :(得分:2)
您需要安装@google-cloud/pubsub库作为依赖项,以便您的Cloud Function可以成功导入它。您可以通过在本地运行以下命令来做到这一点:
npm install --save @google-cloud/pubsub
这将在您使用功能代码上传的package.json文件中包含该库。
如果直接从开发者控制台编写函数,则需要将以下内容添加到package.json文件中:
"dependencies": {
"@google-cloud/pubsub": "^0.19.0"
}