2017-07-14 203 views
3

我可以使用PowerShell cmdlet Get-AzureRMResource列出所有Azure资源。如何列出Azure功能应用程序中的所有功能

是否有一个需要ResourceGroupNameSiteName的cmdlet,它会返回该“Site”中的所有功能。

或者,我可以使用cmdlet的组合来获取这些详细信息。

+0

你尝试类似的信息(未测试)'GET-AzureRMResource -ResourceGroupName $ resourceGroupName -ResourceType Microsoft.Web /网站/ functions' – Hackerman

+0

呀,没有结果返回。 –

回答

2

至于法比奥Cavalcante的说,Azure的PowerShell不支持此功能,您可以使用REST API来获取它可以使用ListFunctions API。下面是一个如何使用PowerShell获取函数的示例。

#get token 
$TENANTID="<tenantid>" 
$APPID="<application id>" 
$PASSWORD="<app password>" 
$result=Invoke-RestMethod -Uri https://login.microsoftonline.com/$TENANTID/oauth2/token?api-version=1.0 -Method Post -Body @{"grant_type" = "client_credentials"; "resource" = "https://management.core.windows.net/"; "client_id" = "$APPID"; "client_secret" = "$PASSWORD" } 
$token=$result.access_token 

##set Header 
[email protected]{ 
    'authorization'="Bearer $token" 
    'host'="management.azure.com" 
} 

$functions = Invoke-RestMethod -Uri "https://management.azure.com/subscriptions/<subscriptions id>/resourceGroups/<group name>/providers/Microsoft.Web/sites/<function name>/functions?api-version=2015-08-01" -Headers $Headers -ContentType "application/json" -Method GET 

$functions.value 

enter image description here

+0

我会试试这个。法比奥给出的链接,我无法去工作,并试图用'scm'端点来使用它们。 这个“工作流程”可能会封装成PS函数吗? –

+0

Doug,你能否通过提供的链接澄清哪些不适合你? –

+0

我在适当的替换中使用Invoke-RestMethod提供的链接尝试了“uri”。我试过Get-AzureRmResource -ResourceId。我也尝试了Invoke-AzureRmResourceAction,解析出参数的URI。 –

3

不是PowerShell命令,但你所描述的here

0

这是可能的使用Get-AzureRmResource cmdlet的。

$Params = @{ 
    ResourceGroupName = $ResourceGroupName 
    ResourceType  = 'Microsoft.Web/sites/functions' 
    ResourceName  = $AppName 
    ApiVersion  = '2015-08-01' 
} 
Get-AzureRmResource @Params