События
31 мар., 23 - 2 апр., 23
Самое большое событие обучения Fabric, Power BI и SQL. 31 марта – 2 апреля. Используйте код FABINSIDER, чтобы сэкономить $400.
Зарегистрироваться сегодняЭтот браузер больше не поддерживается.
Выполните обновление до Microsoft Edge, чтобы воспользоваться новейшими функциями, обновлениями для системы безопасности и технической поддержкой.
Важно!
Пользовательский десериализатор .net для Azure Stream Analytics будет прекращен 30 сентября 2024 года. После этой даты невозможно использовать эту функцию.
Azure Stream Analytics поддерживает три формата данных: JSON, CSV и Avro, как показано в этом документе. С помощью пользовательских десериализаторов .NET можно обрабатывать данные в других форматах, таких как буфер протокола, Бонд и другие пользовательские форматы для облачных заданий. В этом руководстве показано, как создавать, тестировать и отлаживать настраиваемый десериализатор .NET для задания Azure Stream Analytics с помощью Visual Studio Code.
Вы изучите следующие темы:
Установите пакет SDK для .NET Core и перезапустите Visual Studio Code.
Из этого краткого руководства вы узнаете, как создать задание Stream Analytics с помощью Visual Studio Code.
Откройте терминал и выполните следующую команду, чтобы создать библиотеку классов .NET в Visual Studio Code для настраиваемого десериализатора ProtobufDeserializer.
dotnet new classlib -o ProtobufDeserializer
Перейдите в каталог проекта ProtobufDeserializer и установите пакеты NuGet Microsoft.Azure.StreamAnalytics и Google.Protobuf.
dotnet add package Microsoft.Azure.StreamAnalytics
dotnet add package Google.Protobuf
Добавьте в проект класс MessageBodyProto и класс MessageBodyDeserializer.
Создайте проект ProtobufDeserializer.
В Visual Studio Code нажмите клавиши CTRL+SHIFT+P, чтобы открыть палитру команд. Затем введите ASA и выберите ASA: Создать проект. Присвойте ему имя ProtobufCloudDeserializer.
Дважды щелкните JobConfig.json. Используйте конфигурации по умолчанию, за исключением следующих параметров:
Параметр | Рекомендуемое значение |
---|---|
Ресурс параметров глобального хранилища | Выберите источник данных из текущей учетной записи |
Подписка на параметры глобального хранилища | < ваша подписка > |
Учетная запись хранения параметров глобального хранилища | < ваша учетная запись хранения > |
Учетная запись хранения параметров CustomCodeStorage | < ваша учетная запись хранения > |
Контейнер параметров CustomCodeStorage | < ваш контейнер хранилища > |
В разделе Входные данные откройте файл input.json. Выберите Добавить динамические входные данные и добавьте входные данные из Azure Data Lake Storage 2-го поколения или хранилища BLOB-объектов, а затем нажмите Выбрать из подписки Azure. Используйте конфигурации по умолчанию, за исключением следующих параметров:
Параметр | Рекомендуемое значение |
---|---|
Имя. | Входные данные |
Отток подписок | < ваша подписка > |
Учетная запись хранения | < ваша учетная запись хранения > |
Контейнер | < ваш контейнер хранилища > |
Тип сериализации | Выберите Настраиваемый. |
SerializationProjectPath | Выберите Выбрать путь к проекту библиотеки в CodeLens и укажите проект библиотеки ProtobufDeserializer, созданный в предыдущем разделе. Выберите Собрать проект для сборки проекта. |
SerializationClassName | Выберите Выбрать класс десериализации в CodeLens, чтобы автоматически подставить имя класса и путь к DLL-библиотеке. |
Имя класса | MessageBodyProto.MessageBodyDeserializer |
Добавьте в файл ProtobufCloudDeserializer.asaql следующий запрос.
SELECT * FROM Input
Скачайте пример входного файла protobuf. В папке Входные данные щелкните правой кнопкой мыши файл input.json и выберите команду Добавить локальные входные данные. Затем дважды щелкните файл local_input1.jsна и используйте настройки по умолчанию, за исключением указанных ниже параметров.
Параметр | Рекомендуемое значение |
---|---|
Выберите путь к локальному файлу. | Выберите CodeLens, чтобы выбрать < путь к файлу для скачаированного примера входного файла protobuf> |
Откройте файл ProtobufCloudDeserializer.asaql и выберите Запустить локально в CodeLens, а затем выберите Использовать локальные входные данные из раскрывающегося списка.
На вкладке "Результаты " на схеме задания можно просмотреть выходные результаты. Вы также можете щелкнуть шаги на схеме задания, чтобы просмотреть промежуточный результат. Дополнительные сведения см. в разделе "Отладка локально с помощью схемы заданий".
Вы успешно реализовали пользовательский десериализатор для задания Stream Analytics! В этом руководстве мы локально протестировали пользовательский десериализатор с локальными входными данными. Это также можно сделать на примере динамических входных данных в облаке. Для запуска задания в облаке необходимо правильно настроить входные и выходные данные. Затем отправьте задание в Azure из Visual Studio Code, чтобы запустить задание в облаке с помощью пользовательского десериализатора, который вы реализовали.
Десериализатор .NET можно отлаживать локально так же, как и стандартный код .NET.
Добавьте точки останова в функцию .NET.
Щелкните Запустить на панели действий Visual Studio Code и выберите создать файл launch.json.
Выберите ProtobufCloudDeserializer, а затем — Azure Stream Analytics из раскрывающегося списка.
Отредактируйте файл launch.json, заменив <ASAScript>.asaql на ProtobufCloudDeserializer.asaql.
Нажмите клавишу F5, чтобы запустить отладку. Программа будет останавливаться в точках останова. Это действует и для локальных, и для динамических входных данных.
Ставшие ненужными группу ресурсов, задание потоковой передачи и все связанные ресурсы можно удалить. При удалении задания будет прекращена тарификация за единицы потоковой передачи, потребляемые заданием. Если вы планируете использовать это задание в будущем, вы можете остановить и перезапустить его позже. Если вы не собираетесь продолжать использовать это задание, удалите все ресурсы, созданные этим руководством, выполнив следующие действия.
В меню слева на портале Azure выберите Группы ресурсов, а затем выберите имя созданного ресурса.
На странице группы ресурсов выберите Удалить, в текстовом поле введите имя ресурса для удаления и щелкните Удалить.
В этом руководстве вы узнали, как внедрить настраиваемый десериализатор .NET для входной сериализации буфера протокола. Дополнительные сведения о создании настраиваемых десериализаторов, см. в следующей статье:
События
31 мар., 23 - 2 апр., 23
Самое большое событие обучения Fabric, Power BI и SQL. 31 марта – 2 апреля. Используйте код FABINSIDER, чтобы сэкономить $400.
Зарегистрироваться сегодняОбучение
Схема обучения
Реализация решения для потока данных с помощью Azure Stream Analytics - Training
Реализация решения для потока данных с помощью Azure Stream Analytics
Сертификация
Сертификация Майкрософт: специальность "Разработчик Azure Cosmos DB" - Certifications
Создавайте эффективные запросы, создавайте политики индексирования, управляйте и подготавливайте ресурсы в API SQL и пакете SDK с помощью Microsoft Azure Cosmos DB.
Документация
Общие сведения о входных данных Azure Stream Analytics - Azure Stream Analytics
В этой статье описывается концепция входных данных в задании Azure Stream Analytics, сравнивающая потоковые входные данные со ссылкой на входные данные.
Обзор и настройка единиц потоковой передачи в Stream Analytics - Azure Stream Analytics
В этой статье описываются параметры единиц потоковой передачи и другие факторы, влияющие на производительность в Azure Stream Analytics.
Схема заданий Stream Analytics (предварительная версия) в портал Azure - Azure Stream Analytics
В этой статье описывается схема заданий Azure Stream Analytics с метриками в портал Azure.