代码之家  ›  专栏  ›  技术社区  ›  Colin Mackay

从Azure PowerShell获取“主要静态网站终结点”

  •  0
  • Colin Mackay  · 技术社区  · 6 年前

    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 回复  |  直到 6 年前
        1
  •  3
  •   KrishnaG    6 年前

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

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

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

    希望这有帮助!干杯!!

        2
  •  1
  •   Colin Mackay    6 年前

    我找到了一种解决办法。感觉不太理想。我希望有一种更简洁、更不脆弱的方法来获取这些信息,但是下面的内容让我了解了我在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 可能可以进行监视,但如果希望获取端点的名称,则不太好,因此脚本的下一部分可以使用该名称继续执行它正在执行的操作。