【问题标题】:Setting Azure Function app settings using Powershell Set-AzureRmWebApp function fails with Bad Request error使用 Powershell Set-AzureRmWebApp 函数设置 Azure 函数应用程序设置失败并出现错误请求错误
【发布时间】:2019-03-01 23:38:31
【问题描述】:

我想从 Powershell 设置现有 Azure 函数的应用设置。我有以下脚本

$FunctionSettings = @{     
    "WEBSITE_CONTENTAZUREFILECONNECTIONSTRING" = "*******";    
    "WEBSITE_CONTENTSHARE" = "TestFunction123";
    "AzureWebJobsStorage" = "*******";    
    "FUNCTIONS_EXTENSION_VERSION" = "~2";
    "FUNCTIONS_WORKER_RUNTIME" = "dotnet";       
    "WEBSITE_NODE_DEFAULT_VERSION" = "10.14.1";    
}

Set-AzureRmWebApp -ResourceGroupName "RGN" -AppSettings $FunctionSettings -Name "TestFunction"

运行此脚本会返回此错误

Set-AzureRmWebApp:操作返回了无效的状态码 '错误的请求' 在 C:\Users******\Source\Repos*******\Create Azure Infrastructure.ps1:101 char:1 + 设置-AzureRmWebApp -ResourceGroupName $AzureResourceGroupName -AppSett ... + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : CloseError: (:) [Set-AzureRmWebApp], DefaultErrorResponseException + FullyQualifiedErrorId : Microsoft.Azure.Commands.WebApps.Cmdlets.WebApps.SetAzureWebAppCmdlet

如果我从 $FunctionSettings 中删除 WEBSITE_CONTENTAZUREFILECONNECTIONSTRING 和 WEBSITE_CONTENTSHARE,那么脚本会成功运行,但我会在 Azure UI 中遇到错误,因为这些属性是必需的。

我该如何解决这个问题?

【问题讨论】:

  • 您的存储帐户是否支持 Blob、队列、表和文件存储? stackoverflow.com/questions/47637581/…
  • @MarieHoeger 谢谢,我已经检查过了,它确实支持这些。事实上,如果我通过 web 界面创建一个新功能并选择相同的存储帐户,它就可以工作。
  • 您的评论意味着您创建了一个新函数并且脚本工作正常?如果没有,您可以尝试使用 Az 命令Set-AzWebApp 吗?我用一个消费功能的app试了一下,效果很好。

标签: powershell azure-functions devops


【解决方案1】:

我知道 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 = "***"
    }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-09-18
    • 2021-11-21
    • 1970-01-01
    • 2021-09-12
    • 2011-08-24
    • 2014-04-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多