0

作为 Microsoft 认知服务实验室的一部分,我一直在搞乱异常检测 API 。但是,当我尝试发布数据以获取响应时,它总是返回为

400: TypeError('string indices must be integers'

认为这是我提供的数据格式的问题,我用他们作为样本的内容仔细检查了它:

{
  "Period": 7,
  "Points": [
    {
      "Timestamp": "2018-03-01T00:00:00Z",
      "Value": 32858923
    },
    {
      "Timestamp": "2018-03-02T00:00:00Z",
      "Value": 29615278
    },
    {
      "Timestamp": "2018-03-03T00:00:00Z",
      "Value": 22839355
    },
  ]
}

这是我发送给它的一些返回错误的数据:

{  
  "Period": 1,
  "Points":[  
    {  
      "Timestamp": "1962-01-01T00:00:00Z",
      "Value": 589
    },
    {  
      "Timestamp": "1962-02-01T00:00:00Z",
      "Value": 561
    },
    {  
      "Timestamp": "1962-03-01T00:00:00Z",
      "Value": 640
    }
  ]
}

使用 Python 调用带有requests包的 API:

request = json.dumps(output)
config = json.load(open("config.json"))
url = "https://api.labs.cognitive.microsoft.com/anomalyfinder/v1.0/anomalydetection"
headers = {"Ocp-Apim-Subscription-Key": config["apiKey"]}
response = requests.post(url, headers=headers, json=request)

output对象是一个字典,如下所示:

{'Period': 1,
 'Points': [{'Timestamp': '1962-01-01T00:00:00Z', 'Value': 589},
  {'Timestamp': '1962-02-01T00:00:00Z', 'Value': 561},
  {'Timestamp': '1962-03-01T00:00:00Z', 'Value': 640}]}

这是从每月的牛奶产量数据集得出的。

我丢失的数据是否有问题导致它返回该错误?

4

0 回答 0