Get-AzureRmLogicAppRunHistory时间跨度问题

时间:2019-03-18 11:08:06

标签: azure powershell azure-logic-apps

我试图获取在指定时间段内运行失败的逻辑应用程序的列表。我尝试了许多方法,例如调用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;

1 个答案:

答案 0 :(得分:0)

Get-AzureRmLogicAppRunHistory本质上与第二种方法调用相同的rest api,但是通过设计,您无法传递任何参数来限制结果中的项目数,因此您最多将获得默认值30个项目。

要像第二种方式一样通过powershell调用api,您需要指定$top参数,它设计要包含在结果中的项数,请参见此link$top的{​​{1}}中有PageSizeLimit,因此,您可以使用250。如果您的商品超过$top=250,则需要在第一个api调用响应的nextLink中再次调用该api。

应该像250

enter image description here

因此,简而言之,如果您的商品超过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