从Google云功能将数据保存到Firestore

时间:2019-04-05 06:11:36

标签: google-cloud-firestore google-cloud-functions iot

我是IOT和Firestore的新手。

我正在尝试使用云功能(MQTT)将数据保存到Firestore。

以下是代码:

exports.helloPubSub = (event, callback) => {

const functions = require('firebase-functions');
const admin = require('firebase-admin');
admin.initializeApp(functions.config().firestore);

const db = admin.firestore()
//admin.initializeApp();
console.log("Start");

  var docRef = db.collection('users').doc('alovelace');

var setAda = docRef.set({
  first: 'Ada',
  last: 'Lovelace',
  born: 1815
});
};

我在查看日志中遇到以下错误:

“函数执行耗时22毫秒,状态为:'错误'”

任何建议

在进行一些更改后,我也得到了错误-错误:Firebase配置变量不可用。请使用最新版本的Firebase CLI部署此功能

我的package.json是

{
"name": "functions",
"description": "Cloud Functions for Firebase",
"dependencies": {
"@google-cloud/vision": "^0.12.0",
"async": "^2.5.0",
"consolidate": "^0.14.5",
"express": "^4.15.4",
"firebase-admin": "^5.4.0",
"firebase-functions": "^0.7.0",  
"firebase-tools": "3.15.4",  
"handlebars": "^4.0.10",
"jquery": "^3.2.1",
"js-levenshtein": "^1.1.3",
"json-query": "^2.2.2"
},
"private": true
}

1 个答案:

答案 0 :(得分:0)

随着您收到以下错误消息

  

错误:Firebase配置变量不可用。请使用   最新版本的Firebase CLI来部署此功能

您需要更新Firebase CLI才能部署云功能

  

npm i-保存firebase-functions @ latest

firebase-tools@3.17.x中引入了一项重大更改,要求您的项目将firebase-functions升级到最新版本。

但是,firebase-functions @ latest也需要firebase-admin @ latest(在编写此答案时,firebase-admin @ 5.11.0。一旦所有软件包都升级,就应该解决此问题。

另一种选择是将全局firebase-tools降级到3.16.0,这使您可以使用旧的firebase-functions和firebase-admin软件包。