Azure · Configuração · Web App

Modificar Azure Web App Application Settings sin perder configuraciones

Hace poco tiempo necesité modificar un parámetro del Application Settings em más de 50 Azure Web Apps y debería ser muy simple con Powershell, pues probaría en una Web App, validaría y podría replicar con algunas líneas de código.

Estaba equivocado, porque a diferencia del Azure Portal, donde puedo fácilmente ir al Application Settings y modificar uno o más parámetros, y guardar los cambios sin perder ninguno de ellos, en PowerShell no es así.

IMPORTANTE: Al realizar la modificación, eliminación o inclusión de parámetros y guardar, implica la reinicialización del Web App\n

Alterando com Powershell (forma errada)

Para alterar com Powershell, primeiramente me conectei ao Azure, utilizando UseDeviceAuthentication e em seguida modifiquei o contexto para a Subscription que estava utilizando

Em seguida, criei uma varíavel, passando como valor uma hashtable

e utilizei Set-AzWebApp para aplicar a variável e atualizar o valor do APPINSIGHTS_INSTRUMENTATIONKEY

Mas quando fui verificar no Azure Portal, para minha surpresa, todos os outros valores haviam sido apagados

Alterando com Powershell e mantendo os valores existentes

Vamos começar pegando as configurações do Web App onde vamos fazer as alterações, neste caso Application Settings

Em seguida, vamos criar um objeto, que terá função similar ao hashtable, para receber o nome e valor deste parâmetro

Vamos fazer uma verificação para saber se o parâmetro já existe ou não no Application Settings do Web App, caso já exista, apenas o valor do parâmetro é alterado, do contrário, o parâmetro todo será adicionado a variável com as configurações que coletamos no começo deste script

Então, iniciamos uma variável com valores que serão dispostos como hashtable, e passamos colocamos nome e valor de cada parâmetro da variável modificada no script para a hashtable

E por fim, rodamos o Set-AzWebApp

E finalizamos conferindo o Web App no Azure Portal

O script completo, você pode encontrar no meu GitHub

Application SettingsAzureAzure Web AppConfigurações
Modificar Azure Web App Application Settings sin perder configuraciones — Vinicius Deschamps