Découvrir la configuration des notifications d'application

Avec un abonnement qui peut afficher le contenu envoyé, nous pouvons nous concentrer sur la création de l'application pour créer des notifications plutôt que sur l'utilisation des événements OCI.

Il existe de nombreuses façons de tester la génération des notifications client. Pour cette démonstration, vous pouvez exploiter un outil de simulation de journal open source, conçu initialement uniquement pour simuler des événements de journal, mais répondant aux exigences de manière appropriée. L'autre option est d'utiliser ici une simple application Java / Groovy (celle-ci dérivée et simplifiée du premier). Le développement de code a été implémenté avec Groovy, car il permet une exécution et une modification rapides et faciles. Toutefois, le code est compatible avec Java. Par conséquent, si vous préférez, un processus de construction Java peut être établi ou le code modifié pour utiliser la fonctionnalité Java Shebang. Pour le reste de cet article, nous allons supposer l'utilisation de Groovy.

Configurer la configuration requise

Certaines applications tierces doivent être installées et configurées.

Java doit être installé (version 8 ou ultérieure) avec Groovy (version 3 ou ultérieure). Le kit SDK Java OCI doit être téléchargé et copié dans le même dossier que le script Groovy. Lors de la configuration de Java et Groovy, assurez-vous qu'ils sont visibles dans la variable d'environnement PATH.

Lorsque tout est téléchargé, nous devons compléter certaines informations de configuration pour nous connecter à OCI et envoyer des messages au sujet Notifications approprié. Le premier élément consiste à créer un fichier de configuration que le kit SDK peut utiliser pour se connecter et s'authentifier avec OCI (pour plus de simplicité, nous vous recommandons de le placer dans le même répertoire qui sera utilisé pour exécuter le script Groovy sous le nom oci.properties). Par conséquent, vous devriez avoir un aspect similaire à celui-ci :

[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

Lors de la configuration du fichier de clés, n'oubliez pas de vous assurer que les privilèges du fichier sont corrects ; sinon, le fichier sera rejeté car il n'est pas sécurisé pendant le processus de connexion.

La configuration suivante concerne notre application client. Elle sait donc avec quel sujet communiquer. Pour ce faire, créez les variables d'environnement suivantes (utilisez la commande set pour Windows et la commande export pour Linux) :

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

L'OCID de sujet fourni est l'OCID du sujet que nous avons créé précédemment. OCICONFIGFILE est transmis au kit SDK dans le cadre du processus d'initialisation. Groovy et Java ont besoin de CLASSPATH pour trouver le dossier de bibliothèque du kit SDK. Nous fournissons à nouveau REGION car les régions de configuration de l'authentification et du sujet peuvent varier.

Exécuter le client

Avec tout ce qui est configuré maintenant, nous pouvons exécuter notre client de test.

Utilisez la commande suivante :

groovy CustomOCINotificationsOutputter.groovy

Des notifications doivent maintenant être envoyées à partir de notre client vers le sujet Notifications, qui enverra les messages sur notre canal Slack.

À propos de notre client

Notre code client a été commenté, mais voyons rapidement comment cela fonctionne.

Le code Groovy contient une seule classe avec une méthode principale qui initialise une instance de la classe OCINotificationsOutputter, puis initialise l'instance d'objet. Cette initialisation crée un objet client SDK pour l'envoi de notifications à OCI.

Une fois la connectivité de base lue, la méthode principale entre dans une boucle sans fin d'envoi d'une chaîne de texte à l'objet Notifications. Ceci est ajouté à un lot de sorties. Etant donné que cette sortie est câblée à 1 en dur, elle construit immédiatement un message à l'aide des méthodes d'usine statiques du kit SDK et appelle, via le kit SDK, l'API OCI appropriée. Nous dormons ensuite pendant cinq secondes. Le client SDK et la création de l'objet Notifications OCI utilisent fortement le modèle de conception Builder.