Запуск сообщения PubSub из облачных функций

В документации Firebase упоминается простой способ подписки на тему pubSub.

Предоставляет ли Cloud Functions или Firebase Admin SDK способ публикации событий pubSub, или мы ограничены тем, что описано в документации Google Cloud Platform: https://cloud.google.com/pubsub/docs/publisher#pubsub-publish-message-nodejs


person Łukasz Patecki    schedule 25.12.2017    source источник
comment
Вы решили свой вопрос? Я пытаюсь сделать то же самое и не могу понять, как это сделать.   -  person Lorenzo Petroli    schedule 29.07.2020


Ответы (2)


Для многих продуктов Firebase Admin SDK - это просто удобная оболочка для базовых облачных SDK. Однако для pubsub такой оболочки нет. Вам нужно будет напрямую использовать Google Cloud SDK, если вы хотите отправлять сообщения pubsub.

person Doug Stevenson    schedule 25.12.2017
comment
Я думаю, что автор вопроса хотел спросить, как опубликовать в Pub / Sub из облачной функции, а не как подписаться на Pub / Sub. - person Timur; 27.03.2019

Надеюсь, это поможет, хотя уже поздно. Вот четкое объяснение (от самого Google) о том, как его использовать https://cloud.google.com/pubsub/docs/publisher и вот пример https://github.com/googleapis/nodejs-pubsub/blob/master/samples/publishMessageWithCustomAttributes.js

TL; DR Вот моя сокращенная версия

public static publishMessage(data: unknown, topicName: string): Observable<void> {
        const pubSubClient: PubSub = new PubSub();
        const dataBuffer: Buffer = Buffer.from(JSON.stringify(data));
        return from(pubSubClient.topic(topicName).publish(dataBuffer));
}
person Daniel Tomas    schedule 25.02.2021