Entwicklerhandbuch für Alarm Management Open API

  • Freigeben Version: Xanadu
  • Aktualisiert 1. August 2024
  • 3 Minuten Lesedauer
  • Verwenden Sie die Alarm Management Open API, um Daten in der Tabelle „Ereignisse“ [em_event] zu erstellen und zu aktualisieren.

    Dieser Entwicklerleitfaden enthält Informationen zum Erweitern von Offene API für Alarmmanagement, um verschiedene Anpassungen vorzunehmen.

    Erweiterung der Alarm Management Open API

    Die Alarm Management Open API kann durch Bearbeiten von Skripteinbindungen erweitert werden.

    Diese Skripteinbindungen sollten nur bearbeitet werden, wenn die Konsequenzen der Änderungenbekannt sind.
    • TMFAlarmAPIConstants: Enthält Konstanten und erforderliche Parameterinformationen.
    • TMFAlarmAPIUtil: Enthält Funktionen zur Verarbeitung von API-Anforderungen.
    • AlarmAPIProcessorOOB: Enthält Hilfsfunktionen, die Funktionen in TMFAlarmAPIUtilunterstützen.
    • AlarmAPIProcessor: Eine leere Skripteinbindungsdatei. Verwenden Sie diese Datei, um alle Funktionen zu definieren, die Sie in AlarmAPIProcessorOOBüberschreiben möchten.

    Erweitern Sie die offene Alarm-Management-API, um die folgenden Anpassungen vorzunehmen.

    Erforderliche Parameter

    Die Alarm Management- API verwendet JSON-Schemata, um die erforderlichen Parameterinformationen zu speichern. Diese JSON-Schemata sind in der Skripteinbindung TMFAlarmAPIConstants definiert. Diese Schemas werden verwendet,, um zu validieren, ob Anforderungsnutzlasten gültig sind. Diese Schemas werden nicht direkt in Skripteinbindungen referenziert und werden von den folgenden Methoden in der AlarmAPIProcessorOOB-Skripteinbindung zurückgegeben :
    • getCreateEventSchema: Gibt das Validierungsschema für die Erstellung eines Ereignisses zurück.
    • getClearEventSchema: Gibt das Validierungsschema für das Löschen eines Ereignisalarms zurück.
    • getPatchEventSchema: Gibt das Validierungsschema für das Patchen eines Ereignisses zurück.
    Um vorhandene Schemas zu überschreiben, definieren Sie neue Schemas in der Skripteinbindung AlarmAPIProcessor, und überschreiben Sie die Skripteinbindung AlarmAPIProcessorOOBMethoden.
    var AlarmAPIProcessor = Class.create();
    AlarmAPIProcessor.prototype = Object.extendsObject(AlarmAPIProcessorOOB, {
    	// Define overriding functions here
    	
    	// Define getCreateEventSchema here to override OOTB method in AlarmAPIProcessorOOB
    	getCreateEventSchema: function() {
    		return JSON.parse(AlarmAPIProcessor.CUSTOMIZED_SCHEMA);
    	},
        type: 'AlarmAPIProcessor'
    });
    
    // Define a new schema
    AlarmAPIProcessor.CUSTOMIZED_SCHEMA = "{\"title\":\"CreateAlarm\",\"type\":\"object\",
    \"properties\":{\"externalAlarmId\":{\"type\":\"string\"},\"alarmType\":{\"type\":\"string\"},
    \"perceivedSeverity\":{\"type\":\"string\"},\"probableCause\":{\"type\":\"string\"},
    \"alarmedObject\":{\"type\":\"object\",\"properties\":{\"id\":{\"type\":\"string\"},
    \"href\":{\"type\":\"string\"}},\"required\":[\"id\"]},\"sourceSystemId\":{\"type\":\"string\"}},
    \"required\":[\"externalAlarmId\",\"alarmType\",\"perceivedSeverity\",\"probableCause\",
    \"alarmedObject\",\"sourceSystemId\"]}";

    Validierung des Anforderungstexts

    Um eine zusätzliche Validierung des Anforderungstexts durchzuführen, überschreiben Sie die folgenden Funktionen in der AlarmAPIProcessorOOB-Skripteinbindung . Diese Funktionen werden von den angegebenen Funktionen in der Skripteinbindung TMFAlarmAPIUtil [] als bezeichnet.
    • VerifyCreateEventPayload() : Wird von processCreateEvent()aufgerufen.
    • VerifyClearEventPayload() : Wird von processClearEvent() aufgerufen.
    • VerifyPatchEventPayload () : Wird von processPatchEvent() aufgerufen.
    Alle diese Funktionen geben standardmäßig „ true “ zurück. Wenn eine Hilfsfunktion „ false “ zurückgibt, wird der API-Vorgang beendet.
    Um anwenderdefinierte Validierungen anzuwenden, überschreiben Sie die Hilfsfunktionen AlarmAPIProcessorOOB mit gleichnamigen Funktionsnamen und Parametern in AlarmAPIProcessor. Die neuen AlarmAPIProcessor-Funktionen werden von TMFAlarmAPIUtil aufgerufen, um die standardmäßigen AlarmAPIProcessorOOB-Hilfsfunktionen zu ersetzen.
    In diesem Beispiel überschreibt eine Funktion in einer anwenderdefinierten [] AlarmAPIProcessor -Skripteinbindung eine Standardfunktion in AlarmAPIProcessorOOB, um eine Validierung des Namensattributs durchzuführen.
    var AlarmAPIProcessor = Class.create();
    AlarmAPIProcessor.prototype = Object.extendsObject(AlarmAPIProcessorOOB, {
    	// Define overriding functions here
    	
        verifyCreateEventPayload: function(eventPayload, apiResponseProcessor){
            // Returning false terminates the POST request
            // Make sure to assign error message and reason
            if (eventPayload.type != "unique") {
                apiResponseProcessor.setMessage("Failed");
                apiResponseProcessor.setReason("No reason needed");
                return false;
            }
        },
    	
        type: 'AlarmAPIProcessor'
    });

    Zusätzliche REST-Vorgänge

    Um zusätzliche Vorgänge zu erstellen, die über die vorhandenen GET-, PATCH- und POST-Vorgänge hinausgehen, erstellen Sie zusätzliche geskriptete REST-Ressourcen für die Alarm Management Open API. Die Logik der neuen geskripteten REST-Ressourcen sollte konsistent mit den vorhandenen Vorgängen sein. Definieren Sie Funktionen für die neuen Vorgänge in TMFAlarmAPIUtil.

    Feldzuordnung

    Beim Erstellen oder Aktualisieren von Datensätzen ordnet die Alarm Management Open API Anforderungstextparameter den Datensatzfeldern des Ereignis -[]- Datensatzeszu. Beim Abrufen von Datensätzen ordnet die API Datensatzfelder Antwortobjektattributen zu.

    Die Skripteinbindung [ AlarmAPIProcessorOOB enthält die folgenden Funktionen zum Zuordnen eines PATCH- oder POST-Anforderungstexts zu einem Datensatz in der Ereignistabelle [em_event].
    • mapCreateAlarmObjectToEvent()
    • abbildenKlareAlarmObjektZuEreignis()
    • zuordnenPatchAlarmObjectToEvent()
    Außerdem enthält die folgenden Funktionen zum Zuordnen eines Ereignis-GlideRecord zu einem JSON-Antwortobjekt für GET-, PATCH- oder POST-Anforderungen.
    • ändernErstellenEreignisAntwort()
    • ändernKlarEreignisAntwort ()
    • ändernPatchEreignisAntwort ()
    Sie können Feldzuordnungen anpassen, um Daten für zusätzliche Felder der Tabelle „Ereignis“ [em_event] hinzuzufügen und abzurufen oder die Standardfeldzuordnungen zu ändern. Um mit Zuordnungen zu arbeiten, erstellen Sie Funktionen mit identischen Namen und Parametern in AlarmAPIProcessor, um AlarmAPIProcessorOOB- Zuordnungsfunktionen zu überschreiben. TMFAlarmAPIUtil verwendet diese AlarmAPIProcessor- Funktionen, um die standardmäßigen AlarmAPIProcessorOOB- Zuordnungsfunktionen zu ersetzen.
    Im folgenden Beispiel überschreiben zwei AlarmAPIProcessor- Funktionen die Standardfunktionen in AlarmAPIProcessorOOB , um die Feldzuordnung Typ fzu ändern und eine Zuordnung für das Feld Schweregrad hinzuzufügen.
    var AlarmAPIProcessor = Class.create();
    AlarmAPIProcessor.prototype = Object.extendsObject(AlarmAPIProcessorOOB, {
    	// Define overriding functions here
    	
        // Function name and parameters must be identical to the function it overrides
        mapCreateAlarmObjectToEvent: function(eventGr, eventObject){
            // Override default mapping for the severity field
            eventGr.severity = "High";
        },
    
        modifyCreateEventResponse: function(eventGr, eventObject){
            // Override default mapping for the type field
            eventGr.type = "Customized Event"; 
        },
    	
        type: 'AlarmAPIProcessor'
    });