Criando uma Assinatura de Função
Crie uma assinatura de função no serviço Notifications.
Use uma assinatura de função para chamar e executar uma função quando ocorrer uma condição de acionamento.
Quando a condição de acionamento configurada ocorre, um alarme, uma assinatura de anúncio, uma regra de evento, um conector ou uma notificação contextual (alarme ou regra de evento) envia (publica) uma mensagem para o tópico configurado, e o Notifications entrega essa mensagem a assinaturas ativas no tópico. Ao receber a mensagem, a função é chamada e executada. Para obter um exemplo de cenário, consulte Cenário A: Redimensionando VMs Automaticamente.
O serviço Notifications não tem informações sobre uma função após sua chamada. Para obter detalhes, consulte as informações de solução do problema em Função Não Chamada ou Executada.
Antes de Começar
Você deve ter a permissão FN_INVOCATION na função para poder adicionar a função como uma inscrição em um tópico. Consulte Adicionar uma Assinatura de Função em Protegendo Notificações.
Estas etapas mostram como abrir o painel Criar assinatura na página de detalhes do tópico ao qual você deseja adicionar a assinatura. Você também pode abrir esse painel na página da lista Assinaturas, especificando o tópico no painel: Selecione Criar assinatura e, em seguida, selecione um Tópico de assinatura. - Na página de lista Tópicos, selecione o tópico com o qual deseja trabalhar. Se precisar de ajuda para localizar a página da lista ou o tópico, consulte Listando Tópicos.
- Na página de detalhes do tópico, selecione Assinaturas.
- Selecione Criar assinatura.
- No painel Criar assinatura, para Protocolo, selecione Função.
- Selecione o compartimento e o aplicativo que contêm a função desejada e, em seguida, selecione a função.
- Selecione Criar.
O serviço Notifications cria a assinatura da função. A confirmação não é necessária para inscrições de função.
Use o comando oci ons subscription create e os parâmetros necessários para criar uma inscrição de função:
oci ons subscription create --protocol "ORACLE_FUNCTIONS" --subscription-endpoint <function_OCID> [...]Para obter uma lista completa de parâmetros e valores para comandos da CLI, consulte a Referência de Linha de Comando para Notificações.
Execute a operação CreateSubscription para criar uma assinatura de função.
Por exemplo:
POST /20181201/subscriptions Host: notification.us-phoenix-1.oraclecloud.com <authorization and other headers> { "topicId": "<topic_OCID>", "compartmentId": "<compartment_OCID>", "protocol": "ORACLE_FUNCTIONS", "endpoint": "<function_OCID>" }
O que vem a seguir
Embora uma nova assinatura deva estar no mesmo compartimento do tópico pai, você pode movê-la para outro compartimento após a criação. Consulte Movendo uma Assinatura para Outro Compartimento.