Я возился с 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}]}
Получено из набора месячных данных по производству молока .
Что-то не так с моими данными, которые мне не хватает, чтобы заставить их вернуть эту ошибку?