Erstellen Sie einen Prozessor mit mehreren Tabellen, der die Anzahl der Zeilen in einer beliebigen Tabelle in Ihrer Instanz meldet. Diese Funktion ist veraltet.
Warum und wann dieser Vorgang ausgeführt wird
Hinweis: Diese Funktion ist veraltet. Während ältere benutzerdefinierte Prozessoren weiterhin unterstützt werden, ist die Erstellung neuer benutzerdefinierter 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 .
Die Liste der Prozessoren wird angezeigt.
-
Klicken Sie auf 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);
}
}
-
Klicken Sie auf Speichern.
-
Testen Sie den neuen Prozessor, indem Sie die folgenden URLs eingeben:
https://<Instanzname>.service-now.com/accident.do?SIZE
https://<Instanzname>.service-now.com/sys_user.do?SIZE
Ihre Instanz meldet die Anzahl der Berichte in der Tabelle. Beispiel: table incident has 82 records.