如何为Usage Details REST API的PowerShell调用添加日期过滤条件?
代码修改方案
Usage Details API通过OData $filter查询参数实现日期筛选,筛选字段为properties/usageStart和properties/usageEnd,按以下规则修改代码即可:
- 构造日期筛选的OData表达式,时间格式需符合UTC ISO 8601标准(形如
2024-01-01T00:00:00Z) - 将筛选参数拼接至请求Uri中
- 同时需要修正原有代码的2个语法问题:Authorization头Bearer后缺失空格、Param哈希表字段间缺失逗号
修改后的完整示例代码如下:
# 替换为你实际需要筛选的UTC起止时间 $startDate = "2024-01-01T00:00:00Z" $endDate = "2024-01-31T23:59:59Z" # 构造OData筛选条件 $filter = "`$filter=properties/usageStart ge '$startDate' and properties/usageEnd le '$endDate'" # 拼接请求Uri,若原有$MyUri已包含查询参数,将下方?替换为&即可 $MyUri = "$MyUri?$filter" $Param=@{ Method = 'Get' Uri = $MyUri Headers = @{ Authorization = "Bearer $Token" } } $Request = Invoke-RestMethod @Param
注意事项
- 单请求的日期查询跨度不能超过35天,超出范围会返回报错
- 必须使用UTC时间构造筛选条件,使用本地时间会出现筛选结果匹配异常
- 若数据量较大需要分页,可通过返回结果中的
nextLink字段循环请求获取全量数据
内容的提问来源于stack exchange,提问作者user13696433
相关产品推荐
相关产品推荐

