Мы используем Stream Analytics для чтения IoT-сообщений из IoT Hub. Чтобы улучшить использование полосы пропускания, мы хотим отправить данные в сжатом формате. Я знаю, что потоковая аналитика поддерживает распаковку входных потоков в формате gzip и deflate, что задокументировано здесь .
Однако в период миграции у нас могут быть устройства, отправляющие сжатые и несжатые данные вIoT Hub и нам приходится иметь дело с обоими форматами / версиями клиента.
Я думал о том, чтобы включить свойство метаданных в клиентские сообщения, чтобы указать, является ли полезная нагрузка сжатой или несжатой, и использовать маршрутизацию IoT Hub для маршрутизации до 2. разные задания Stream Analytics (одно чтение сжатого формата и одно чтение данных), однако мне не нравится идея иметь дублированные задания Stream Analytics, которые отличаются только этим параметром.
Другая идея заключается в том, чтобыпоток данных через функцию Azure, которая выполняет условное сжатие / распаковку, а затем перенаправляет простые сообщения в концентратор событий, который служит в качестве единственного входа в Stream Analytics с деактивированной входной декомпрессией. Недостатком этого подхода является стоимость промежуточной функции Azure и архитектурных изменений.
Есть ли более простой способ выполнить этот сценарий миграции?