Firebase云函数未发布
我正在尝试编写一个云函数,每次创建“传感器读数”集合中的传感器读数时都会执行该函数:Firebase云函数未发布,firebase,google-cloud-functions,firebase-cloud-messaging,Firebase,Google Cloud Functions,Firebase Cloud Messaging,我正在尝试编写一个云函数,每次创建“传感器读数”集合中的传感器读数时都会执行该函数: const admin = require('firebase-admin'); admin.initializeApp(functions.config().firebase); exports.createNotification = functions.firestore .document('sensor-readings/{sensorId}')
const admin = require('firebase-admin');
admin.initializeApp(functions.config().firebase);
exports.createNotification = functions.firestore
.document('sensor-readings/{sensorId}')
.onCreate((snap, context) => {
const payload = {
notification: {
title: 'New news',
body: "Body Test"
}
};
// perform desired operations ...
return admin.messaging().sendToTopic("topic",payload);
});
每次创建传感器读数时,但当我尝试使用
gcloud pubsub订阅拉取--自动确认MySub
要测试函数的结果,没有发布到主题的消息
有什么想法吗?
感谢此代码与名为Firebase Cloud Messaging的产品配合使用,该产品用于向web和移动应用程序发送消息:
admin.messaging().sendToTopic("topic",payload);
但您的命令行正在与Google Cloud Pubsub协作,这是一个完全不同的产品:
gcloud pubsub subscriptions pull --auto-ack MySub
不能使用FCM向pubsub主题发送消息。同样,它们完全不同。而且您不能使用gcloud查看FCM消息的情况。您需要在web或移动应用程序中执行此操作
如果要向pubsub主题发送消息,应使用,而不是Firebase Admin SDK。不相关的点:
functions.config()。Firebase
不推荐使用。使用admin.initializeApp()改为“代码>”。@samthecodingman您是否介意指向显示您提到的弃用的文档?导入配置的新做法是什么?它是随着迁移到V1.0 as而删除的。值firebase
也从functions.config()
对象中删除,因此它解析为未定义,因此调用admin.initializeApp(functions.config().firebase)的新代码代码>正确调用admin.initializeApp()
将自动从环境变量中提取所需的所有内容。如中所述,如果需要配置对象,在初始化之外/如果需要修改它,可以使用let firebaseConfig=JSON.parse(process.env.FIREBASE\u CONFIG)代码>