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:
Pré-requisitos
Use o ambiente Bash no Azure Cloud Shell. Para obter mais informações, confira Início Rápido para Bash no Azure Cloud Shell.
Se preferir executar os comandos de referência da CLI localmente, instale a CLI do Azure. Para execuções no Windows ou no macOS, considere executar a CLI do Azure em um contêiner do Docker. Para obter mais informações, confira Como executar a CLI do Azure em um contêiner do Docker.
Se estiver usando uma instalação local, entre com a CLI do Azure usando o comando az login. Para concluir o processo de autenticação, siga as etapas exibidas no terminal. Para ver outras opções de entrada, confira Conectar-se com a CLI do Azure.
Quando solicitado, instale a extensão da CLI do Azure no primeiro uso. Para obter mais informações sobre extensões, confira Usar extensões com a CLI do Azure.
Execute az version para localizar a versão e as bibliotecas dependentes que estão instaladas. Para fazer a atualização para a versão mais recente, execute az upgrade.
- Se você ainda não tem uma instância do serviço de Gerenciamento de API, conclua o seguinte guia de início rápido: Criar uma instância de Gerenciamento de API do Azure
- Habilite uma identidade gerenciada atribuída pelo sistema na instância do Gerenciamento de API.
- Crie um grupo de recursos se você não tiver um no qual implantar o exemplo de ponto de extremidade.
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 existenteDefina
SITE_NAME
como um nome exclusivo para o seu aplicativo WebO 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:
No menu à esquerda, selecione Assinaturas.
Selecione a assinatura que você deseja usar para a Grade de Eventos na lista de assinaturas.
Na página Assinatura, selecione Provedores de recursos na seção Configurações no menu à esquerda.
Pesquise por Microsoft.EventGrid e confirme que o Status é Não registrado.
Selecione Microsoft.EventGrid na lista de provedores.
Selecione Registrar na barra de comandos.
Atualize para verificar se o status do Microsoft.EventGrid foi alterado para Registrado.
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.
No portal do Azure, navegue até a instância do Gerenciamento de API.
Selecione Eventos > + Assinatura de Evento.
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.
Deixe as configurações nas guias restantes com seus valores padrão e, em seguida, selecione Criar.
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.
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
- Saiba mais sobre como se inscrever em eventos.