Я пишу облачную функцию в node js. Мое требование - чтобы GCP pubsub topi c публиковал sh a json тело в качестве сообщения. Этот pubsub topi c является точкой запуска моей облачной функции node js. Это означает, что всякий раз, когда я публикую sh сообщение от topi c, оно должно запускать мою облачную функцию. Эта функциональность работает как положено. Но проблема возникает, когда я пытаюсь получить доступ к отдельному элементу Json данных запроса в моей облачной функции. Если я регистрирую данные, поступающие из pubsub, в свою облачную функцию, я могу это сделать. Мой индекс. js
exports.helloPubSub = (data, context) => {
const pubSubMessage = data;
const messageData = pubSubMessage.data
? Buffer.from(pubSubMessage.data, 'base64').toString()
: 'World';
console.log(`message data is, ${messageData}!`);
};
Опубликованное сообщение pubsub:
{
"companyName": "my-company",
"companyLocation": "my-location"
}
Когда я пытаюсь получить доступ к "companyName" в моей облачной функции из опубликованного выше сообщения, я получаю вывод журнала как "название компании не определено". Ниже приведен код, который я пытаюсь использовать:
exports.helloPubSub = (data, context) => {
const pubSubMessage = data;
const messageData = pubSubMessage.data
? Buffer.from(pubSubMessage.data, 'base64').toString()
: 'World';
console.log(`company name is, ${messageData.companyName}!`);
};
Примечание. Я имею в виду https://cloud.google.com/functions/docs/tutorials/pubsub
Ваши полезные ответы будут оценены. Спасибо !