Cool, danke. Ich probiere das mal aus.
Ich wollte mich nochmal melden. Mit Bulk-Request ist die Abfrage nun auf akzeptable 3,6 Sekunden geschrumpft. Super und vielen Dank nochmal fürs Stubsen in die richtige Richtung.
Cool, danke. Ich probiere das mal aus.
Ich wollte mich nochmal melden. Mit Bulk-Request ist die Abfrage nun auf akzeptable 3,6 Sekunden geschrumpft. Super und vielen Dank nochmal fürs Stubsen in die richtige Richtung.
Derzeit hole ich erst die Liste aller Layer-3 und hole dann für jeden einzelnen mit C__CATS__NET die Details. Und das dauert…
Bei mir dauert die Routine bei der ich den Namen kenne 1,5 Sekunden (der komplette Code macht natürlich mehr, nicht nur das Layer-3-Objekt öffnen).
Wenn ich nur den CIDR-Block kenne und darum über alle Layer-3 laufen muss, um den passenden zu finden, dauert es 102 Sekunden.
"Bulk request" sagt mir in diesem Zusammenhang nichts. Hast Du evtl. ein Code-Beispiel wie man den aufsetzt?
Ich muss leider mitteilen, dass eine Schleife über alle Layer-3 und dann jeweils eine Abfrage auf den CIDR-Block zwar funktioniert, aber inaktzeptabel langsam ist.
Bei derzeit ca. 150 Layern läuft die Task fast 2 Minuten (sicher auch von äußeren Parametern wie Netzwerkgeschwindigkeit abhängig).
Hat vielleicht noch jemand eine Idee wie man die im Suchfeld des Online-Clients vorhandene Abfrage auf "Net with suffix" hier umsetzen kann?
Ja, die Lösung mittels Loop über alle Layer-3 zu machen hatte ich auch schon gedacht. Allerdings fand ich das recht umständlich.
Die Client-Suche bietet das ja über das Suchfeld und "Net with suffix". Nur über die API geht es wohl nicht direkt.
Ich mache das dann über den Loop aller Layer-3-Objekte.
Danke für Deine Unterstützung.
Und gleich noch eine Anfängerfrage (sorry), bei der ich über Tante G. nichts fand:
Mit "idoit.constants" kann man eine Liste der definierten Konstanten abfragen. Aber leider ist dort nicht zu sehen, welcher Wert sich tatsächlichen dahinter verbirgt.
Wenn man im i-doit-Online-Client einzelne Informationen abruft, wird die benötigte Konstante ja in der URL angezeigt, z.B. ~&viewMode=1100&tvMode=1006&catsID=77. Hier entspricht der Wert 77 der Konstanten C__CATS__NET_IP_ADDRESSES.
Z.Z. versuche ich aufgrund der Konstantenbezeichnung den Wert zu erraten, aber das ist ziemlich umständlich. Kann man irgendwo diese Zuordnung sehen? Im Code ist es auf jeden Fall wesentlich lesbarer, wenn man "catsID" : "C__CATS__NET_IP_ADDRESSES" schreibt als "catsID" : "77".
Hallo Christian,
danke für Deine schnelle Antwort. Das hatte ich schon versucht und auch die Doku kenne ich.
Leider liefert die Anfrage nichts zurück, es sei denn ich verwende den Suchbegriff "11.22.60.128 / 25" auch in der Bezeichnung. Es ist vielleicht sinnvoll die IP-Liste auch in der Bezeichnung anzugeben, aber nicht zwingend erforderlich. Auch kann im Titel ja ein Tippfehler vorhanden sein, oder die Schreibweise leicht variieren (z.B. "11.22.60.128/25" oder "11 . 22 . 60 . 128 /25". Der Fantasie des Erfassers sind ja bekanntermaßen keine Grenzen gesetzt ;)), so dass die Suche wieder nichts findet.
Darum will ich ja nach einem tatsächlichen Attribut suchen.
Dies ist meine Abfrage:
{
"method" : "idoit.search",
"params" : {
"q" : "11.22.60.128 / 25",
"apikey" : "123456789"
},
"version" : "2.0",
"id" : 42
}
Dies ist das Ergebnis:
{
"jsonrpc": "2.0",
"result": [],
"id": 42
}
Hallo!
Vielleicht eine einfache Frage, aber ich komme im Moment nicht weiter. Aber wozu gibt es hier so viele Gurus.
Ich möchte aus meiner Datenbank über API alle Objekte erhalten, die ein bestimmtes Attribut aufweisen. Ganz konkret suche ich im Moment alle Layer-3-Netze (objTypeID=31) mit einer bestimmten Netzadresse. Über die Client-Suche geht das mit der Abfrage Netz mit Suffix="11.22.60.128 / 25".
Ich habe es mit dem API-Call idoit.search versucht, aber ich finde keine Query-Doku, die das ermöglicht. Alles was mir bislang gelang ist, hinter q Abfragen auf den Titel oder Kategorien zu machen, aber nicht auf bestimmte relevante Attribute.
Im Prinzip müsste es irgendwie heißen (die anderen Felder für 'method', 'version' usw. lasse ich hier weg):
"objTypeID" : "31",
"address_with_suffix" : "11.22.60.128 / 25",