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, assinatura de anúncio, regra de evento, conector ou notificação contextual (regra de alarme ou 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 diagnóstico e solução de problemas 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.
    1. Na página da lista Tópicos, selecione o tópico com o qual deseja trabalhar. Se precisar de ajuda para encontrar a página da lista ou o tópico, consulte Listando Tópicos.
    2. Na página de detalhes do tópico, selecione Criar Assinatura.
    3. No painel Criar Assinatura, para Protocolo, selecione Função.
    4. Selecione o compartimento e o aplicativo que contêm a função desejada e, em seguida, selecione a função.
    5. 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 que seu tópico pai, você pode movê-la para outro compartimento após a criação. Consulte Movendo uma Assinatura.