Извлечение параметров из ручных триггеров в АПД
USECASE
У нас есть локальная установка Hadoop, и мы используем Power BI в качестве инструмента визуализации BI. То, что мы делаем в настоящее время для получения данных о Powerbi, заключается в следующем.
- Скопируйте данные из локального объекта в BLOB-объект Azure (наше локальное расписание делает это, как только данные будут готовы в Hive)
- Затем данные из BLOB-объекта Azure копируются в Azure-DataWarehouse/Azure-SQL
- Обновление куба в Azure AAS, AAS извлекает данные из Azure DataWarehouse/SQL
Для выполнения шагов 2 и 3 мы в настоящее время запускаем веб-сервер в Azure, и конечные точки настроены на несколько параметров, таких как имя таблицы, расположение файла Azure, информация о кубе и т. Д.
Пример http запроса:
Здесь веб-серверы извлекают значения из переменных (from, fromloc, to, totable) и выполняют копирование. Мы сделали это, так как у нас было много таблиц, и все они могли использовать одну и ту же функцию.
Теперь у нас накапливается прецедентов (повторные попытки, потоки управления, оповещения по электронной почте, мониторинг), и мы ищем облачную альтернативу, чтобы выполнить работу по планированию для нас, мы все равно хотели бы достичь конечной точки HTTP, как выше.
Одна из альтернатив, которые мы проверяли до сих пор, - это фабрика данных Azure, где создаются конвейеры для выполнения описанных выше шагов и запуска ADF с использованием конечных точек http.
Проблемы
- Как мы можем взять параметры из пост-вызова http и сделать его доступным как пользовательские переменные [1], это необходимо в конвейере, чтобы мы могли написать функцию для каждого шага {2, 3}, и функция может принять эти параметры Мы не хотим создавать ADF для каждой таблицы.
- Как мы можем обнаружить ошибки на этапах АПД и отправлять оповещения по электронной почте во время сбоев?
- Какие есть другие варианты, кроме ADF, для этого в Azure?
[1] https://docs.microsoft.com/en-us/azure/data-factory/control-flow-system-variables
1 ответ
Вы можете запустить задание копирования из BLOB- объекта в SQL DW с помощью функции Get Metadata Acctivity. Его можно использовать в следующих сценариях: - проверка метаданных любых данных; - запуск конвейера, когда данные готовы / доступны.
Для уведомления по электронной почте вы можете использовать веб-активность, вызывающую LogicApp. Смотрите следующий учебник, как отправить уведомление по электронной почте.