Ошибка при вызове API обнаружения аномалий - PullRequest
0 голосов
/ 25 июня 2018

Я возился с API обнаружения аномалий в рамках Microsoft Cognitive Services Labs. Однако, когда я пытаюсь POST-данные получить ответ, он всегда возвращается как

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 для вызова API с пакетом requests:

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}]}

Получено из набора месячных данных по производству молока .

Что-то не так с моими данными, которые мне не хватает, чтобы заставить их вернуть эту ошибку?

...