Я успешно публикую в теме:
gcloud pubsub topics publish my-topic --message '{"value":"data"}' --attribute value=myValue
и может успешно просмотреть запись с помощью команды gcloud:
gcloud beta pubsub subscriptions pull --auto-ack my-subcription
Затем я создал функцию триггера firebase pubsub onPublish следующим образом:
exports.myfunction = functions.pubsub.topic('my-topic').onPublish(event => {
const attributes = event.data.attributes;
const message = event.data.json;
const value= attributes['value'];
const data = {
key: value,
key2: message.value
};
let ref= db.collection('devices').doc(value);
return updateTheDataInMyFirestore(ref, data);
});
Я стремлюсь обновлять данные в моем хранилище для хранения данных в реальном времени. Функция вызывается, но событие всегда имеет значение NULL, и я получаю сообщение об ошибке «TypeError: Cannot read property« value »of undefined», когда я пытаюсь получить доступ к атрибутам. Я не понимаю, почему это происходит.