从 Azure PowerShell 获取 "PRIMARY STATIC WEBSITE ENDPOINT"

Get the "PRIMARY STATIC WEBSITE ENDPOINT" from Azure PowerShell

Azure Portal 中,我可以查找存储帐户并转到 Settings/Properties 部分并查看包含 PRIMARY STATIC WEBSITE ENDPOINT 的属性列表。或者,我可以在标记为 Primary endpoint

的 Settings/Static 网站部分看到相同的信息

如何使用 Azure PowerShell "Az" module 获得它?

或者,如果我可以从某处找到区域信息,我可以 piece together the URL。例如从这个模板 https://<ACCOUNT_NAME>.<ZONE_NAME>.web.core.windows.net/<FILE_NAME>

或者是否有其他方法可以从 PowerShell 脚本中轻松获取我需要的信息?

我找到了一种解决方案。感觉不太理想。我希望有一种更简洁、更不脆弱的方法来获取这些信息,但下面的方法让我得到了我在 PowerShell 中寻找的东西,在某种程度上。

我不得不安装一个额外的 PowerShell 模块,我认为它已经安装好了,但是...

Install-Module Az.ResourceGraph

然后我可以像这样使用 Search-AzGraph 函数:

(Search-AzGraph -Subscription <SubscriptionGuidHere> `
    -Query "where type == 'microsoft.storage/storage
accounts' | where name == '<StorageAccountName>' | limit 1")`
    .aliases `
    .'Microsoft.Storage/storageAccounts/primaryEndpoints.web'

我不知道这是否是最好的查询语法,因为我设法从我刚刚找到的各种文档以及一些蛮力和无知中拼凑了它。

以上内容也有点脆弱 - 我怀疑某处正在进行缓存,或者此函数从中获取信息的地方根本没有获取最新信息。如果您在创建存储帐户后 运行 这太快了,您什么也得不到,但请等待几秒钟,它会 returns 信息。我不得不等待上面带回结果的最长时间大约是 30 秒。

如果有人有更好的解决方案,我很想走那条路,因为 Search-AzGraph 可能适合监控,但当你想获得终点名称时就不好了所以脚本的下一部分可以使用它来继续它正在做的事情。

您可以通过以下命令或代码段使用 Az 模块获取主要静态网站端点详细信息。

(Get-AzStorageAccount -ResourceGroupName <RESOURCEGROUPNAME> -Name <STORAGEACCOUNTNAME>|select PrimaryEndpoints).PrimaryEndpoints.Web

为了说明,请看下面的截图。

希望对您有所帮助!!干杯!!