Удалить Azure IoT Hub сообщения, используемые Azure Функции - PullRequest
0 голосов
/ 10 марта 2020

У меня есть функция Azure с IoT Hub в качестве триггера. Я отключил функцию Azure несколько дней go. И теперь, когда я включаю его, он запускает пропущенные сообщения IoT (около 1000+ из них). Я хотел бы проигнорировать все эти сообщения и просто запустить его с приходящими новыми сообщениями.

Как удалить все предыдущие сообщения IoT?

1 Ответ

0 голосов
/ 10 марта 2020

Первое: сообщения находятся в конечной точке концентратора событий и истекают автоматически после установленного времени истечения (, как правильно указал Питер Бонс: это гарантирует сохранение сообщений по крайней мере до истечения времени. Фактическое удаление произойдет некоторое время после этого ). До тех пор вы не можете удалить их.

Функция считывает сообщения из конечной точки, совместимой с EventHub. Он использует контрольные точки под капотом, чтобы отметить последнее прочитанное сообщение (т.е. его смещение). Это можно увидеть в учетной записи хранения, которую вы связали в настройках функций.

Чтобы начать читать только последние сообщения, вам необходимо изменить эту контрольную точку. Возможно, вы сможете сделать это вручную, отредактировав файлы в учетной записи хранения. Но я не уверен, что это сработает. В связи с этим все это абстрагируется для вас при использовании привязки IoT Hub / EventHub для функций. Таким образом, это не очень поддерживается. Если вы не можете просто пропустить сообщения в своем коде, возможно, вам придется внедрить процессор E vent Hub Host самостоятельно - это дает вам весь необходимый контроль.

...