如何列出Azure功能应用程序中的所有功能

时间:2017-07-14 18:16:03

标签: powershell azure azure-functions

我可以使用PowerShell cmdlet Get-AzureRMResource列出所有Azure资源。

是否有一个带有ResourceGroupNameSiteName的cmdlet,它会返回" Site"中的所有函数。

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

4 个答案:

答案 0 :(得分:3)

不是PowerShell cmdlet,但您可以按照here所述使用ListFunctions API

答案 1 :(得分:3)

正如Fabio Cavalcante所说,Azure PowerShell不支持此功能,您可以使用Rest 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
$Headers=@{
    '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

答案 2 :(得分:3)

使用$YdelseMenu = NULL; function VisYdelser($element){ if(empty($element[0])) { // No path elements means home $page2 = 'ydelser'; } else switch(array_shift($element)) { case 'traefaeldning': $page2 = 'traefaeldning'; break; case 'beskaering': $page2 = 'beskaering'; break; default: header('HTTP/1.1 404 Not Found'); $page2 = '404'; } return $page2; } // https://stackoverflow.com/questions/16388959/url-rewriting-with-php $path = ltrim($_SERVER['REQUEST_URI'], '/'); // Trim leading slash(es) $elements = explode('/', $path); // Split path on slashes if(empty($elements[0])) { // No path elements means home $YdelseMenu = true; $page = 'home'; } else switch(array_shift($elements)) // Pop off first item and switch { case 'ydelser': $YdelseMenu = true; $page = VisYdelser($elements); // passes rest of parameters to internal function break; case 'kontakt2': $page = 'kontakt'; break; default: header('HTTP/1.1 404 Not Found'); $page = '404'; } cmdlet可以实现这一点。

Get-AzureRmResource

答案 3 :(得分:0)

2021 年,您可以使用 func

func azure functionapp list-functions FUNCTION_NAME

azure-functions-core-tools@3 提供