POST документ в индекс Elasticsearch с использованием запросов?Python

Программы на Python
Anonymous
POST документ в индекс Elasticsearch с использованием запросов?

Сообщение Anonymous »

У меня с этим возникли трудности: все следующие возвращают 405, и я понятия не имею, почему:

Код: Выделить всё

    data = {
"xxx" : "status",
"value" : "incomplete"
}
headers = {'Content-type': 'application/json'}
response = requests.post(f'http://localhost:9200/my_index', data=json.dumps(data))
response = requests.post(f'http://localhost:9200/my_index', data=json.dumps(data), headers=headers)
response = requests.post(f'http://localhost:9200/my_index', json=data)
response = requests.post(f'http://localhost:9200/my_index', json=data, headers=headers)
Обратите внимание: я также попробовал вместо этого использовать «http://localhost:9200/my_index/[b]_doc[/b]»: все они получают 406.
ES определенно работает, я могу использовать Postman и Curl в CLI.

Код: Выделить всё

requests.put
с указанными выше попытками (оканчивающимися на ".../_doc/1") получает либо 406, либо 401, за исключением одного из вышеперечисленных:

Код: Выделить всё

response = requests.put(f'http://localhost:9200/my_index/_doc/2', data=json.dumps(data), headers=headers)
... который работает (201 или 200 в зависимости от того, существует ли индекс).
ОС — Linux Mint 20. ES — 7.16. 3.

Подробнее здесь: https://stackoverflow.com/questions/709 ... g-requests

Вернуться в «Python»