我想从Powershell设置现有Azure函数的应用程序设置。我有以下脚本
inline fun <reified T : Any, reified R : Any> passFn(someFn: KFunction1<T, R>) {
//consume someFn
}
运行此脚本将返回此错误
Set-AzureRmWebApp:操作返回了无效的状态码 '错误的请求' 在C:\ Users ****** \ Source \ Repos ******* \\创建Azure基础结构.ps1:101 char:1 + Set-AzureRmWebApp -ResourceGroupName $ AzureResourceGroupName -AppSett ... + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~ + CategoryInfo:CloseError :( :) [Set-AzureRmWebApp],DefaultErrorResponseException + FullyQualifiedErrorId:Microsoft.Azure.Commands.WebApps.Cmdlets.WebApps.SetAzureWebAppCmdlet
如果我从$ FunctionSettings中删除了WEBSITE_CONTENTAZUREFILECONNECTIONSTRING和WEBSITE_CONTENTSHARE,则脚本可以成功运行,但是由于这些属性是必需的,因此我在Azure UI中收到错误消息。
我该如何解决?
答案 0 :(得分:0)
您使用了哪个计划?据我所知,仅动态功能(消耗计划)才需要WEBSITE_CONTENTAZUREFILECONNECTIONSTRING和WEBSITE_CONTENTSHARE。 即使您的功能在App Service计划中,如果您仍要修改它们,则可以参考本教程并通过代码对其进行修改: https://github.com/Azure/azure-libraries-for-net/blob/0ada4e3ea2055f6a2aa61e71c605923b9e9ecbab/src/ResourceManagement/AppService/FunctionAppImpl.cs#L145
答案 1 :(得分:0)
我知道1年过去了,您可能已经解决了问题,但是今天在我创建PS脚本时,我遇到了同样的问题。就我而言,设置的顺序就可以解决问题。将WEBSITE_CONTENTSHARE首先放在您的hastable上。
$AzFunctionAppSettings = @{}
$AzFunctionAppSettings = @{
APPINSIGHTS_INSTRUMENTATIONKEY = $AppInsightsKey
APPLICATIONINSIGHTS_CONNECTION_STRING = $AppInsightsConString
FUNCTIONS_EXTENSION_VERSION = "~1"
FUNCTIONS_WORKER_RUNTIME = "dotnet"
WEBSITE_CONTENTSHARE = "****"
WEBSITE_CONTENTAZUREFILECONNECTIONSTRING = "***"
}