Сохраните данные в firestore из облачной функции Google - PullRequest
0 голосов
/ 05 апреля 2019

Я новичок в IOT и firestore.

Я пытаюсь сохранить данные в firestore, используя облачную функцию (MQTT).

Ниже приведен код:

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 голосов
/ 08 апреля 2019

Когда вы получаете следующее сообщение об ошибке

Ошибка: переменные конфигурации Firebase недоступны. Пожалуйста, используйте последняя версия Firebase CLI для развертывания этой функции

Вам необходимо обновить CLI Firebase для развертывания облачной функции

npm i - сохранить firebase-functions @ latest

В firebase-tools@3.17.x было внесено серьезное изменение, которое требует от вашего проекта обновления firebase-функций до последней версии.

Однако для firebase-functions @ latest также требуется firebase-admin @ latest (на момент написания этого ответа firebase-admin@5.11.0. После обновления всех пакетов эту проблему следует решить.

Другая альтернатива - понизить ваши глобальные инструменты firebase до 3.16.0, что позволяет вам использовать более старые пакеты firebase-functions и firebase-admin.

...