Informazioni sulla configurazione delle notifiche delle applicazioni

Grazie a una sottoscrizione in grado di visualizzare il contenuto inviato, possiamo concentrarci sulla creazione dell'applicazione per creare notifiche anziché utilizzare solo gli eventi OCI.

Esistono molti modi per eseguire il test della generazione delle notifiche client. Per questa demo è possibile sfruttare uno strumento di simulazione di registro open source, inizialmente progettato solo per simulare gli eventi di log ma soddisfa i requisiti in modo ottimale. L'altra opzione è quella di utilizzare una semplice applicazione Java / Groovy qui (la seconda è derivata e semplificata dalla precedente). Lo sviluppo del codice è stato implementato con Groovy, in quanto rende facile e veloce eseguire e modificare. Tuttavia, il codice è conforme a Java, pertanto, se lo si preferisce, è possibile stabilire un processo di creazione Java o il codice modificato per utilizzare la funzione Java shebang. Per il resto di questo articolo, assumeremo l'uso di Groovy.

Configurare l'impostazione richiesta

Alcune applicazioni di terze parti devono essere installate e configurate.

Java deve essere installato (versione 8 o successiva) insieme a Groovy (versione 3 o successiva). L'SDK Java OCI deve essere scaricato e copiato nella stessa cartella dello script Groovy. Quando si imposta Java e Groovy, assicurarsi che possano essere visualizzati nella variabile di ambiente PATH.

Con tutto ciò che viene scaricato, dobbiamo completare alcune informazioni sulla configurazione per connettersi a OCI e inviare messaggi al topic delle notifiche corretto. Il primo passo è creare un file di configurazione che l'SDK può utilizzare per connettersi e autenticarsi con OCI (per semplicità, si consiglia di inserirlo nella stessa directory che verrà utilizzata per eseguire lo script Groovy con il nome oci.properties). Di conseguenza, dovresti avere qualcosa come questo:

[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

Durante l'impostazione del file delle chiavi, accertarsi che i privilegi del file siano corretti; in caso contrario, il file verrà rifiutato in quanto non sicuro durante il processo di connessione.

Il prossimo pezzo di configurazione è per la nostra applicazione client, quindi sa con quale argomento comunicare. Per eseguire questa operazione, creare le seguenti variabili di ambiente (utilizzare il comando set per Windows e il comando export per Linux):

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

L'OCID topic fornito è l'OCID per l'argomento creato in precedenza. OCICONFIGFILE viene passato all'SDK come parte del processo di inizializzazione. CLASSPATH è richiesto da Groovy e Java per trovare la cartella lib SDK. Forniamo di nuovo REGION perché le aree di configurazione dell'autenticazione e del topic potrebbero essere diverse.

Esecuzione del client

Con tutto ciò che è configurato ora possiamo eseguire il nostro client di test.

Utilizzare il comando:

groovy CustomOCINotificationsOutputter.groovy

Ora dovremmo vedere le notifiche inviate dal nostro client all'argomento relativo alle notifiche, che invierà i messaggi al nostro canale Slack.

Informazioni sul nostro cliente

Il nostro codice cliente è stato commentato, ma eseguiamo rapidamente il funzionamento.

Il codice Groovy contiene una singola classe con un metodo principale che inizializza un'istanza della classe OCINotificationsOutputter e quindi inizializza l'istanza dell'oggetto. Questa inizializzazione crea un oggetto client SDK per l'invio di notifiche a OCI.

Una volta preparata la connettività di base, il metodo principale passa quindi a un loop infinito di invio di una stringa di testo all'oggetto Notifiche. Viene aggiunto a un batch di output. Poiché abbiamo messo a dura prova questo output per una dimensione pari a 1, verrà immediatamente creato un messaggio utilizzando i metodi di produzione statici dell'SDK e richiamato, tramite l'SDK, all'API OCI pertinente. Poi dormiamo per cinque secondi. Sia il client SDK che la creazione dell'oggetto Notifiche OCI utilizzano in modo intensivo il pattern di progettazione del Builder.