powershell - management - panel azure login
Agregar una configuración de la aplicación a la aplicación web Azure existente utilizando Azure Power Shell (2)
Recuperar la configuración de la aplicación
Primero establece estas dos variables.
$myResourceGroup = ''RESOURCE_GROUP_NAME''
$mySite = ''SITE_NAME''
Luego cambie al nuevo modo Administrador de recursos e inicie sesión en su cuenta.
Switch-AzureMode AzureResourceManager
Get-AzureAccount
Luego recupera la configuración de la aplicación. ( Tenga en cuenta que una marca de retroceso (`) significa una nueva línea).
(Invoke-AzureResourceAction -ResourceGroupName $myResourceGroup `
-ResourceType Microsoft.Web/sites/Config -Name $mySite/appsettings `
-Action list -ApiVersion 2015-08-01 -Force).Properties
Agregar / actualizar la configuración de la aplicación
Para actualizar las configuraciones, primero póngalas en una variable.
$props = (Invoke-AzureResourceAction -ResourceGroupName $myResourceGroup `
-ResourceType Microsoft.Web/sites/Config -Name $mySite/appsettings `
-Action list -ApiVersion 2015-08-01 -Force).Properties
Para usar Set-AzureWebsite
convierte la variable a una tabla hash.
$hash = @{}
$props | Get-Member -MemberType NoteProperty | % { $hash[$_.Name] = $props.($_.Name) }
Ahora agregue / actualice valores en la tabla hash.
$hash.NewKey = "NewValue"
$hash.ExistingKey = "NewValue"
A continuación, vuelva al modo de gestión de servicios y confirme la configuración.
Switch-AzureMode AzureServiceManagement
Set-AzureWebsite -Name $mySite -AppSettings $hash
Listado completo de códigos
$myResourceGroup = ''RESOURCE_GROUP_NAME''
$mySite = ''SITE_NAME''
Switch-AzureMode AzureResourceManager
Get-AzureAccount
(Invoke-AzureResourceAction -ResourceGroupName $myResourceGroup `
-ResourceType Microsoft.Web/sites/Config -Name $mySite/appsettings `
-Action list -ApiVersion 2015-08-01 -Force).Properties
$props = (Invoke-AzureResourceAction -ResourceGroupName $myResourceGroup `
-ResourceType Microsoft.Web/sites/Config -Name $mySite/appsettings `
-Action list -ApiVersion 2015-08-01 -Force).Properties
$hash = @{}
$props | Get-Member -MemberType NoteProperty | % { $hash[$_.Name] = $props.($_.Name) }
$hash.NewKey = "NewValue"
$hash.ExistingKey = "NewValue"
Switch-AzureMode AzureServiceManagement
Set-AzureWebsite -Name $mySite -AppSettings $hash
Notas
AzureServiceManagement y AzureResourceManager no están diseñados para ser utilizados en la misma sesión. Por ahora, este último no parece permitir la actualización de la configuración de la aplicación a través de Set-AzureResource
. Lo anterior es una solución. Otra forma es usar la CLI de Azure en lugar de PowerShell.
Quiero escribir un script que se ejecute usando Azure Power Shell para automatizar la adición de la configuración de la Aplicación Web
Azure> MyWebApp> Configuración de la aplicación> Configuración de la aplicación
Parece que key = "value"
Escribo este script
###########################
# MyApp Config Automation #
###########################
#Begin
$subscriptionName="MySubscriptionName"
$webSiteName="MyWebAppName"
$storageAccountName="StorageAccountName"
########################################
$userName = "[email protected]"
$securePassword = ConvertTo-SecureString -String "mypass" -AsPlainText -Force
#####################################
$cred = New-Object System.Management.Automation.PSCredential($userName, $securePassword)
#####################################
Add-AzureAccount -Credential $cred
Select-AzureSubscription -SubscriptionName $subscriptionName -Default
#####################################
Get-AzureWebsite -Name $webSiteName
#End
pero sé que el script anterior es solo obtener mi aplicación web, ahora necesito acceder a MyWebApp> Configuración de la aplicación> Configuración de la aplicación y dar al script / matriz de mi nueva configuración de la aplicación y al script comprobar si hay alguna nueva clave de Configuración de la aplicación lo agregará a la configuración de la aplicación; si hay alguna tecla existente, anulará su valor. ¿Cuáles son los pasos o APIS o puedo hacer eso con Azure Power Shell?
Editar: este script puede automatizar la creación de una nueva aplicación web y agregarle ajustes de la aplicación:
##############################################
# Creating website and Adding Configs Script #
##############################################
$webSiteName="mywebsite"
$storageAccountName="storageaccount"
$subscriptionName="mysubsc"
$userName = "myaccount"
$securePassword = ConvertTo-SecureString -String "mypass" -AsPlainText -Force
$cred = New-Object System.Management.Automation.PSCredential($userName, $securePassword)
Add-AzureAccount -Credential $cred
Select-AzureSubscription -SubscriptionName $subscriptionName -Default
New-AzureWebsite -Name $webSiteName
New-AzureStorageAccount –StorageAccountName $storageAccountName -Location "South Central US"
$ClientId="dfgdf6"
$Password="ffefe"
$StorageAccountKey = Get-AzureStorageKey -StorageAccountName $storageAccountName
$AppSettings = @{"StorageAccountPrimary" = $StorageAccountKey.Primary;"StorageAccountSecondary" = $StorageAccountKey.Secondary;"ida:ClientId"=$ClientId;"ida:Password"=$Password}
Set-AzureWebsite -Name $webSiteName -AppSettings $AppSettings
Aquí hay una actualización basada en los comandos de Azure PowerShell 12/2015. El ejemplo es para la configuración específica de la ranura, si desea global, use Get / Set-AzureRmWebApp y elimine el parámetro -slot.
$myResourceGroup = ''PartsUnlimitedMRP''
$mySite = ''centpartsunlimited''
$webApp = Get-AzureRMWebAppSlot -ResourceGroupName $myResourceGroup -Name $mySite -Slot production
$appSettingList = $webApp.SiteConfig.AppSettings
$hash = @{}
ForEach ($kvp in $appSettingList) {
$hash[$kvp.Name] = $kvp.Value
}
$hash[''NewKey''] = "NewValue"
$hash[''ExistingKey''] = "NewValue"
Set-AzureRMWebAppSlot -ResourceGroupName $myResourceGroup -Name $mySite -AppSettings $hash -Slot production