0

Я работаю над аналитическим решением IoT, которое потребляет отформатированные сообщения Avro, запущенные на концентраторе Azure IoT, и (надеюсь) использует Stream Analytics для хранения сообщений в хранилище Data Lake и blob. Ключевым требованием является то, что контейнеры Avro должны отображаться точно так же на складе, как это было при передаче в концентратор IoT, в интересах потребителей, расположенных ниже по течению.Stream Analytics: динамический путь вывода на основе полезной нагрузки сообщения

Я столкнулся с ограничением в Stream Analytics с гранулированным контролем над созданием отдельных файлов. При настройке нового пути выходного потока я могу указать дату/день и час в префиксе пути, в результате один файл за каждый час вместо одного файла для каждого полученного сообщения. Заказчику требуются отдельные контейнеры для каждого устройства и отдельные капли для каждого события. Аналогичным образом, требование Data Lake требует, по меньшей мере, разумного соглашения об именах, которое определяется устройством, с отдельными файлами для каждого принимаемого события.

Кто-нибудь успешно сконфигурировал Stream Analytics для создания нового файла каждый раз, когда он выводит сообщение на вход? Является ли это трудным ограничением продукта?

ответ

1

Stream Analytics действительно ориентирован для эффективной обработки больших потоков. Для вашего варианта использования вам нужен дополнительный компонент для реализации вашей логики.

Stream Analytics может выводить на Blob, Event Hub, Table Store или Service Bus. Другим вариантом является использование нового Iot Hub Routes для маршрутизации непосредственно в концентратор событий или очередь служебной шины или тему.

Оттуда вы можете написать Azure Function (или, от Blob или Table Storage, custom Data Factory activity) и использовать Data Lake Store SDK для записи файлов с необходимой логикой.

+0

Спасибо Alexandre, это действительно то, с чем мы столкнулись. Мы уже используем маршруты, чтобы разбить все категории сообщений на основе свойств типа, но это было бы чересчур избыточным с миллионами целей. Клиент был готов сгибаться при первоначальном проглатывании, поэтому мы отправляемся прямо на хранение, а затем используем АПД. –

Смежные вопросы