Как изменить/установить приоритет правила шлюза приложений Azure

#azure #azure-devops

Вопрос:

Я пытаюсь настроить правило в своем шлюзе приложений Azure, которое применяет более длительный лимит времени ожидания для определенных запросов, чтобы служба могла обслуживать запросы/данные без тайм-аута.

Правило настроено с маршрутизацией на основе путей, поэтому оно должно срабатывать только в том случае, если запросы содержат определенный префикс пути.

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

Есть ли способ установить приоритет на портале Azure, или это можно сделать только при управлении этой конфигурацией с помощью сценариев командной оболочки?

Ответ №1:

В данный момент вы не можете установить приоритет правил через портал Azure для существующего шлюза приложений. Вам нужно будет установить приоритет для всех существующих правил с помощью командной строки Powershell/Azure, после чего вы сможете управлять ими через портал. Обратите внимание, что это относится только к шлюзу приложений версии 2.

Для этого вы можете перебрать все существующие правила и установить для них уникальный приоритет от 1 до 20000 (1 = наивысший приоритет, 20000=самый низкий приоритет). Вот пример такого сценария Powershell:

 Connect-AzAccount -Tenant 'TENANT-GUID-HERE'
$AppGW = Get-AzApplicationGateway -Name "APP-GATEWAY-NAME-HERE" -ResourceGroupName "RESSOURCE-GROUP-HERE"
$Rules = Get-AzApplicationGatewayRequestRoutingRule -ApplicationGateway $AppGW

$i = 1000
foreach ($Rule in $Rules) {
    $Rule.Priority = $i
    $i  
}

Set-AzApplicationGateway -ApplicationGateway $AppGw
 

Затем, если сценарий завершится успешно, теперь вы сможете управлять приоритетами правил на портале (ищите текстовое поле «Приоритет» при добавлении или изменении правила).