Вывод данных из Azure Stream Analytics в Функции Azure
Функции Azure — это бессерверная служба вычислений, которая позволяет выполнять код по требованию без необходимости явно подготавливать или администрировать инфраструктуру. Они позволяют реализовать код, который запускается событиями, возникающими в Azure или партнерских службах. Эта возможность Функций Azure реагировать на триггеры упрощает вывод данных Azure Stream Analytics. Этот выходной адаптер позволяет пользователям подключать Stream Analytics к Функциям Azure и запускать сценарий или часть кода в ответ на ряд событий.
Функции Azure выходные данные из Stream Analytics недоступны в Microsoft Azure под управлением 21Vianet и Azure для Германии (T-Systems International). Подключение к Функции Azure в виртуальной сети из задания Stream Analytics, выполняемого в кластере с несколькими клиентами, также не поддерживается.
Azure Stream Analytics вызывает Функции Azure через триггеры HTTP. Адаптер выходных данных функции Azure доступен со следующими настраиваемыми свойствами:
Имя свойства | Описание |
---|---|
Приложение-функция | Имя приложения-функции Azure. |
Компонент | Имя функции в приложении-функции Azure. |
Клавиши | Если нужно использовать службу "Функции Azure" из другой подписки это можно сделать, предоставив ключ для доступа к функции. |
Максимальный размер пакета | Свойство, которое позволяет задать максимальный размер для каждого выходного пакета, отправляемого в функцию Azure. Объем входных данных задается в байтах. По умолчанию это значение равно 262 144 байт (256 КБ). |
Максимальное количество пакетов | Свойство, которое позволяет указать максимальное число событий в каждом пакете, отправляемых в функции Azure. По умолчанию используется значение 100. |
Azure Stream Analytics ожидает HTTP-состояние 200 из приложения-функции для пакетов, которые были успешно обработаны.
Когда служба Azure Stream Analytics получает исключение 413 (сущность запроса HTTP слишком большая) из службы "Функции Azure", размер пакетов, отправляемых в службу "Функции Azure", уменьшается. В коде функции Azure это исключение позволяет убедится, что Azure Stream Analytics не отправляет пакеты слишком большого размера. Кроме того, убедитесь, что максимальное количество пакетов и размеры значений, используемые в функции, соответствуют значениям, введенным на портале Stream Analytics.
Примечание
Во время тестового подключения Stream Analytics отправляет (POST) пустой пакет в Функции Azure для проверки, если соединение между ними работает. Убедитесь, что приложение-функция обрабатывает пустые пакетные запросы, чтобы убедиться, что проверка пройдена.
Кроме того, в ситуации, когда во временном окне не происходит целевое событие, никакие выходные данные не генерируются. В результате функция computeResult не вызывается. Такое поведение согласуется со встроенными оконными агрегатными функциями.
Секционирование
Значение ключа секции основано на предложении PARTITION BY в запросе. Количество модулей записи выходных данных соответствует секционированию входных данных для полностью распараллеливаемых запросов.
Размер выходного пакета
Размер пакета по умолчанию составляет 262 144 байт (256 КБ). Число событий в пакете по умолчанию равно 100. Размер пакета можно настроить, его можно увеличить или уменьшить в параметрах вывода Stream Analytics.
Ограничение
Служба "Функции Azure" должна выполнить свой запрос в течение 100 секунд, так как время ожидания HTTP-клиента истекает через 100 секунд. Если для обработки пакета данных службе "Функции Azure" требуется более 100 секунд, время ожидания активирует повторную попытку. Эта повторная попытка может привести к дублированию данных, так как служба "Функции Azure" будет заново обрабатывать данные и теоретически может создать те же выходные данные, поскольку в предыдущем запросе они могли быть выведены частично.
Примеры кода
Выходные данные Функций Azure можно использовать для ретрансляции сообщений в неподдерживаемые базы данных, например Redis, или для обновления таблиц в Azure SQL.
Дальнейшие действия
- Краткое руководство. по созданию задания Stream Analytics с помощью портала Azure
- Краткое руководство. Создание задания Azure Stream Analytics с помощью Azure CLI
- Краткое руководство. Создание задания Azure Stream Analytics с помощью шаблона ARM
- Краткое руководство. Создание задания Stream Analytics с помощью Azure PowerShell
- Краткое руководство. Создание задания Azure Stream Analytics с помощью Visual Studio
- Краткое руководство. Создание задания Azure Stream Analytics в Visual Studio Code