如何导出和导入Azure功能"应用程序设置" ?我添加了密钥,需要转移到新的功能应用程序。请指导。
答案 0 :(得分:19)
你在这里几乎没有选择:
您可以通过以下方式手动完成:
您可以使用azure-cli,powershell或azure-functions-core-tools来实现相同的目标。
使用Azure Powershell模块https://docs.microsoft.com/en-us/powershell/azure/overview?view=azurermps-5.4.0
# get the app settings from app1
$resource = Invoke-AzureRmResourceAction -ResourceGroupName <yourResourceGroupName> -ResourceType Microsoft.Web/sites/config -ResourceName "<yourFunctionAppName>/appsettings" -Action list -ApiVersion 2016-08-01 -Force
# update the other app with $resource.Properties
New-AzureRmResource -PropertyObject $resource.Properties -ResourceGroupName <targetResourceGroupName> -ResourceType Microsoft.Web/sites/config -ResourceName "<targetAppName>/appsettings" -ApiVersion 2016-08-01 -Force
该工具的文档位于https://docs.microsoft.com/en-us/azure/azure-functions/functions-run-local
您可以通过运行
来执行相同的操作func azure login
func init myFunctionApp
cd myFunctionApp
# this will fetch your settings and put them in local.settings.json
func azure functionapp fetch-app-settings <yourAppName>
func azure functionapp publish <yourTargetApp> --publish-settings-only
如果您只想发布设置,最后一个开关--publish-settings-only
对于不覆盖文件非常重要。
https://docs.microsoft.com/en-us/cli/azure/install-azure-cli?view=azure-cli-latest
此页面应包含一些有关如何使用cli https://docs.microsoft.com/en-us/azure/app-service/scripts/app-service-cli-app-service-storage?toc=%2fcli%2fazure%2ftoc.json
检索和设置应用设置的文档答案 1 :(得分:2)
目前,这是不可能的。您可以查看此feedback。
一个解决方案,您可以克隆您的网络应用,请参阅此link。克隆应用程序时,还会克隆应用程序设置。
另一种解决方案是,您可以使用Power Shell导入应用程序设置并将应用程序复制到新的Web应用程序,使用以下示例:
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
有关此问题的详情,请查看此answer
答案 2 :(得分:0)
您也可以通过 Azure 门户获取它们:
local.settings.json
。