Я использую API упругого поиска для Python для запроса данных и построения графика в нашем собственном приложении.По какой-то причине данные Json (body / Param) не были опубликованы вместе с моим URL-адресом запроса.Я получаю пустой объект данных.Вот мой код и ответ.
#!/usr/bin/env python
import requests
from elasticsearch import Elasticsearch
import json
from ssl import create_default_context
cafile="my.perm.pac"
context = create_default_context()
url = "https://mydev-elk.dev1.com/elasticsearch/logstash-browse-access-logs-*/"
data=
{
"query": {
"bool": {
"must": [
{
"match_all": {}
},
{
"range": {
"log_timestamp": {
"gte": 1526916192084,
"lte": 1526917092084,
"format": "epoch_millis"
}
}
}
],
"must_not": []
}
},
"size": 0,
"_source": {
"excludes": []
},
"aggregations": {
"2": {
"date_histogram": {
"field": "log_timestamp",
"interval": "5s",
"time_zone": "America/Chicago",
"min_doc_count": 1
}
}
}
}
es = Elasticsearch(
[url],
http_auth=(user', 'pass'),
scheme="https",
port=443,
ssl_context=context,
)
res = es.search(index="/logstash-browse-access-logs-*", body=data)
print(res)
Когда я запускаю приведенный выше код, я получаю следующий ответ:
{'took': 507, 'timed_out': False, '_shards': {'total': 152, 'successful': 152, 'skipped': 0, 'failed': 0}, 'hits': {'total': 0, 'max_score': None, 'hits': []}}
Но когда я использую URL в браузере, я былв состоянии получить объекты Json.
https://mydev-elk.dev1.com/elasticsearch/logstash-browse-access-logs-*/_search?source={"query": {"bool": {"must": [{"match_all": {}},{"range": {"log_timestamp": {"gte": 1526916192084,"lte": 1526917092084,"format": "epoch_millis"}}}],"must_not": []}},"size": 0,"_source": {"excludes": []},"aggregations": {"2": { "date_histogram": { "field": "log_timestamp", "interval": "5s", "time_zone": "America/Chicago", "min_doc_count": 1 }}}}
Может кто-нибудь, пожалуйста, помогите, что я делаю неправильно.