Usare una funzione come gestore dell'evento per gli eventi di Griglia di eventi
Un gestore eventi è il punto in cui viene inviato l'evento. Il gestore esegue un'azione per elaborare l'evento. Diversi servizi di Azure vengono configurati automaticamente per gestire eventi, uno dei quali è Funzioni di Azure.
Per usare una funzione in Azure come gestore per gli eventi, seguire uno di questi approcci:
- Usare trigger Griglia di eventi. Specificare Funzione di Azure come tipo di endpoint. Specificare quindi l'app per le funzioni e la funzione che gestirà gli eventi.
- Usare trigger HTTP. Specificare Web Hook come tipo di endpoint. Specificare quindi l'URL della funzione che gestirà gli eventi.
È consigliabile usare il primo approccio (trigger Griglia di eventi) perché presenta i seguenti vantaggi rispetto al secondo approccio:
- Griglia di eventi convalida automaticamente i trigger di Griglia di eventi. Con i trigger HTTP generici è necessario implementare autonomamente la risposta di convalida.
- Griglia di eventi regola automaticamente la frequenza con cui gli eventi vengono recapitati a una funzione attivata da un evento di Griglia di eventi in base alla frequenza percepita con cui la funzione può elaborare gli eventi. Questa funzionalità di corrispondenza della frequenza evita gli errori di recapito che derivano dall'impossibilità di elaborare gli eventi da parte di una funzione, perché la frequenza di elaborazione eventi della funzione può variare nel tempo. Per migliorare l'efficienza e ottenere una velocità effettiva elevata, abilitare l'invio in batch nella sottoscrizione di eventi. Per altre informazioni, vedere Abilitare l'invio in batch.
Nota
- Quando si usa un trigger Griglia di eventi per aggiungere una sottoscrizione di eventi con una funzione di Azure, Griglia di eventi recupera la chiave di accesso della funzione di destinazione usando le credenziali dell'entità servizio di Griglia di eventi. Le autorizzazioni vengono concesse a Griglia di eventi quando si registra il provider di risorse di Griglia di eventi nella sottoscrizione di Azure.
- Se si protegge la funzione di Azure con un'applicazione Microsoft Entra ID, è necessario adottare l'approccio webhook generico usando il trigger HTTP. Usare l'endpoint della funzione di Azure come URL webhook quando si aggiunge la sottoscrizione.
Esercitazioni
Posizione | Descrizione |
---|---|
Avvio rapido: Gestire gli eventi con la funzione | Invia un evento personalizzato a una funzione per l'elaborazione. |
Esercitazione: trasmettere Big Data a un data warehouse | Quando Hub eventi crea un file di Acquisizione, Griglia di eventi invia un evento a un'app per le funzioni. L'app recupera il file di Acquisizione ed esegue la migrazione dei dati a un data warehouse. |
Esercitazione: esempi dell'integrazione del bus di servizio di Azure in Griglia di eventi di Azure | Griglia di eventi invia i messaggi dall'argomento del bus di servizio a un'app per le funzioni e a un'app per la logica. |
Esempio REST (per PUT)
{
"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"
}
}
Abilita l'invio in batch
Per una velocità effettiva più elevata, abilitare l'invio in batch nella sottoscrizione. Se si usa il portale di Azure, è possibile impostare il numero massimo di eventi per batch e le dimensioni batch preferite in kilobyte al momento della creazione di una sottoscrizione o dopo la creazione.
È possibile configurare le impostazioni batch usando il portale di Azure, PowerShell, l'interfaccia della riga di comando o il modello di Resource Manager.
Portale di Azure
Quando si crea una sottoscrizione nell'interfaccia utente, nella pagina Crea sottoscrizione di eventi passare alla scheda Funzionalità avanzate e impostare i valori per Numero massimo di eventi per batch e Dimensioni batch preferite in KB.
È possibile aggiornare questi valori per una sottoscrizione esistente nella scheda Funzionalità della pagina Argomento di Griglia di eventi.
Modello di Azure Resource Manager
È possibile impostare maxEventsPerBatch e preferredBatchSizeInKilobytes in un modello di Azure Resource Manager. Per altre informazioni, vedere Informazioni di riferimento sui modelli eventSubscriptions di Microsoft.EventGrid.
Interfaccia della riga di comando di Azure
È possibile usare il comando az eventgrid event-subscription create
per configurare le impostazioni correlate al batch usando i parametri seguenti: --max-events-per-batch
o --preferred-batch-size-in-kilobytes
.
Azure PowerShell
È possibile usare il cmdlet New-AzEventGridSubscription o Update-AzEventGridSubscription per configurare le impostazioni correlate al batch usando i parametri seguenti: -MaxEventsPerBatch
o -PreferredBatchSizeInKiloBytes
.
Nota
Quando si usa Il trigger Griglia di eventi, il servizio Griglia di eventi recupera il segreto client della funzione di Azure di destinazione e lo usa per recapitare gli eventi alla funzione di Azure. Se si protegge la funzione di Azure con un'applicazione Microsoft Entra, è necessario adottare l'approccio generico web hook e usare il trigger HTTP.
Passaggi successivi
Per un elenco di gestori eventi supportati, vedere l'articolo Gestori eventi.