Información sobre la configuración de notificaciones de aplicación
Con una suscripción que puede mostrar el contenido enviado, podemos centrarnos en crear la aplicación para crear notificaciones en lugar de utilizar solo eventos de OCI.
Existen muchas formas de probar la generación de notificaciones de cliente. Para esta demostración, puede aprovechar una herramienta de simulador de logs de código abierto, creada inicialmente solo para simular eventos de log, pero que cumple los requisitos correctamente. La otra opción es utilizar aquí una aplicación simple de Java / Groovy (la última derivada y simplificada de la primera). El desarrollo de código se ha implantado con Groovy, ya que facilita su ejecución y modificación. Sin embargo, el código es compatible con Java, por lo que si lo prefiere, se puede establecer un proceso de creación de Java o se puede modificar el código para utilizar la función de vaina de Java. Para el resto de este artículo, asumiremos el uso de Groovy.
Configuración de la configuración necesaria
Es necesario instalar y configurar algunas aplicaciones de terceros.
Java se debe instalar (versión 8 o posterior) junto con Groovy (versión 3 o posterior). El SDK de Java de OCI se debe descargar y copiar en la misma carpeta que el script Groovy. Al configurar Java y Groovy, asegúrese de que se pueden ver en la variable de entorno PATH.
Con todo lo descargado, necesitamos completar cierta información de configuración para conectarse a OCI y enviar mensajes al tema de notificaciones correcto. La primera parte es crear un archivo de configuración que el SDK puede utilizar para conectarse y autenticarse con OCI (para simplificarlo, recomendamos colocarlo en el mismo directorio que se utilizará para ejecutar el script Groovy con el nombre oci.properties). Como resultado, debe tener algo parecido a esto:
[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.pemAl configurar el archivo de claves, recuerde asegurarse de que los privilegios del archivo sean correctos; de lo contrario, el archivo se rechazará como demasiado inseguro durante el proceso de conexión.
La siguiente parte de la configuración es para nuestra aplicación cliente, por lo que sabe con qué tema comunicarse. Para ello, cree las siguientes variables de entorno (utilice el comando set para Windows y el comando export para Linux):
TOPICOCID=ocid1.onstopic.oc1.iad.oooooooooopppppppppppppqqqqqqqqqqrrrrrrrrssss
OCICONFIGFILE=oci.properties
REGION=us-ashburn-1
CLASSPATH=./lib/*El OCID de tema proporcionado es el OCID del tema que hemos creado anteriormente. OCICONFIGFILE se transfiere al SDK como parte del proceso de inicialización. Groovy y Java necesitan CLASSPATH para encontrar la carpeta lib de SDK. Proporcionamos REGION de nuevo porque las regiones de autenticación y configuración de temas podrían ser diferentes.
Ejecutar el cliente
Con todo lo configurado ahora podemos ejecutar nuestro cliente de prueba.
Use el siguiente comando:
groovy CustomOCINotificationsOutputter.groovyAhora deberíamos ver las notificaciones que se envían desde nuestro cliente al tema Notificaciones, que enviará los mensajes a nuestro canal de Slack.
Acerca de Nuestro Cliente
Nuestro código de cliente ha sido comentado, pero vamos a ejecutar rápidamente cómo funciona.
El código Groovy contiene una sola clase con un método principal que inicializa una instancia de la clase OCINotificationsOutputter y, a continuación, inicializa la instancia del objeto. Esta inicialización crea un objeto de cliente SDK para enviar notificaciones a OCI.
Una vez que se ha leído la conectividad básica, el método main entra en un bucle infinito de envío de una cadena de texto al objeto Notifications. Esto se agrega a un lote de salidas. Dado que hemos conectado esta salida a 1 de tamaño, construirá inmediatamente un mensaje mediante los métodos de fábrica estática de SDK y llamará, a través del SDK, a la API de OCI relevante. Luego dormimos durante cinco segundos. Tanto el cliente de SDK como la creación del objeto de notificaciones de OCI hacen un uso intensivo del patrón de diseño de Builder.