Firebase RTDB REST API переподключается без отправки данных - PullRequest
1 голос
/ 07 октября 2019

У меня есть приложение, которое состоит из приложений внешнего интерфейса и внутреннего интерфейса, которые взаимодействуют с использованием RTDB Firebase. Поскольку для языка, который мы используем в бэкэнде, реализации SDK нет, мы используем REST api. Мы используем много подписок на вложенную структуру, например /chats/{user_id}/{message_id}. Проблема в том, что мне нужно обрабатывать каждое сообщение только один раз, но я не могу создать индекс на вложенном узле, поэтому невозможно, например, добавить в сообщение атрибут processed, а затем использовать запрос, чтобы подписаться только на необработанные сообщения. ,

Другая часть проблемы заключается в том, что когда требуется перезапуск соединения, вся структура chats загружается снова. Когда я отлаживал nodejs sdk, я заметил, что он действительно использует websocket и отправляет какой-то токен подписки при повторном подключении, и данные не загружаются повторно, но websocket не документирован для RTDB. Поэтому я хотел бы знать, если у кого-то была такая проблема и есть ли решение без изменения структуры или языка для бэкэнда (может быть, есть какой-то недокументированный заголовок, который я могу использовать ??)

Я также думал о поискеспособ продления срока действия токена учетной записи службы (я подозреваю, что истечение срока действия токена является причиной того, что время ожидания подписки и перезапускается каждый час, я использую время ожидания 2 минуты для keepalive). Но это было бы только временным решением.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...