0

我正在尝试自动将自定义域添加到 Azure 应用程序。

这是我想做的事情:

  • customDomain使用查询参数触发对 Function App 的 HTTP 调用。
  • 获取此查询参数并运行 Azure Powershell 脚本以将自定义域添加到 Azure 应用程序。

这是我在函数 App 中设置的内容:

运行.ps1

param($req, $TriggerMetadata)

$customDomain = $req.Query.customDomain

Set-AzWebApp `
    -Name some-app `
    -ResourceGroupName SouthEastAsia ` 
    -HostNames @($customDomain,"some-app.azurewebsites.net")

Push-OutputBinding -Name res -Value ([HttpResponseContext]@{
    StatusCode = [System.Net.HttpStatusCode]::OK
    Body = "Added Custom Domain: $customDomain"
})

函数.json

{
    "bindings": [
      {
        "authLevel": "anonymous",
        "type": "httpTrigger",
        "direction": "in",
        "name": "req",
        "methods": [
          "get",
          "post"
        ]
      },
      {
        "type": "http",
        "direction": "out",
        "name": "res"
      }
    ],
    "scriptFile": "./run.ps1"
}

但是当我触发 HTTP Get 请求时,这给了我 404 NotFound 错误:

https://function.domain/api/AddCustomDomain?customDomain=test
4

1 回答 1

0

将数组传递给参数是否有特定的原因-Hostnames?您似乎正在尝试指定默认的 Azure 主机名,但它不是必需的。

尝试Set-AzWebApp -Name some-app -ResourceGroupName SouthEastAsia -HostNames "$customDomain"

如果您确实需要多个自定义域,请尝试var用引号括起来Set-AzWebApp -Name some-app -ResourceGroupName SouthEastAsia -HostNames @("$customDomain1","$customDomain2","$customDomain3")

于 2019-09-06T09:04:49.547 回答