Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этом руководстве функции Azure используются для управления вычислительными ресурсами выделенного пула SQL (прежнее название — хранилище данных SQL) в Azure Synapse Analytics.
Чтобы использовать приложение-функцию Azure с выделенным пулом SQL (ранее — хранилище данных SQL), необходимо создать служебную учетную запись. Учетная запись сервисного принципала должна иметь права доступа участника в той же подписке, что и ваш выделенный экземпляр пула SQL (ранее хранилище данных SQL).
Развертывание масштабирования на основе таймера с помощью шаблона Azure Resource Manager
Чтобы развернуть шаблон, вам потребуется следующая информация:
- Название группы ресурсов, в которой находится ваш экземпляр выделенного пула SQL (ранее — SQL DW)
- Имя сервера, в котором находится ваш выделенный экземпляр пула SQL (ранее — SQL DW)
- Имя выделенного экземпляра пула SQL (ранее — SQL DW)
- Идентификатор клиента (идентификатор каталога) идентификатора Microsoft Entra
- ID подписки
- Идентификатор приложения служебного объекта
- Секретный ключ служебной учетной записи
После получения предыдущей информации разверните этот шаблон:
После развертывания шаблона вы обнаружите три новых ресурса: бесплатный план службы приложений Azure, план приложения функций, основанный на потреблении, и учетную запись хранения, которая обрабатывает ведение журнала и очередь операций. Продолжайте читать другие разделы, чтобы узнать, как изменить развернутые функции в соответствии с вашими потребности.
Изменение времени операции масштабирования
Перейдите к службе вашего функционального приложения. Если вы развернули шаблон со значениями по умолчанию, эта служба должна называться DWOperations. После открытия вашего приложения Function App, вы заметите, что в службе Function App развернуты пять функций.
Выберите DWScaleDownTrigger или DWScaleUpTrigger , чтобы увеличить или уменьшить масштаб. В раскрывающемся меню выберите "Интеграция".
В настоящее время отображаемое значение должно сказать либо%ScaleDownTime%, либо %ScaleUpTime%. Эти значения указывают, что расписание основано на значениях, определенных в параметрах приложения. Теперь вы можете игнорировать это значение и изменить расписание на предпочитаемое время на основе следующих шагов.
В области расписания добавьте выражение CRON, которое будет отражать, как часто вы хотите, чтобы Azure Synapse Analytics увеличивался.
Значением
schedule
является выражение CRON , включающее следующие шесть полей:{second} {minute} {hour} {day} {month} {day-of-week}
Например, "0 30 9 * * 1-5" будет отражать триггер каждый рабочий день в 9:30 утра. Дополнительные сведения см. в примерах расписания функций Azure.
Изменение уровня вычислений
Перейдите к службе вашего функционального приложения. Если вы развернули шаблон со значениями по умолчанию, эта служба должна называться DWOperations. После открытия вашего приложения Function App, вы заметите, что в службе Function App развернуты пять функций.
Выберите DWScaleDownTrigger или DWScaleUpTrigger , чтобы увеличить или уменьшить значение вычислений. При выборе функций панель должна отобразить файлindex.js .
Измените значение ServiceLevelObjective на нужный уровень и нажмите кнопку "Сохранить". ServiceLevelObjective — это уровень вычислительных ресурсов, до которого будет масштабироваться экземпляр вашего хранилища данных на основе расписания, определенного в разделе "Интеграция".
Используйте приостановку или возобновление вместо масштабирования
В настоящее время функции по умолчанию — DWScaleDownTrigger и DWScaleUpTrigger. Если вы хотите использовать функцию приостановки и возобновления, можно включить DWPauseTrigger или DWResumeTrigger.
Перейдите в область "Функции".
Выберите на ползунковом тумблере те триггеры, которые вы хотите активировать.
Перейдите на вкладки Интеграция для соответствующих триггеров, чтобы изменить их расписание.
Примечание.
Функциональная разница между триггерами масштабирования и триггерами приостановки и возобновления заключается в сообщении, отправляемом в очередь. Дополнительные сведения см. в разделе "Добавление новой функции триггера".
Добавление новой функции триггера
В настоящее время в шаблоне включены только две функции масштабирования. В течение дня с помощью этих функций вы можете уменьшать только один раз и увеличивать только один раз. Для более детального управления, например уменьшения масштаба несколько раз в день или с различным поведением масштабирования в выходные дни, необходимо добавить еще один триггер.
Создайте пустую функцию. Нажмите кнопку + рядом с местом расположения функций, чтобы отобразить область шаблона функции.
На языке выберите JavaScript, а затем выберите TimerTrigger.
Присвойте функции имя и задайте расписание. На изображении показано, как можно активировать свою функцию каждую субботу в полночь (поздно вечером в пятницу).
Скопируйте содержимое index.js из одной из других функций триггера.
Задайте для переменной операции требуемое поведение следующим образом:
// Resume the dedicated SQL pool (formerly SQL DW) instance var operation = { "operationType": "ResumeDw" } // Pause the dedicated SQL pool (formerly SQL DW) instance var operation = { "operationType": "PauseDw" } // Scale the dedicated SQL pool (formerly SQL DW)l instance to DW600c var operation = { "operationType": "ScaleDw", "ServiceLevelObjective": "DW600c" }
Сложное планирование
В этом разделе кратко показано, что необходимо для более сложного планирования приостановки, возобновления и масштабирования возможностей.
Пример 1
Ежедневное увеличение мощности в 8:00 до DW600c и уменьшение мощности в 20:00 до DW200c.
Функция | Расписание | Операция |
---|---|---|
Функция1 | 0 0 8 * * * | var operation = {"operationType": "ScaleDw", "ServiceLevelObjective": "DW600c"} |
Функция2 | 0 0 20 * * * | var operation = {"operationType": "ScaleDw", "ServiceLevelObjective": "DW200c"} |
Пример 2
Ежедневно увеличивать масштаб в 8 утра до DW1000c, уменьшать масштаб до DW600 в 4 часа дня и уменьшать масштаб в 10 часов вечера до DW200c.
Функция | Расписание | Операция |
---|---|---|
Функция1 | 0 0 8 * * * | var operation = {"operationType": "ScaleDw", "ServiceLevelObjective": "DW1000c"} |
Функция2 | 0 0 16 * * * | var operation = {"operationType": "ScaleDw", "ServiceLevelObjective": "DW600c"} |
Функция3 | 0 0 22 * * * | var operation = {"operationType": "ScaleDw", "ServiceLevelObjective": "DW200c"} |
Пример 3
Увеличение мощности до DW1000c в 8 утра, уменьшение до DW600c в 4 часа дня в будние дни. Приостанавливается в пятницу в 11 вечера, возобновляется в понедельник в 7 утра.
Функция | Расписание | Операция |
---|---|---|
Функция1 | 0 0 8 * * 1-5 | var operation = {"operationType": "ScaleDw", "ServiceLevelObjective": "DW1000c"} |
Функция2 | 0 0 16 * * 1-5 | var operation = {"operationType": "ScaleDw", "ServiceLevelObjective": "DW600c"} |
Функция3 | 0 0 23 * * 5 | var operation = {"operationType": "PauseDw"} |
Функция4 | 0 0 7 * * 1 | var operation = {"operationType": "ResumeDw"} |
Дальнейшие действия
Дополнительные сведения об триггере таймера Azure Functions.
См. репозиторий примеров выделенного пула SQL (ранее — хранилище данных SQL).