Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Um gerenciador de eventos é o destino onde o Grade de Eventos do Azure envia um evento para processamento. O Azure configura automaticamente vários serviços para lidar com eventos, e o Azure Functions é um deles.
Quando você usa uma função como um gerenciador de eventos, executa código personalizado em resposta a cada evento sem provisionar ou gerenciar servidores. Por exemplo, a Grade de Eventos pode usar uma função como camada anticorrupção que transforma ou valida eventos antes de encaminhá-los para sistemas posteriores.
Este artigo descreve as duas formas de usar uma função como um gerenciador de eventos e explica qual abordagem usar.
Para usar uma função no Azure como um manipulador para eventos, siga uma destas abordagens:
- Use um gatilho do Event Grid. Especifique a Função do Azure como o tipo de ponto de extremidade. Depois, especifique o aplicativo de função e a função que gerencia eventos.
- Use um gatilho HTTP. Especifique o Web hook como o tipo de ponto de extremidade. Depois, especifique a URL da função que gerencia eventos.
Use a primeira abordagem (gatilho do Event Grid). Ele possui as seguintes vantagens em relação à segunda abordagem:
- O Event Grid valida automaticamente os gatilhos do Event Grid. Com os gatilhos HTTP genéricos, você deve implementar a resposta de validação.
- A Grade de Eventos ajusta automaticamente a taxa com que entrega eventos para uma função que um evento da Grade de Eventos aciona, com base na taxa percebida com que a função pode processar eventos. Esse recurso de compatibilização de taxa evita erros de entrega que decorrem da incapacidade de uma função de processar eventos, pois a taxa com que a função processa eventos pode variar ao longo do tempo. Para melhorar a eficiência em cenários de alta taxa de transferência, habilite o processamento em lote na assinatura do evento. Para obter mais informações, confira Habilitar armazenamento em lote.
Observação
- Quando você usa um gatilho da Grade de Eventos para adicionar uma assinatura de evento usando uma função do Azure, a Grade de Eventos obtém a chave de acesso da função alvo usando as credenciais do principal do serviço da Grade de Eventos. O Event Grid recebe as permissões quando você registra o provedor de recursos do Event Grid na sua assinatura do Azure.
- Se você protege sua função Azure com um aplicativo Microsoft Entra ID, deve adotar a abordagem genérica do webhook usando o gatilho HTTP. Use o endpoint da função do Azure como URL de webhook ao adicionar a subscrição.
Tutoriais
| Título | Descrição |
|---|---|
| Início rápido: Processar eventos com uma função | Envia um evento personalizado para uma função para processamento. |
| Tutorial: transmitir Big Data para um data warehouse | Quando um hub de eventos cria um arquivo de Captura, a Grade de Eventos envia um evento para um aplicativo de função. O aplicativo recupera o arquivo de Captura e migra dados para um data warehouse. |
| Tutorial: Exemplos de integração do Barramento de Serviço do Azure com o Grade de Eventos do Azure | O Event Grid envia mensagens de um tópico do Barramento de Serviço para um aplicativo de função e um aplicativo lógico. |
Exemplo de API REST
O exemplo a seguir mostra o corpo da solicitação para uma operação PUT que cria uma assinatura de evento com uma função do Azure como handler de eventos. Ele define o ID de recurso da função alvo e permite o batching.
{
"properties":
{
"destination":
{
"endpointType": "AzureFunction",
"properties":
{
"resourceId": "/subscriptions/<AZURE SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP NAME>/providers/Microsoft.Web/sites/<FUNCTION APP NAME>/functions/<FUNCTION NAME>",
"maxEventsPerBatch": 10,
"preferredBatchSizeInKilobytes": 64
}
},
"eventDeliverySchema": "EventGridSchema"
}
}
Habilitar o envio em lote
Para maior rendimento, ative o batching na assinatura. Se você usar o portal do Azure, pode definir o máximo de eventos por lote e o tamanho preferido do lote em kilobytes ao criar uma assinatura ou depois.
Configure as configurações em lote usando o portal do Azure, PowerShell, CLI ou um template do Resource Manager.
portal do Azure
Ao criar uma assinatura no portal, na página de Criar Assinatura de Evento , mude para a aba Funcionalidades Avançadas e defina valores para Máximo de eventos por lote e tamanho de lote Preferencial em kilobytes.
Atualize esses valores para uma assinatura existente na aba Features da página de Tópicos da Grade de Eventos .
Modelo do Azure Resource Manager
Definir maxEventsPerBatch e preferredBatchSizeInKilobytes em um modelo do Azure Resource Manager. Para obter mais informações, confira Referência de modelo de eventSubscriptions da Microsoft.EventGrid.
CLI do Azure
Use o az eventgrid event-subscription create comando para configurar configurações relacionadas a lotes usando os seguintes parâmetros: --max-events-per-batch ou --preferred-batch-size-in-kilobytes.
Azure PowerShell
Use o comando New-AzEventGridSubscription ou Update-AzEventGridSubscription para configurar configurações relacionadas a lotes. Use o -MaxEventsPerBatch parâmetro ou -PreferredBatchSizeInKiloBytes para definir suas preferências.
Conteúdo relacionado
Para uma lista de manipuladores de eventos suportados, veja o artigo Gerenciadores de eventos .