Erstellen Sie einen Prozessor mit mehreren Tabellen, der die Anzahl der Zeilen in einer beliebigen Tabelle in Ihrer Instanz meldet. Diese Funktion ist veraltet.
Vorbereitungen
Erforderliche Rolle: Administrator
Warum und wann dieser Vorgang ausgeführt wird
Hinweis: Diese Funktion ist veraltet. Obwohl Legacy-Prozessoren weiterhin unterstützt werden, werden vorhandene anwenderdefinierte Prozessoren weiterhin unterstützt, ist das Erstellen neuer anwenderdefinierter Prozessoren veraltet. Verwenden Sie stattdessen
Scripted REST APIs
Der Prozessor mit mehreren Tabellen schützt sich vor Leistungseinbußen und Sicherheitsverletzungen, indem er überprüft, ob der Benutzer zum Lesen der Tabelle berechtigt ist. Er erstellt keine Berichte über bestimmte Tabellen, die zu groß sind, um eine sichere Abfrage durchzuführen.
Prozedur
-
Navigieren zu an.
Die Liste der Prozessoren wird angezeigt.
-
Wählen Sie Aus Neu .
-
Geben Sie die folgenden Informationen ein.
| Name |
TableSize |
| Typ |
Wählen Sie JavaScript aus. |
| Beschreibung |
Gibt die Anzahl der Datensätze in einer Tabelle zurück |
| Parameter |
SIZE |
| Pfad |
<leer lassen> |
Skript:
g_response.setContentType('text/html;charset=UTF-8');
if(g_target === 'sys_email' || g_target === 'sys_log' )
{
g_processor.writeOutput(g_target + ' table is too large to quickly count');
} else {
var count = new GlideAggregate(g_target);
if( count.canRead() ) {
count.addAggregate('COUNT');
count.query();
var records = 0;
if (count.next()) {
records = count.getAggregate('COUNT');
}
g_processor.writeOutput('table ' + g_target + ' has ' + records + ' records');
} else {
g_processor.writeOutput('You do not have access to table ' + g_target);
}
}
-
Wählen Sie Speichern.
-
Testen Sie den neuen Prozessor, indem Sie die folgenden URLs eingeben:
https://<instancename>.service-now.com/incident.do?SIZE Und https://<instancename>.service-now.com/sys_user.do?SIZE
Ihre Instanz meldet die Anzahl der Berichte in der Tabelle. Beispiel: table incident has 82 records.