Alarm Management Open API-Entwicklerleitfaden
Verwenden Sie die offene Alarm Management API, um Daten in der Tabelle „Ereignisse“ [em_event] zu erstellen und zu aktualisieren.
Dieser Entwicklerleitfaden enthält Informationen zum Erweitern von Alarm Management Open API, um verschiedene Anpassungen vorzunehmen.
Erweitern der offenen API von Alarm Management
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 von 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 Events zurück.
- getClearEventSchema: Gibt das Validierungsschema für das Löschen eines Event-Alarms zurück.
- getPatchEventSchema: Gibt das Validierungsschema für das Patchen eines Events 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
überprüfenCreateEventPayload()– Wird vonprocessCreateEvent()aufgerufen.identifyClearEventPayload()– Wird vonprocessClearEvent() aufgerufen.überprüfenPatchEventPayload() – Wird von processPatchEvent()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 offene API von Alarm Management. Die Logik der neuen geskripteten REST-Ressourcen sollte mit den vorhandenen Vorgängen übereinstimmen. 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 zu Event -[]- Datensatzfeldernzu. Beim Abrufen von Datensätzen ordnet die API Datensatzfelder Antwortobjektattributen zu.
mapCreateAlarmObjectToEvent()mapClearAlarmObjectToEvent()mapPatchAlarmObjectToEvent()
modifyCreateEventResponse()modifyClearEventResponse()modifyPatchEventResponse()
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'
});