我正在将Firebase云功能与Node结合使用,以发送由实时数据库事件触发的推送通知。
我从Google收到这封电子邮件,告诉我更新使用v1端点的请求。电子邮件中指出:
我们的记录显示,您拥有带有App Engine应用程序或Cloud Functions的项目,这些项目仍在调用App Engine和Cloud Functions元数据服务器的GA v0.1和v1beta1之前的端点。 >
标识提出这些请求的项目,应用和功能。 随此消息所附,您将找到在2019年9月26日至2019年11月1日期间向v0.1和v1beta1元数据服务器端点发出请求的项目,应用程序和功能的列表。 评论:我知道这是什么项目。
将您的Google客户端库升级到最新版本。请参阅支持的库版本以获取需要更新的Google SDK列表。 评论:我不明白。我需要这样做吗?
如果您直接向旧版Metadata Server端点发出请求: 为确保实例中断最小,请在2020年4月30日之前将您的请求更新到v1端点。 评论:我不知道我是否在直接发出请求
如何从v1beta1请求升级到v1请求: 如果您直接向v1beta1 URI发出请求,请按照以下步骤升级到v1 URI: 将请求URI更改为使用v1而不是v1beta1 将此标头添加到您的请求中:“元数据香料:Google” 例如,如果您当前正在发出此请求: 卷曲“ http://metadata.google.internal/computeMetadata/v1beta1/instance/id” 升级到v1,如下所示: curl“ http://metadata.google.internal/computeMetadata/v1/instance/id” -H“ Metadata-flavor:Google” 如何从v0.1请求升级到v1请求: 如果您直接向v0.1 URI发出请求,请按照以下步骤升级到v1 URI: 将请求URI更改为使用v1而不是v0.1 将此标头添加到您的请求中:“元数据香料:Google” 使用以下说明将v0.1属性映射到v1属性 例如,如果您当前正在发出此请求: 卷曲“ http://metadata.google.internal/0.1/meta-data/instance-id” 升级到v1,如下所示: curl“ http://metadata.google.internal/computeMetadata/v1/instance/id” -H“ Metadata-flavor:Google” 重新部署您的应用程序 以上步骤将需要另一应用程序部署才能生效。
我搜索了Google Cloud支持Webb(如电子邮件中的建议),并在此处搜索。但是我不知道该怎么做。
请记住我是一个新手。任何帮助或建议,我们将不胜感激!
更新 显然,此功能已向v0.1和v1beta1元数据服务器端点发出了请求:
const functions = require('firebase-functions');
const admin = require('firebase-admin');
admin.initializeApp(functions.config().firebase);
exports.sendErrorInputWasSentPush = functions.database.ref('/errorInputs/{barcode}/{date}').onWrite((change,context) => {
const barcode = context.params.barcode
const dataAfter = change.after.val()
const input = dataAfter.input
const pushIDs = [
"",""]
console.log(`Error input submitted.`)
const payload = {
notification: {
title: '',body: '',sound: "default"
}
};
const options = {
priority: "high",timeToLive: 60 * 60 * 24
};
return admin.messaging().sendToDevice(pushIDs,payload,options);
});
Firebase版本:
"firebase-admin": "^8.0.0","firebase-functions": "^3.2.0"