Building for the Splunk Platform

Know CSV file size before download

brunoabreu
Loves-to-Learn Lots

Using the Splunk Python SDK, is there any way to know the size of the CSV file that will be generated after streaming and writing all the results?

I've managed to achieve this with the approach below, but it makes me to download and iterate the CSV lines two times.

splunk_job = service.jobs.create(query, **kwargs)

# waits job to be done

splunk_job_result_args = {
    "output_mode": "csv"
}

splunk_job_results = splunk_job.results(**splunk_job_result_args)
results_length = 0
for bytes_csv_line in splunk_job_results:
    results_length += len(bytes_csv_line)
splunk_job_results.close()

# checks if the results_length exceeds the limit
# if not, executes the following:

splunk_job_results = splunk_job.results(**splunk_job_result_args)
for bytes_csv_line in splunk_job_results:
    # writes the bytes in a file
splunk_job_results.close()

 

Labels (2)
Tags (5)
0 Karma
Get Updates on the Splunk Community!

Security Highlights: September 2022 Newsletter

 September 2022 The Splunk App for Fraud Analytics (SFA) is now Splunk SupportedUse your existing Splunk ...

Platform Highlights | September 2022 Newsletter

 September 2022 What’s New in 9.0 and How to UpgradeGet a walk through of what is new Splunk Enterprise 9.0 ...

Observability Highlights | September 2022 Newsletter

 September 2022 Splunk Observability SuiteAccess to "Classic" SignalFx Interface Will be Removed on Sept 30, ...