За несколько лет Джеймс Эрвин провел отличную презентацию .conf о обработчиках REST: go, https://conf.splunk.com/files/2016/slides/extending-splunks-rest-api-for-fun-and-profit.pdf
Пример кода доступен по https://github.com/jrervin/splunk-rest-examples
Пример эха Джеймса довольно прост. Убедитесь, что вы также обратите внимание на дополнения, которые необходимы в web.conf
и restmap.conf
.
import os
import sys
if sys.platform == "win32":
import msvcrt
# Binary mode is required for persistent mode on Windows.
msvcrt.setmode(sys.stdin.fileno(), os.O_BINARY)
msvcrt.setmode(sys.stdout.fileno(), os.O_BINARY)
msvcrt.setmode(sys.stderr.fileno(), os.O_BINARY)
from splunk.persistconn.application import PersistentServerConnectionApplication
class EchoHandler(PersistentServerConnectionApplication):
def __init__(self, command_line, command_arg):
PersistentServerConnectionApplication.__init__(self)
def handle(self, in_string):
return {'payload': in_string, # Payload of the request.
'status': 200 # HTTP status code
}
Предложите вам просто получить копию своего приложения и развернуть его, подтвердить, что все работает, затем изменить если для вашего конкретного случая использования.