是否可以轻松地将应用程序设置从一个Web应用程序复制到另一个Web应用程序

Xer*_*xes 11 azure-web-sites

我想知道是否有一种简单的方法可以将所有关键值从一个Web应用程序的应用程序设置完全复制到另一个,如下图所示,我有很多这些关键值,每次都要手动执行此操作非常繁琐.

在此输入图像描述

Jac*_*eng 14

您可以使用Azure PowerShell.这是适合您的PowerShell脚本.

try{
    $acct = Get-AzureRmSubscription
}
catch{
    Login-AzureRmAccount
}

$myResourceGroup = '<your resource group>'
$mySite = '<your web app>'
$myResourceGroup2 = '<another resource group>'
$mySite2 = '<another web app>'

$props = (Invoke-AzureRmResourceAction -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) }

Set-AzureRMWebApp -ResourceGroupName $myResourceGroup2 `
        -Name $mySite2 -AppSettings $hash
Run Code Online (Sandbox Code Playgroud)

此脚本将应用程序设置从中复制$mySite$mySite2.如果您的Web应用程序涉及插槽,$props则应使用以下命令.

$props = (Invoke-AzureRmResourceAction -ResourceGroupName $myResourceGroup `
        -ResourceType Microsoft.Web/sites/slots/Config -Name $mySite/$slot/appsettings `
        -Action list -ApiVersion 2015-08-01 -Force).Properties 
Run Code Online (Sandbox Code Playgroud)

并且,使用Set-AzureRMWebAppSlot而不是Set-AzureRMWebApp

Set-AzureRMWebAppSlot -ResourceGroupName $myResourceGroup2 `
        -Name $mySite2 -Slot $slot -AppSettings $hash
Run Code Online (Sandbox Code Playgroud)