Getting Data In

REST API Modular input - creating class in responsehandler.py

DavidCaputo
Path Finder

Hello,

I'm trying to get data in Splunk using REST API (data are in json format).
I understand I have to create my own class in responsehandler.py, but I don't know anything about python...

I tried a lot of things based on exemples but unsuccessfully...

Below a sample of my data...

{"infos":
    [
    {"component":
        {"measures":
        [
            {"metric":"ncloc","periods":[{"index":1,"value":"245"}],"value":"4082"},
            {"metric":"sqale_index","periods":[{"index":1,"value":"0"}],"value":"3564"},
            .....
            {"metric":"blocker_violations","periods":[{"index":1,"value":"0"}],"value":"0"}
        ]
        }
    }
    ]
}

Any help would be very appreciated !
Thanks,
David

0 Karma

ansif
Motivator

Try this:

class infosJSONArrayHandler:

            def __init__(self,**args):
                    pass

            def __call__(self, response_object,raw_response_output,response_type,req_args,endpoint):
                    if response_type == "json":
                            output = json.loads(raw_response_output)
                            for info in output["infos"]:
                                    print_xml_stream(json.dumps(info))
                    else:
                            print_xml_stream(raw_response_output)

NOTE: Python doesn't like inconsitently mixed tabs and spaces for indentation.

0 Karma

DavidCaputo
Path Finder

Thanks ansif,
I tried to use this class (I used only tabs for indentation) but it doesn't work eather...

I looked to the internal index and found this :
"08-27-2018 11:00:06.975 +0200 ERROR ExecProcessor - message from "python /data/splunk/etc/apps/rest_ta/bin/rest.py" HTTP Request error: 401 Client Error: Not Authorized"

I guess the python code you provide is correct but the problem is somewhere else...
David

0 Karma
Get Updates on the Splunk Community!

Your Guide to SPL2 at .conf24!

So, you’re headed to .conf24? You’re in for a good time. Las Vegas weather is just *chef’s kiss* beautiful in ...

Get ready to show some Splunk Certification swagger at .conf24!

Dive into the deep end of data by earning a Splunk Certification at .conf24. We're enticing you again this ...

Built-in Service Level Objectives Management to Bridge the Gap Between Service & ...

Now On-Demand Join us to learn more about how you can leverage Service Level Objectives (SLOs) and the new ...