Condividi tramite


Associazioni di Griglia di eventi di Azure per Funzioni di Azure

Questo riferimento illustra come connettersi a Griglia di eventi di Azure usando trigger e associazioni Funzioni di Azure.

Griglia di eventi è un servizio di Azure che consente di inviare richieste HTTP per la notifica degli eventi che si verificano negli editori. Un server di pubblicazione è il servizio o la risorsa che ha origine l'evento. Ad esempio, un account di archiviazione BLOB di Azure è un editore, mentre un'eliminazione o un caricamento di BLOB è un evento. Alcuni servizi di Azure includono il supporto incorporato per la pubblicazione di eventi in Griglia di eventi.

I gestori di eventi ricevono ed elaborano gli eventi. Funzioni di Azure è uno dei vari servizi di Azure con supporto incorporato per la gestione degli eventi di Griglia di eventi. Funzioni fornisce un trigger di Griglia di eventi, che richiama una funzione quando un evento viene ricevuto da Griglia di eventi. Un'associazione di output simile può essere usata per inviare eventi dalla funzione a un argomento personalizzato di Griglia di eventi.

È anche possibile usare un trigger HTTP per gestire gli eventi di Griglia di eventi. Per altre informazioni, vedere Ricevere eventi a un endpoint HTTP. È consigliabile usare il trigger griglia di eventi su trigger HTTP.

Azione Type
Eseguire una funzione quando viene inviato un evento di Griglia di eventi Trigger
Invia un evento di Griglia di eventi Associazione di output
Controllare il codice di stato HTTP restituito Endpoint HTTP

Installare l'estensione

Il pacchetto NuGet di estensione installato dipende dalla modalità C# usata nell'app per le funzioni:

Le funzioni sono eseguite in un processo di lavoro C# isolato. Per altre informazioni, vedere Guida per l'esecuzione di Funzioni di Azure C# in un processo di lavoro isolato.

La funzionalità dell'estensione varia a seconda della versione dell'estensione:

Aggiungere l'estensione al progetto installando il pacchetto NuGet versione 3.x.

Installare il bundle

L'estensione griglia di eventi fa parte di un bundle di estensione, specificato nel file di progetto host.json. Potrebbe essere necessario modificare questo bundle per modificare la versione dell'associazione di Griglia di eventi o se i bundle non sono già installati. Per altre informazioni, vedere bundle di estensioni.

È possibile aggiungere questa versione dell'estensione dal bundle di estensione v3 aggiungendo o sostituendo la configurazione seguente nel host.json file:

{
    "version": "2.0",
    "extensionBundle": {
        "id": "Microsoft.Azure.Functions.ExtensionBundle",
        "version": "[3.3.0, 4.0.0)"
    }
}

Per altre informazioni, vedere Aggiornare le estensioni.

Tipi di associazioni

I tipi di associazione supportati per .NET dipendono sia dalla versione dell'estensione che dalla modalità di esecuzione di C#, che può essere una delle seguenti:

Una funzione C# compilata di libreria di classi di processo di lavoro viene eseguita in un processo isolato dal runtime.

Scegliere una versione per visualizzare i dettagli del tipo di associazione per la modalità e la versione.

Il processo di lavoro isolato supporta i tipi di parametro in base alle tabelle seguenti. Il supporto per l'associazione a Streame ai tipi da Azure.Messaging è in anteprima.

Trigger Griglia di eventi

Quando si vuole che la funzione elabori un singolo evento, il trigger di Griglia di eventi può essere associato ai tipi seguenti:

Tipo Descrizione
Tipi serializzabili JSON Funzioni tenta di deserializzare i dati JSON dell'evento in un tipo POCO (Plain-Old CLR Object).
string Evento come stringa.
BinaryData1 Byte del messaggio dell'evento.
CloudEvent1 Oggetto evento. Usare quando Griglia di eventi è configurata per il recapito usando lo schema CloudEvents.
EventGridEvent1 Oggetto evento. Usare quando Griglia di eventi è configurata per il recapito usando lo schema di Griglia di eventi.

Quando si vuole che la funzione elabori un batch di eventi, il trigger di Griglia di eventi può essere associato ai tipi seguenti:

Tipo Descrizione
CloudEvent[]1,
EventGridEvent[]1,
string[],
BinaryData[]1
Matrice di eventi del batch. Ogni voce rappresenta un evento.

1 Per usare questi tipi, è necessario fare riferimento a Microsoft.Azure.Functions.Worker.Extensions.EventGrid 3.3.0 o versione successiva e alle dipendenze comuni per le associazioni di tipi SDK.

Associazione di output di Griglia di eventi

Quando si vuole che la funzione scriva un singolo evento, l'associazione di output di Griglia di eventi può essere associata ai tipi seguenti:

Tipo Descrizione
string Evento come stringa.
byte[] Byte del messaggio dell'evento.
Tipi serializzabili JSON Oggetto che rappresenta un evento JSON. Funzioni tenta di serializzare un tipo di oggetto CLR (POCO) normale in dati JSON.

Quando si vuole che la funzione scriva più eventi, l'associazione di output di Griglia di eventi può essere associata ai tipi seguenti:

Tipo Descrizione
T[] dove T è uno dei singoli tipi di evento Matrice contenente più eventi. Ogni voce rappresenta un evento.

Per altri scenari di output, creare e usare un EventGridPublisherClient con altri tipi direttamente da Azure.Messaging.EventGrid . Vedere Registrare i client di Azure per un esempio di uso dell'inserimento delle dipendenze per creare un tipo di client da Azure SDK.

impostazioni host.json

Il trigger di Griglia di eventi usa una richiesta HTTP webhook, che può essere configurata usando le stesse impostazioni di host.json del trigger HTTP.

Passaggi successivi