Enviar eventos do Gerenciamento de API para a Grade de Eventos

APLICA-SE A: Todas as camadas de gerenciamento de API

O Gerenciamento de API integra-se à Grade de Eventos do Azure para que você possa enviar notificações de eventos para outros serviços e acionar processos downstream. A Grade de Eventos é um serviço de roteamento de eventos totalmente gerenciado que usa um modelo de publicação-assinatura. O Event Grid tem suporte incorporado para serviços do Azure, como as Funções do Azure e o Azure Logic Apps, e pode fornecer alertas de eventos para serviços que não pertencem ao Azure através de webhooks.

Por exemplo, usando a integração com a Grade de Eventos, você pode criar um aplicativo que atualiza um banco de dados, cria uma conta de cobrança e envia uma notificação por e-mail sempre que um usuário é 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, aciona eventos e envia os eventos para um ponto de extremidade que processa os dados. Para simplificar, envie eventos para um aplicativo Web de exemplo que coleta e exibe as mensagens:

Eventos de Gerenciamento de API no visualizador de Grade de Eventos

Pré-requisitos

  • Use o ambiente Bash no Azure Cloud Shell. Para obter mais informações, consulte Guia de início rápido para Bash no Azure Cloud Shell.

  • Se preferir executar comandos de referência da CLI localmente, instale a CLI do Azure. Se estiver a utilizar o Windows ou macOS, considere executar a CLI do Azure num contentor Docker. Para obter mais informações, consulte Como executar a CLI do Azure em um contêiner do Docker.

    • Se estiver a utilizar uma instalação local, inicie sessão no CLI do Azure ao utilizar o comando az login. Para concluir o processo de autenticação, siga os passos apresentados no seu terminal. Para outras opções de entrada, consulte Entrar com a CLI do Azure.

    • Quando solicitado, instale a extensão da CLI do Azure na primeira utilização. Para obter mais informações sobre as extensões, veja Utilizar extensões com o CLI do Azure.

    • Execute o comando az version para localizar a versão e as bibliotecas dependentes instaladas. Para atualizar para a versão mais recente, execute o comando az upgrade.

  • Se você ainda não tiver um serviço de Gerenciamento de API, conclua o seguinte início rápido: Criar uma instância de Gerenciamento de API do Azure
  • Habilite uma identidade gerenciada atribuída ao sistema em sua instância de Gerenciamento de API.
  • Crie um grupo de recursos se você não tiver um no qual implantar o ponto de extremidade de exemplo.

Criar um ponto de extremidade de evento

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

Para implantar o aplicativo de exemplo, 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.

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

  • Definir SITE_NAME um nome exclusivo para 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 até 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 bem-sucedida (pode levar alguns minutos), abra um navegador e navegue até seu aplicativo Web para verificar se ele está sendo executado:

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

Você deve ver o aplicativo de exemplo renderizado sem mensagens de evento exibidas.

Registrar o provedor de recursos da Grade de Eventos

A menos que você já tenha usado a Grade de Eventos antes, precisará registrar o provedor de recursos da Grade de Eventos. Se já utilizou a Grelha de Eventos antes, avance para a secção seguinte.

No portal do Azure, execute as seguintes etapas:

  1. No menu à esquerda, selecione Assinaturas.

  2. Selecione a subscrição que pretende utilizar para a Grelha de Eventos na lista de subscrições.

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

  4. Procure Microsoft.EventGrid e confirme se o Status não está registrado.

  5. Selecione Microsoft.EventGrid na lista de provedores.

  6. Selecione Registrar na barra de comandos.

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

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

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

Inscrever-se em eventos de Gerenciamento de API

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

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

  2. Selecione Eventos > + Subscrição de Eventos.

  3. Na guia Básico:

    • Insira um Nome descritivo para a assinatura do evento.
    • Em Tipos de Evento, selecione um ou mais tipos de evento 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 o URL do aplicativo Web seguido de api/updates. Exemplo: https://myapp.azurewebsites.net/api/updates.
    • Selecione Confirmar seleção.
  4. Deixe as configurações nas guias restantes em seus valores padrão e selecione Criar.

    Criar uma subscrição de evento no portal do Azure

Acionar e visualizar eventos

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

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

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

Evento criado pelo produto no visualizador da Grade de Eventos

Esquema de eventos do Event Grid

Os dados do 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, consulte a documentação da Grade de Eventos:

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

Próximos passos