Condividi tramite


Usare una funzione come gestore eventi 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 il 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 il trigger HTTP. Specificare Web Hook come tipo di endpoint. Specificare quindi l'URL per la funzione che gestirà gli eventi.

È consigliabile usare il primo approccio (trigger di Griglia di eventi) perché presenta i vantaggi seguenti 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 in cui la funzione può elaborare gli eventi. Questa funzionalità di corrispondenza della frequenza evita gli errori di recapito che derivano dall'impossibilità di una funzione di elaborare gli eventi perché la frequenza di elaborazione degli eventi della funzione può variare nel tempo. Per migliorare l'efficienza a velocità effettiva elevata, abilitare l'invio in batch nella sottoscrizione di eventi. Per altre informazioni, vedere Abilitare l'invio in batch.

Nota

  • Quando si crea un trigger di Griglia di eventi per aggiungere una sottoscrizione di eventi usando una funzione di Azure, Griglia di eventi recupera la chiave di accesso per la 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 generico webhook usando il trigger HTTP. Usare l'endpoint della funzione di Azure come URL webhook quando si aggiunge la sottoscrizione.

Esercitazioni

Title Descrizione
Guida introduttiva: Gestire gli eventi con la funzione Invia un evento personalizzato a una funzione per l'elaborazione.
Esercitazione: Automatizzare il ridimensionamento delle immagini caricate con Griglia di eventi Gli utenti caricano le immagini tramite l'app Web nell'account di archiviazione. Quando viene creato un BLOB di archiviazione, Griglia di eventi invia un evento all'app per le funzioni, che ridimensiona l'immagine caricata.
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 del batch preferite in kilobyte al momento della creazione di una sottoscrizione o dopo la creazione.

È possibile configurare le impostazioni batch usando il modello portale di Azure, PowerShell, interfaccia della riga di comando o Resource Manager.

Azure portal

Al momento della creazione di 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 kilobyte.

Enable batching at the time of creating a subscription

È possibile aggiornare questi valori per una sottoscrizione esistente nella scheda Funzionalità della pagina Argomento di Griglia di eventi.

Enable batching after creation

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 az eventgrid event-subscription create comando 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 di Griglia di eventi, il servizio Griglia di eventi recupera il segreto client per la 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.