Haftungsausschluss
Zunächst einmal ist dies eine meiner ersten Fragen auf SE, also entschuldige ich mich, wenn ich gegen geschriebene oder ungeschriebene Konventionen verstoße.
Einführung
Bei meiner Arbeit in einer Art Kundendienst-/Supportfunktion muss ich häufig die Protokolldateien einer unserer REST-Schnittstellen (JSON-Format) überprüfen.
Dieses Protokoll enthält die Anfragen an einen unserer Webservices. Die Daten sind für uns statistisch interessant, deshalb hat einer unserer Entwickler irgendwann ein Tool erstellt, das Daten aus dem Protokoll extrahiert und eine CSV-Datei zurückgibt, die zur Datenmanipulation verwendet werden kann.
Einer unserer anderen Kunden (auf einem anderen Server) verwendet den Webdienst jedoch etwas anders, was dazu führt, dass das Tool die Daten nicht verarbeiten kann. Das Problem ist, dass unsere Entwickler sehr beschäftigt sind und dies kein Problem mit hoher Priorität ist. Trotzdem scheint es mir, dass dies ziemlich einfach sein sollte, also möchte ich einen guten Eindruck machen und dies vielleicht selbst erstellen.
Beispiel
Beispieleingabe (JSON):
2017-01-31 05:42:43:587 -> 2017-01-31 05:42:43:587:1536:GET /v1/webservice_path.../ABC123 X-Api-Key:xyz
2017-01-31 05:42:43:587 <- 2017-01-31 05:42:43:587:1536:OK:{
"parameter 1": true,
"parameter 2": true
Beispielausgabe (CSV):
ID;Parameter 1;Parameter 2
ABC123;true;true
Ich habe technischeFlairaber absolut keine formale Schulung im Programmieren abgesehen von den grundlegendsten HTML-, Python- und Ruby-Kursen auf der CodeAcademy.
Frage
Dies ist eigentlich eine Frage aus zwei Teilen:
- Wie/wo lerne ich, ein solches Tool/Skript zu erstellen? Welche Sprache, welcher Kanal soll ich verwenden, um zu lernen usw.
- Ist es für mich überhaupt realistisch, zu versuchen, dies zu bauen? Und ist der Zeitaufwand, den ich damit verbringe, dies zu lernen, es wert?
Zusatzinformation
Ich möchte das Tool selbst erstellen und nicht eine Lösung kopieren, die einer von Ihnen in wenigen Minuten erstellen könnte. Ein Grund dafür ist, dass die Nutzung unseres Webdienstes von Kunde zu Kunde unterschiedlich ist. Ein anderer Kunde könnte ihn also folgendermaßen verwenden (worauf ich auch vorbereitet sein möchte):
2017-01-31 05:42:43:587 -> 2017-01-31 05:42:43:587:1536:GET /v1/webservice_path.../ ID_1:ABC123 ID2_:QWE456 X-Api-Key:xyz
2017-01-31 05:42:43:587 <- 2017-01-31 05:42:43:587:1536:OK:{
"parameter 1": true,
"parameter 2": true
"parameter 3": true
(bitte beachten Sie, dass die Anfrage nicht direkt nach / platziert wird, sondern im Feld „ID_1“ eingetragen wird und ein optionales zusätzliches Feld „ID_2“ ebenfalls Daten enthält)