Предел 100 результатов от вызова Splunk API - PullRequest
0 голосов
/ 07 августа 2020

Я должен получить около 1000 результатов, но это возвращает только 100 из них в выходной файл.

g = requests.get(base_url + '/services/search/jobs/' + sid + '/results/',

headers = {'Authorization':('Splunk %s' %session_key)},data={'output_mode': 'json', 'count':'0'},  verify = False)

data = g.json()

names = [item['name'] for item in data['results']]

with open ('sOutput.csv', mode='w') as csv_file:
        csv_writer = csv.writer(csv_file,  delimiter='\n', quotechar='"', quoting=csv.QUOTE_MINIMAL)
        csv_writer.writerow(names)

1 Ответ

1 голос
/ 07 августа 2020

В HTTP spe c запросы GET не содержат тела запроса ( соответствующий поток переполнения стека ), который вы определяете с помощью параметра data requests.get() метод ( соответствующий Real Python сообщение в блоге , объясняющее это). Документация Splunk API также конкретно называет эти параметры «параметрами для [...] GET методов».

Используйте аргумент request.get() s params вместо правильной передачи эти параметры вместе с сервером:

g = requests.get(base_url + '/services/search/jobs/' + sid + '/results/',

headers = {'Authorization':('Splunk %s' %session_key)},params={'output_mode': 'json', 'count':'0'},  verify = False)

data = g.json()

names = [item['name'] for item in data['results']]

with open ('sOutput.csv', mode='w') as csv_file:
        csv_writer = csv.writer(csv_file,  delimiter='\n', quotechar='"', quoting=csv.QUOTE_MINIMAL)
        csv_writer.writerow(names)

Кроме того, вам может быть полезно ознакомиться с документацией Requests , в частности, с параметрами передачи в URL-адресах раздел.

...