Я знаю о многопроцессорном модуле Python, но меня беспокоит то, что даже если я запущу эту логику и заработаю, в лучшем случае я смогу отправлять десятки тысяч событий в час, и Lambda истечет еще до того, как я буду близок к отправке полного набора данных. Я надеюсь, что кто-нибудь уже сталкивался с этой проблемой и может предложить мне несколько вариантов для рассмотрения. Спасибо!
Код:
Код: Выделить всё
splunk_conf = {}
for r in range(0,9000000,10000):
offset = str(r)
r = requests.get(f'{base_url}/?limit=10000&offset={offset}', headers = headers).json()
for x in r['data']:
splunk_payload = x
splunk(splunk_payload, splunk_conf)
def splunk(splunk_payload, splunk_conf):
splunk = SplunkSender(**splunk_conf)
payloads = [splunk_payload]
splunk_res = splunk.send_data(payloads)
Обновление
Мне удалось заставить это работать, взяв элементы из словаря и добавив их в список, чтобы передать его в качестве полезной нагрузки Splunk. Мой исходный код отправлял события по одному из-за моего непонимания того, как правильно передавать данные.
Код: Выделить всё
splunk_token =
for r in range(0,10000000,10000):
offset = str(r)
splunk_payload = []
try:
r = requests.get(f'{base_url}limit=10000&offset={offset}', headers = headers).json()
for event in r['data']:
splunk_payload.append(event)
splunk(splunk_payload, splunk_token)
except Exception as ex:
print("No more results from API!")
exit()
def splunk(splunk_payload, splunk_token):
splunk_conf = { }
splunk = SplunkSender(**splunk_conf)
splunk_res = splunk.send_data(splunk_payload)
logging.info(splunk_res)Подробнее здесь: https://stackoverflow.com/questions/768 ... of-data-of
Мобильная версия