【发布时间】:2021-07-28 00:35:47
【问题描述】:
在 firebase 上部署 pub-sub 代码时出现以下错误:
ERROR: (gcloud.functions.deploy) OperationError: code=3, message=Function failed on loading user code. This is likely due to a bug in the user code. Error message: Code in file index.js can't be loaded.
Is there a syntax error in your code?
Detailed stack trace: /srv/node_modules/@google-cloud/pubsub/build/src/pubsub.js:527
async *listSchemas(view = schema_1.SchemaViews.Basic, options) {
^
我不明白为什么会发生此错误。
以下是代码:
exports.publish = async (req, res) => {
if (!req.body.topic || !req.body.message) {
res.status(400).send('Missing parameter(s); include "topic" and "message" properties in your request.');
return;
}
console.log(`Publishing message to topic ${req.body.topic}`);
const topic = pubsub.topic(req.body.topic);
const messageObject = {
data: {
message: req.body.message,
},
};
const messageBuffer = Buffer.from(JSON.stringify(messageObject), "utf8");
try {
await topic.publish(messageBuffer);
res.status(200).send("Message published.");
} catch (err) {
console.error(err);
res.status(500).send(err);
return Promise.reject(err);
}
};
【问题讨论】:
-
你能分享你的代码吗?
-
@Dharmaraj 我已经添加了代码
-
您在何时何地致电
publish?这是一个 HTTP 触发函数还是在数据库上的文档更改后触发了这个函数?请您详细说明一下吗? -
@JuanGiacosa 我正在参考文档cloud.google.com/functions/docs/calling/pubsub
标签: javascript node.js firebase google-cloud-functions google-cloud-pubsub