google-cloud-pubsubTypeError: state.topic.publish не является функцией

Это изображение из красного узла в терминале

введите здесь описание изображения

Я работаю в сфере Интернета вещей и хочу отправить сообщение в Pub / Sub в Google, но каждый раз, когда я запускаю свой node-Red, я получаю следующую ошибку:

25 декабря 18:40:49 - [ошибка] [google-cloud-pubsub out: b2451409.071148] TypeError: state.topic.publish не является функцией *

В качестве исходного кода я использовал вклад pub / sub в github, ссылка: https://github.com/GoogleCloudPlatform/node-red-contrib-google-cloud/blob/master/pubsub.js Кажется, что код отлично работает с учетными данными и создает новые -тема в Google, в случае, если тема отсутствует в облаке, однако сообщение не публикуется в теме. В случае повторения сообщений через определенный интервал возникает указанная выше проблема. кто-нибудь знает, как решить эту проблему?


person Rustem Kussaiynov    schedule 25.12.2017    source источник


Ответы (1)


Думаю, вы использовали старую версию API pubsub:

const topic = pubsub.topic('YOUR-TOPIC-NAME')
topic.publish(yourData, callback)

Новый API, описанный здесь (https://cloud.google.com/pubsub/docs/publisher) выглядит так:

const topic = pubsub.topic('YOUR-TOPIC-NAME')
const publisher = topic.publisher()
publisher.publish(dataBuffer, dataJSON, callback)

Надеюсь, это решит вашу проблему.

person Nicolas Dao    schedule 30.01.2018