Где хранятся сообщения концентратора событий Azure?

Я создал подпись SAS с помощью этого инструмента RedDog и успешно отправил сообщение на Концентратор событий, использующий ссылки API концентратора событий. Я знаю, что это было успешно, потому что я получил ответ 201 Created от конечной точки.

Этот крошечный успех вызвал вопрос, на который я не смог найти ответа:

Я зашел на лазурный портал и нигде не увидел созданные мною сообщения. Дальнейшее чтение показало, что мне нужно создать учетную запись хранения; Я наткнулся на несколько примеров C # (EventProcessorHost), для которых требуются кредиты учетной записи хранения и т. Д.

Вопрос в том, есть ли какие-нибудь API-интерфейсы, которые я могу использовать для сохранения данных? Я не хочу использовать инструмент C #.

Пожалуйста, поправьте меня, если мой подход неверен, но моя цель - иметь возможность публиковать телеметрию в EventHub, сохранять данные и выполнять с ними некоторые аналитические операции. Данные телеметрии должны быть доступны для просмотра в Azure.


person mr i.o    schedule 19.11.2015    source источник


Ответы (2)


У вас нет прямого доступа к временному хранилищу, используемому для сообщений EventHub, но вы можете написать потребителя, который непрерывно читает из EventHub и сохраняет сообщения в таблице Azure или в Azure Blob.

Самый близкий способ автоматического сохранения сообщений (например, Amazon Kinesis Firehose по сравнению с Amazon Kinesis, которым EventHubs в основном эквивалентны), будет использовать Azure Streaming Аналитика настроена для записи выходных данных либо в большой двоичный объект Azure, либо в таблицу Azure. Этот пример показывает, как настроить задание Streaming Analytics, которое передает данные и сохраняет их в SQL, но вы можете увидеть пользовательский интерфейс, в котором вы можете выбрать такой вариант, как таблица Azure. Или вы можете получить представление о параметрах из API вывода.

Выбрать выход хранилища

Конечно, вы должны знать о требованиях к сериализации, которые привели к этот вопрос

person cacsar    schedule 20.11.2015
comment
Мило спасибо. Это было действительно полезно! Я выполнил инструкции в примере и заставил его работать в соответствии с моим вариантом использования. И последний вопрос: что будет делать EventProcessorHost помимо того, что я только что сделал - отправлять события, сохранять их, читать сохраненные значения из базы данных в мое приложение? Код src недоступен, поэтому я не могу много копать. - person mr i.o; 20.11.2015
comment
EventProcessorHost - это инструмент, позволяющий избавиться от некоторых проблем, связанных с обработкой нескольких разделов в разных ящиках. Что означает потребление, зависит от варианта использования. У нас есть потребитель, который сохраняет события в AzureTable, и потребитель (с теми же данными), который вычисляет различные метрики и выполняет множество других действий. По сути, он позволяет другому коду C # получать доступ к сообщениям и делать что угодно. - person cacsar; 21.11.2015
comment
Благодаря концентратору событий уровня «Стандартный» теперь вы можете настроить автоматическую пересылку сообщений EventHub в Azure в хранилище Azure или в озеро данных Azure. Они называют это захватом. [Информация здесь.] [1] В отличие от задания Streaming Analytics, обработка захваченных сообщений не требует затрат. Вы, конечно, должны оплатить складские расходы. И нет никакого механизма для очистки этих сообщений с течением времени после их захвата. [1]: docs.microsoft.com/ ru-ru / azure / event-hubs / - person Nate Jackson; 13.12.2018

Концентратор событий хранит данные максимум 7 дней; это тоже относится к стандартной ценовой категории. Если вы хотите дольше хранить данные в учетной записи хранения, вы можете использовать функцию захвата концентратора событий. Для этого не нужно писать ни строчки кода. Вы можете настроить его через портал или шаблон ARM. Это описано в этом документе - https://docs.microsoft.com/en-us/azure/event-hubs/event-hubs-capture-overview

Концентратор событий хранит временные данные в хранилище Azure. Более подробная информация о хранении данных не дается. Это видно из этой документации - https://docs.microsoft.com/en-us/azure/event-hubs/configure-customer-managed-key

Учетная запись хранения, необходимая для EventProcessorHost, используется только для установки контрольных точек или поддержания смещения последнего события чтения в разделе.

person Shyamal Bar    schedule 06.05.2020