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.