Entwicklerhandbuch für Alarm Management Open API
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 .
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
- 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.
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
VerifyCreateEventPayload(): Wird vonprocessCreateEvent()aufgerufen.VerifyClearEventPayload(): Wird vonprocessClearEvent()aufgerufen.VerifyPatchEventPayload (): Wird vonprocessPatchEvent ()aufgerufen.
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.
mapCreateAlarmObjectToEvent()abbildenKlareAlarmObjektZuEreignis()zuordnenPatchAlarmObjectToEvent()
ändernErstellenEreignisAntwort()ändernKlarEreignisAntwort ()ändernPatchEreignisAntwort ()
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'
});