使用$filter for Power BI Admin API构建REST API查询时出现问题

2024-05-08 09:13:00 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图通过过滤失败的数据集刷新的状态来访问Power BI Admin API,但是API过滤器查询不起作用

以下是文档:https://docs.microsoft.com/en-us/rest/api/power-bi/admin/getrefreshables

下面是我在Python中调用Get方法的部分代码,该方法失败了-

refreshables_url = "https://api.powerbi.com/v1.0/myorg/admin/capacities/refreshables?$filter=lastRefresh/status eq 'Failed'"
header = {'Content-Type':'application/json','Authorization': f'Bearer {access_token}'}
r = requests.get(url=refreshables_url, headers=header)

当我尝试筛选状态时抛出以下错误-

raise JSONDecodeError("Expecting value",s,err.value") from None json.decoder.JSONDecodeError: Expecting value line 1 column 1 (char 0)

然而,当我在下面尝试时,它可以很好地用于没有内部/嵌套元素的简单查询

refreshables_url = "https://api.powerbi.com/v1.0/myorg/admin/capacities/refreshables?$filter=averageDuration gt 1200"

refreshables_url = "https://api.powerbi.com/v1.0/myorg/admin/capacities/refreshables?$filter=refreshesPerDay eq 15"

然而,当我尝试过滤内部数组的状态时,它失败了。我一定是打错电话了,但不确定

我错过了什么

以下是反应的样子-

{
  "value": [
    {
      "id": "cfafbeb1-8037-4d0c-896e-a46fb27ff229",
      "name": "SalesMarketing",
      "kind": "Dataset",
      "startTime": "2017-06-13T09:25:43.153Z",
      "endTime": "2017-06-19T11:22:32.445Z",
      "refreshCount": 22,
      "refreshFailures": 0,
      "averageDuration": 289.3814,
      "medianDuration": 268.6245,
      "refreshesPerDay": 11,
      "lastRefresh": {
        "refreshType": "ViaApi",
        "startTime": "2017-06-13T09:25:43.153Z",
        "endTime": "2017-06-13T09:31:43.153Z",
        "status": "Completed",
        "requestId": "9399bb89-25d1-44f8-8576-136d7e9014b1"
      }
    }
  ]
}

这是我所期望的(它应该只是过滤状态为“失败”的条目,而不是上面的“完成”条目-

{
  "value": [
    {
      "id": "ewrffbeb1-6337-460c-326e-a46fb27hh234",
      "name": "SalesMarketing",
      "kind": "Dataset",
      "startTime": "2017-06-13T09:25:43.153Z",
      "endTime": "2017-06-19T11:22:32.445Z",
      "refreshCount": 2,
      "refreshFailures": 0,
      "averageDuration": 189.3814,
      "medianDuration": 168.6245,
      "refreshesPerDay": 1,
      "lastRefresh": {
        "refreshType": "ViaApi",
        "startTime": "2017-04-13T09:25:43.153Z",
        "endTime": "2017-10-13T09:31:43.153Z",
        "status": "Failed",
        "requestId": "43643bb89-25d1-77f8-8543-dsgfewre9034r3223"
      }
    }
  ]
}

Tags: httpscomapiurladminvalue状态filter