我试图获取在指定时间段内运行失败的逻辑应用程序的列表。我尝试了许多方法,例如调用azure管理API和cmdlet Get-AzureRmLogicAppRunHistory。这些似乎都返回有限的结果集。
任何有关如何在14小时内成功运行失败的建议将不胜感激
到目前为止我尝试过的事情:
Get-AzureRmLogicAppRunHistory -ResourceGroupName "$ResourceGrpName" -Name "$LogicappName" | Where-Object {$_.StartTime -gt $Hour})
$filter = "status eq 'Failed' and startTime ge $queryStartTime"
$requestUrl ='https://management.azure.com/subscriptions/' + `
$((Get-AzureRmContext).Subscription.Id) + '/resourceGroups/' + `
$resGroup + '/providers/' + $LOGIC_APP_PROVIDER + '/' + $($logicApp.Name) + '/runs?api-version=2017-07-01&$top=1&$filter=' + $filter;
答案 0 :(得分:0)
Get-AzureRmLogicAppRunHistory
本质上与第二种方法调用相同的rest api,但是通过设计,您无法传递任何参数来限制结果中的项目数,因此您最多将获得默认值30
个项目。
要像第二种方式一样通过powershell调用api,您需要指定$top
参数,它设计要包含在结果中的项数,请参见此link。 $top
的{{1}}中有PageSizeLimit
,因此,您可以使用250
。如果您的商品超过$top=250
,则需要在第一个api调用响应的nextLink
中再次调用该api。
应该像250
因此,简而言之,如果您的商品超过https://management.azure.com/subscriptions/{subscription id}/resourceGroups/{resource group}/providers/Microsoft.Logic/workflows/joylogicapp/runs?api-version=2016-06-01&%24top=250&%24skiptoken=eyJxxxxx%3d
,则您在14小时的时间内无法获取所有商品,最多只能在一页上获取 250个商品 ,如果要获取所有物品,请致电250
。