连接 Azure Function 应用程序到 VNet

3
如何使用ARM模板部署与VNet相关联的函数应用?
目前,我的ARM模板可以成功部署基于AppServicePlan的函数应用,并在“站点”资源的“属性”部分设置“vnetName”…但是,在部署后,函数应用仍然显示为“未配置”任何VNet。我可以进入门户并在几次点击后添加到所需的VNet…但为什么不能通过ARM模板工作呢?请问有人可以提供一个样例ARM模板来完成此操作吗?
2个回答

1
经过进一步审查,仅通过ARM不可能实现此目标。以下是将Web应用程序连接到VNet的说明:https://learn.microsoft.com/en-gb/azure/app-service-web/app-service-vnet-integration-powershell

旧回答:这里有另一篇帖子试图通过Web应用程序实现相同的功能(Functions是建立在Web应用程序上的):https://dev59.com/xZrga4cB1Zd3GeqPpJYs#39518349

New Answer: 这是另一篇帖子,试图通过Web应用程序实现相同的功能(Functions是基于Web应用程序构建的):https://dev59.com/xZrga4cB1Zd3GeqPpJYs#39518349


如果我要根据PowerShell命令猜测的话,可以尝试向网站添加一个名为web的类型为config的子资源,类似于GitHub部署的ARM模板: https://github.com/MicrosoftDocs/azure-docs/blob/master/articles/app-service-web/app-service-web-arm-from-github-provision.md#web-app。但是,在幕后可能会有一些魔法发生。
{
  "name": "[parameters('siteName')]",
  "type": "Microsoft.Web/sites"
  "location": ...,
  "apiVersion": ...,
  "properties": ...,
  "resources": [
    "name": "web",
    "type": "config",
    "apiVersion": "2015-08-01",
    "dependsOn": [
      "[resourceId('Microsoft.Web/Sites', parameters('siteName'))]"
    ],
    "properties": {
      "vnetName": "[parameters('vnetName')]"
    },
  ]
}

那么 ARM 是不可能的吗? - Jeff
通过 PowerShell 更新资源似乎“有效”,但在这样做之后,任何 VNET 上的应用程序仍然显示为“未配置”。 - Jeff

0

除了创建VPN包之外,我可以使用ARM完成所有操作 - 这是使应用程序正确连接到VNET的区别。

这篇文章中的所有内容(https://learn.microsoft.com/en-gb/azure/app-service-web/app-service-vnet-integration-powershell)都可以很容易地从PowerShell转换为ARM,除了Get-AzureRmVpnClientPackage

假设您正在使用传统的VNET,则可以通过ARM获取VPN客户端包URL,因为传统的VNET资源提供程序支持该操作(https://learn.microsoft.com/en-us/azure/active-directory/role-based-access-control-resource-provider-operations):

Microsoft.ClassicNetwork/virtualNetworks/gateways/listPackage/action

ARM VNET提供程序似乎无法


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接