如何在 arm 模板中获取网站的 url 以用于其他资源?

How do I get the url for a web site in an arm template for use in another resource?

我有一个资源组的 arm 模板,其中包括一个网站 ("type": "Microsoft.Web/sites")。我正在添加一个逻辑应用程序,每 15 分钟在网站上调用一次 url。是否可以拉取网站部署的url?我们没有直接设置 url,而是使用 "name": "[parameters('SiteName')]" 我认为是 <SiteName>.azurewebsites.net。我认为将 url 拉入我的逻辑应用程序应该很简单,但我没有找到办法。

是的,应该可以。我相信您提到的方法应该可行,但您也应该能够从资源本身中提取主机名。

您可以使用 ARM 模板 "reference" 函数来执行此操作并将其作为参数传递给您的逻辑应用程序: https://docs.microsoft.com/en-us/azure/azure-resource-manager/resource-group-template-functions-resource#reference

它看起来像在 Microsoft 的属性下。Web/sites returns 默认主机名以及主机名列表。

如前所述,使用 "reference" 函数...语法如下:

[reference(resourceId('Microsoft.Web/sites', parameters('SiteName')), '2018-02-01').defaultHostName]

...您在参数中指定应用服务的名称,指定用于创建应用服务的模板的架构,并使用 "defaultHostName" 属性应用服务。