Как получить предварительную версию конфигурации подкачки при подкачке службы приложений Azure из cli?

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

Я хотел бы получить такое же предупреждение при переключении из командной строки (например, с помощью az в bash), возможно ли это, и если да, то как это сделать?


person viblo    schedule 04.04.2018    source источник


Ответы (3)


Кажется, нет никакого способа получить подтверждение до завершения обмена с помощью Azure CLI.

Если вам нужен диалог с подтверждением, вам нужно написать его отдельно, например нравится

read -r -p "Are you sure? [y/N] " response
if [[ "$response" =~ ^([yY][eE][sS]|[yY])+$ ]]
then
    az webapp deployment slot swap  -g MyResourceGroup -n MyUniqueApp --slot staging --target-slot production
fi

использованная литература

  • см. эту страницу для получения дополнительной информации о замене слотов с помощью cli.
  • и это страницу для получения подробной информации об условном выполнении операторов в bash
person kim    schedule 04.04.2018
comment
Есть ли у вас какие-либо предложения, как отдельно написать такое предупреждение? - person viblo; 04.04.2018
comment
Извините, может я не понял. Предупреждение, о котором я говорю, - это то, которое показывает любые значения конфигурации, которые не совпадают между слотами. - person viblo; 05.04.2018

Удалось сделать это с помощью Azure CLI и jq (сначала установите). Это тот же вызов, который делает портал Azure при предварительном просмотре. Итак, я добавил задачу Azure CLI, а затем:

echo Phase One changes
az rest -m post -u https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/<your_rg>/providers/Microsoft.Web/sites/<your_webapp_name>/slots/<slot_name>/slotsdiffs?api-version=2016-08-01 --body {\"targetSlot\":\"production\"} | jq -r "[.value[].properties | select(.diffRule == \"SlotSettingsMissing\") | .description ] | join(\";\")" 

echo Phase Two changes
az rest -m post -u https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/<your_rg>/providers/Microsoft.Web/sites/<your_webapp_name>/slots/<slot_name>/slotsdiffs?api-version=2016-08-01 --body {\"targetSlot\":\"production\"} | jq -r "[.value[].properties | select(.diffRule != \"SlotSettingsMissing\") | .description ] | join(\";\")" 

Обратите внимание, что {subscriptionId} будет заменен, поэтому нет необходимости делать это вручную. Остальные параметры в <> должны быть указаны в любом случае.

person Andrey Stukalin    schedule 28.08.2019

В конце концов, я сделал расширение для az cli, которое сравнивает и различает конфигурации. В конце концов, это было не очень сложно, и в то же время я мог бы немного расширить его функциональность и сделать возможным также различать конфигурации между различными веб-приложениями, например, полезно, когда одна и та же служба развернута в более чем одном регионе.

(это расширение на данный момент нигде не общедоступно, но могло бы быть, если бы был интерес)

person viblo    schedule 05.09.2019