Compartilhar via


Enviar eventos do Gerenciamento de API para a Grade de Eventos

APLICA-SE A: todas as camadas do Gerenciamento de API

O Gerenciamento de API integra-se com a Grade de Eventos do Azure para que você possa enviar notificações de eventos para outros serviços e disparar processos de downstream. A Grade de Eventos é um serviço de roteamento de eventos totalmente gerenciado que usa um modelo de publicação/assinatura. Grade de eventos tem suporte interno para os serviços do Azure como Azure Functions e Aplicativos Lógicos do Azuree pode fornecer alertas de eventos para os serviços do Azure usando webhooks.

Por exemplo, usando a integração com a Grade de Eventos, você pode criar um aplicativo que atualiza um banco de dados, criar uma conta de cobrança e enviar uma notificação por email sempre que um usuário for adicionado à sua instância de Gerenciamento de API.

Neste artigo, você assina eventos da Grade de Eventos em sua instância de Gerenciamento de API, dispara eventos e envia os eventos para um ponto de extremidade que processa os dados. Para simplificar, você envia eventos para um exemplo de aplicativo Web que coleta e exibe as mensagens:

Eventos de Gerenciamento de API no visualizador da Grade de Eventos

Pré-requisitos

Criar um ponto de extremidade de evento

Nesta seção, você usa um modelo do Resource Manager para implantar um exemplo de aplicativo Web pré-criado no Serviço de Aplicativo do Azure. Posteriormente, você assina os eventos da Grade de Eventos do Gerenciamento de API e especifica esse aplicativo como o ponto de extremidade para o qual os eventos são enviados.

Para implantar o exemplo de aplicativo, você pode usar a CLI do Azure, o Azure PowerShell ou o portal do Azure. O exemplo a seguir usa o comando az deployment group create na CLI do Azure.

  • Defina RESOURCE_GROUP_NAME como o nome de um grupo de recursos existente

  • Defina SITE_NAME como um nome exclusivo para o seu aplicativo Web

    O nome do site deve ser exclusivo no Azure porque faz parte do FQDN (nome de domínio totalmente qualificado) do aplicativo Web. Em uma seção posterior, você navega para o FQDN do aplicativo em um navegador da Web para exibir os eventos.

RESOURCE_GROUP_NAME=<your-resource-group-name>
SITE_NAME=<your-site-name>

az deployment group create \
    --resource-group $RESOURCE_GROUP_NAME \
    --template-uri "https://raw.githubusercontent.com/Azure-Samples/azure-event-grid-viewer/master/azuredeploy.json" \
    --parameters siteName=$SITE_NAME hostingPlanName=$SITE_NAME-plan

Depois que a implantação for realizada com êxito (isso pode demorar alguns minutos), abra um navegador e navegue até o aplicativo da Web para verificar se está em execução:

https://<your-site-name>.azurewebsites.net

Você deve ver o aplicativo de exemplo renderizado sem nenhuma mensagem de evento exibida.

Registrar o provedor de recursos da Grade de Eventos

A menos que você tenha usado a Grade de Eventos antes, precisará registrar o provedor de recursos da Grade de Eventos. Se você tiver usado a Grade de Eventos antes, pule para a próxima seção.

No portal do Azure, siga as etapas abaixo:

  1. No menu à esquerda, selecione Assinaturas.

  2. Selecione a assinatura que você deseja usar para a Grade de Eventos na lista de assinaturas.

  3. Na página Assinatura, selecione Provedores de recursos na seção Configurações no menu à esquerda.

  4. Pesquise por Microsoft.EventGrid e confirme que o Status é Não registrado.

  5. Selecione Microsoft.EventGrid na lista de provedores.

  6. Selecione Registrar na barra de comandos.

    Imagem que mostra o registro do provedor Microsoft.EventGrid com a assinatura do Azure.

  7. Atualize para verificar se o status do Microsoft.EventGrid foi alterado para Registrado.

    Imagem que mostra o registro bem-sucedido do provedor Microsoft.EventGrid com a assinatura do Azure.

Assinar eventos do Gerenciamento de API

Na Grade de Eventos, você assina um tópico para informar quais eventos quer acompanhar e para onde enviá-los. Aqui, você cria uma assinatura para eventos em sua instância do Gerenciamento de API.

  1. No portal do Azure, navegue até a instância do Gerenciamento de API.

  2. Selecione Eventos > + Assinatura de Evento.

  3. Na guia Básico:

    • Insira um Nome descritivo para a assinatura de evento.
    • Em Tipos de eventos, selecione um ou mais tipos de eventos de Gerenciamento de API para enviar à Grade de Eventos. Para o exemplo neste artigo, selecione pelo menos Microsoft.APIManagement.ProductCreated
    • Em Detalhes do Ponto de Extremidade, selecione o tipo de evento Web Hook, clique em Selecionar um ponto de extremidade e insira a URL do seu aplicativo Web seguida por api/updates. Exemplo: https://myapp.azurewebsites.net/api/updates.
    • Selecione Confirmar seleção.
  4. Deixe as configurações nas guias restantes com seus valores padrão e, em seguida, selecione Criar.

    Criar uma assinatura de evento no portal do Azure

Disparar e exibir eventos

Agora que o aplicativo de exemplo está em execução, e você assinou a instância do Gerenciamento de API com a Grade de Eventos, você está pronto para gerar eventos.

Por exemplo, crie um produto em sua instância do Gerenciamento de API. Se sua assinatura de evento incluir o evento Microsoft.APIManagement.ProductCreated, a criação do produto disparará um evento que é enviado por push para o ponto de extremidade do aplicativo Web.

Navegue até o aplicativo Web do Visualizador da Grade de Eventos, e você verá o evento ProductCreated. Selecione o botão ao lado do evento para mostrar os detalhes.

Evento criado pelo produto no Visualizador do Grade de Eventos

Esquema de eventos da Grade de Eventos

Os dados de evento do Gerenciamento de API incluem o resourceUri, que identifica o recurso de Gerenciamento de API que disparou o evento. Para obter detalhes sobre o esquema de mensagem de evento do Gerenciamento de API, confira a documentação da Grade de Eventos:

Esquema de eventos da Grade de Eventos do Azure para o Gerenciamento de API

Próximas etapas