Saiba Mais Sobre a Configuração de Notificações de Aplicativo
Com uma assinatura que pode exibir o conteúdo enviado, podemos focar na criação do aplicativo para criar notificações, em vez de usar apenas o OCI Events.
Há muitas maneiras de testar a geração de notificação do cliente. Para essa demonstração, você pode explorar uma ferramenta de simulador de log de código-fonte aberto, criada inicialmente apenas para simular eventos de log, mas atende aos requisitos adequadamente. A outra opção é usar um aplicativo Java / Groovy simples aqui (o último derivado e simplificado do primeiro). O desenvolvimento do código foi implementado com o Groovy, pois facilita e agiliza a execução e a modificação. No entanto, o código é compatível com Java, portanto, se você preferir, um processo de criação Java pode ser estabelecido ou o código modificado para utilizar o recurso Java shebang. Para o resto deste artigo, vamos assumir o uso de Groovy.
Configurar a Configuração Necessária
Alguns aplicativos de terceiros precisam ser instalados e configurados.
O Java precisa ser instalado (versão 8 ou mais recente) junto com o Groovy (versão 3 ou mais recente). O SDK Java do OCI precisa ser submetido a download e copiado na mesma pasta do script Groovy. Ao configurar Java e Groovy, certifique-se de que eles possam ser vistos na variável de ambiente PATH.
Com tudo o que foi baixado, precisamos preencher algumas informações de configuração para estabelecer conexão com o OCI e enviar mensagens para o tópico Notificações correto. A primeira parte é criar um arquivo de configuração que o SDK possa usar para estabelecer conexão e autenticação com o OCI (para simplificar, recomendamos colocá-lo no mesmo diretório que será usado para executar o script Groovy com o nome oci.properties
). Como resultado, você deve ter algo parecido com este:
[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
Ao configurar o arquivo de chaves, lembre-se de garantir que os privilégios de arquivo estejam corretos; caso contrário, o arquivo será rejeitado como muito inseguro durante o processo de conexão.
A próxima parte da configuração é para nosso aplicativo cliente; portanto, ele sabe com qual tópico se comunicar. Isso é feito criando as seguintes variáveis ambientais (use o comando set
for Windows e o comando export
for Linux):
TOPICOCID=ocid1.onstopic.oc1.iad.oooooooooopppppppppppppqqqqqqqqqqrrrrrrrrssss
OCICONFIGFILE=oci.properties
REGION=us-ashburn-1
CLASSPATH=./lib/*
O OCID do tópico fornecido é o OCID do tópico que criamos anteriormente. O OCICONFIGFILE
é passado para o SDK como parte do processo de inicialização. O CLASSPATH
é necessário por Groovy e Java para localizar a pasta da biblioteca SDK. Nós fornecemos o REGION
novamente porque as regiões de configuração de autenticação e tópico podem diferir.
Executar o Cliente
Com tudo configurado agora, podemos executar nosso cliente de teste.
Use o comando:
groovy CustomOCINotificationsOutputter.groovy
Agora, devemos ver as notificações que estão sendo enviadas do nosso cliente para o tópico Notificações, que enviará as mensagens para o nosso canal do Slack.
Sobre nosso cliente
Nosso código de cliente foi comentado, mas vamos percorrer rapidamente como ele funciona.
O código Groovy contém uma única classe com um método principal que inicializa uma instância da classe OCINotificationsOutputter
e, em seguida, inicializa a instância do objeto. Essa inicialização cria um objeto cliente SDK para enviar notificações ao OCI.
Depois que a conectividade básica é lida, o método principal entra em um loop infinito de envio de uma string de texto para o objeto Notifications. Isso é adicionado a um lote de saídas. Como hardwired essa saída para 1 tamanho, ela construirá imediatamente uma mensagem usando os métodos de fábrica estáticos do SDK e chamará, por meio do SDK, para a API do OCI relevante. Então dormimos por cinco segundos. O cliente SDK e a criação do objeto OCI Notifications fazem uso pesado do padrão de design do Builder.