Anwendungsbenachrichtigungen konfigurieren

Mit einem Abonnement, das den gesendeten Inhalt anzeigen kann, können wir uns darauf konzentrieren, die Anwendung zum Erstellen von Benachrichtigungen zu erstellen, anstatt nur OCI-Ereignisse zu verwenden.

Es gibt viele Möglichkeiten, die Generierung von Clientbenachrichtigungen zu testen. Für diese Demo können Sie ein Open-Source-Logsimulator-Tool nutzen, das zunächst nur für die Simulation von Logereignissen entwickelt wurde, die Anforderungen jedoch problemlos erfüllt. Die andere Möglichkeit besteht darin, hier eine einfache Java-/Groovy-Anwendung zu verwenden (die letztere wird von der ersteren abgeleitet und vereinfacht). Die Code-Entwicklung wurde mit Groovy implementiert, da sie schnell und einfach ausgeführt und geändert werden kann. Der Code ist jedoch Java-konform. Wenn Sie dies bevorzugen, kann ein Java-Build-Prozess eingerichtet oder der Code geändert werden, um das Java-Shebang-Feature zu verwenden. Für den Rest dieses Artikels nehmen wir die Verwendung von Groovy an.

Erforderliches Setup konfigurieren

Einige Drittanbieter-Apps müssen installiert und konfiguriert werden.

Java muss zusammen mit Groovy (Version 3 oder höher) installiert werden (Version 8 oder höher). Das OCI-Java-SDK muss heruntergeladen und in denselben Ordner wie das Groovy-Skript kopiert werden. Stellen Sie beim Einrichten von Java und Groovy sicher, dass sie in der PATH-Umgebungsvariablen angezeigt werden.

Da alles heruntergeladen wurde, müssen wir einige Konfigurationsinformationen angeben, um eine Verbindung zu OCI herzustellen und Nachrichten an das richtige Notifications-Thema zu senden. Das erste Element besteht darin, eine Konfigurationsdatei zu erstellen, mit der das SDK eine Verbindung zu OCI herstellen und sich mit OCI authentifizieren kann (der Einfachheit halber wird empfohlen, sie in dasselbe Verzeichnis zu stellen, mit dem das Groovy-Skript mit dem Namen oci.properties ausgeführt wird). Daher sollten Sie so etwas aussehen:

[DEFAULT]
user=ocid1.user.oc1..aaaaaaaajbbbbbbbbbccccccccccccdddddddddddddd
fingerprint=aa:bb:cc:dd:ee:11:22:33:44:55:66:77:1a:1b:1c:1d
tenancy=ocid1.tenancy.oc1..aaaaaaaajjjjjjkkkkkkkkklllllllmmmmmmmnnn
region=us-ashburn-1
key_file=~/mykey.pem

Achten Sie beim Einrichten der Schlüsseldatei darauf, dass die Dateiberechtigungen korrekt sind. Andernfalls wird die Datei während des Verbindungsprozesses als zu unsicher abgelehnt.

Die nächste Konfiguration ist für unsere Clientanwendung vorgesehen. Sie weiß also, mit welchem Thema kommuniziert werden soll. Dazu erstellen Sie die folgenden Umgebungsvariablen (verwenden Sie den Befehl set für Windows und den Befehl export für Linux):

TOPICOCID=ocid1.onstopic.oc1.iad.oooooooooopppppppppppppqqqqqqqqqqrrrrrrrrssss
OCICONFIGFILE=oci.properties
REGION=us-ashburn-1
CLASSPATH=./lib/*

Die angegebene Themen-OCID ist die OCID für das zuvor erstellte Thema. OCICONFIGFILE wird im Rahmen des Initialisierungsprozesses an das SDK übergeben. Groovy und Java benötigen CLASSPATH, um den SDK-Library-Ordner zu finden. Wir geben REGION erneut an, da sich die Konfigurationsregionen für Authentifizierung und Thema unterscheiden können.

Client ausführen

Mit allem, was jetzt konfiguriert ist, können wir unseren Testclient ausführen.

Verwenden Sie folgenden Befehl:

groovy CustomOCINotificationsOutputter.groovy

Nun sollten Benachrichtigungen von unserem Client an das Notifications-Thema gesendet werden, über das die Nachrichten an unseren Slack-Kanal gesendet werden.

Über unseren Kunden

Unser Kundencode wurde kommentiert, aber lassen Sie uns schnell durchlaufen, wie es funktioniert.

Der Groovy-Code enthält eine einzelne Klasse mit einer Hauptmethode, die eine Instanz der Klasse OCINotificationsOutputter initialisiert und dann die Objektinstanz initialisiert. Bei dieser Initialisierung wird ein SDK-Clientobjekt zum Senden von Benachrichtigungen an OCI erstellt.

Nachdem die grundlegende Konnektivität gelesen wurde, geht die Hauptmethode in eine Endlosschleife, in der eine Textzeichenfolge an das Notifications-Objekt gesendet wird. Wird einem Ausgabebatch hinzugefügt. Da wir diese Ausgabe auf 1 fest verdrahtet haben, erstellt sie sofort eine Nachricht mit den statischen SDK-Factory-Methoden und ruft über das SDK die relevante OCI-API auf. Dann schlafen wir fünf Sekunden. Sowohl der SDK-Client als auch die Erstellung des OCI Notifications-Objekts nutzen das Builder-Entwurfsmuster erheblich.