从Azure PowerShell获取“原始静态网站端点”

时间:2019-01-20 14:08:35

标签: azure azure-powershell

Azure Portal中,我可以查找一个存储帐户,然后转到“设置/属性”部分,并查看包含PRIMARY STATIC WEBSITE ENDPOINT的属性列表。另外,我可以在“设置/静态网站”部分中看到相同的信息,标记为Primary endpoint

如何使用Azure PowerShell "Az" module来实现?

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

或者还有其他方法可以从PowerShell脚本中轻松获取所需的信息吗?

2 个答案:

答案 0 :(得分:3)

您可以使用带有以下命令或代码段的Az模块来获取“主要静态网站端点”详细信息。

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

有关插图,请参见下面的屏幕截图。 enter image description here

希望这会有所帮助!!干杯!

答案 1 :(得分:1)

我找到了一种解决方案。感觉不理想。我希望有一种更简洁,更不脆弱的方式来获取此信息,但是下面的方式可以使我在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'

我不知道这是否是最好的查询语法,因为我设法从刚刚才发现的各种文档中将其拼凑在一起,并且有些蛮力和无知。

以上内容也有些脆弱-我怀疑某个地方正在进行缓存,或者也许该函数从那里获取其信息只是没有得到最新信息。如果在创建存储帐户后运行得太快,您将一无所获,但是请等待几秒钟,它会返回信息。我必须等待上面的内容才能返回结果的最长时间是大约30秒。

如果有人有更好的解决方案,我想走那条路,因为Search-AzGraph可能可以监视,但是当您想获取终点的名称时就不好了,所以下一个脚本的一部分可以使用它来继续其工作。