Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Funzioni di Azure è un servizio di calcolo serverless che è possibile usare per eseguire codice su richiesta senza dover effettuare esplicitamente il provisioning o la gestione dell'infrastruttura. Consente di implementare il codice attivato dagli eventi che si verificano nei servizi di Azure o dei partner. Questa capacità di Funzioni di Azure di rispondere ai trigger lo rende un output naturale per Analisi di flusso di Azure. Questo adattatore di output consente agli utenti di connettere Analisi di flusso a Funzioni di Azure ed eseguire uno script o una parte di codice in risposta a un'ampia gamma di eventi.
L'output di Funzioni di Azure da Analisi di flusso non è disponibile in Microsoft Azure gestito da 21Vianet e Azure Germania (T-Systems International). Anche la connessione a Funzioni di Azure all'interno di una rete virtuale da un processo di Analisi di flusso in esecuzione in un cluster multi-tenant non è supportata.
Analisi di flusso di Azure richiama Funzioni di Azure tramite trigger HTTP. L'adattatore di output di Funzioni di Azure è disponibile con le proprietà configurabili seguenti:
| Nome della proprietà | Descrizione |
|---|---|
| App per le funzioni | Il nome della tua app Azure Functions. |
| Funzione | Il nome della funzione nella tua app Azure Functions. |
| Chiave | Se vuoi usare una funzione Azure da un altro abbonamento, puoi farlo fornendo la chiave per accedere alla tua funzione. |
| Dimensioni massime batch | Una proprietà che ti permette di impostare la dimensione massima per ogni batch di output inviato alla tua funzione Azure. L'unità di input è in byte. Per impostazione predefinita, questo valore è 262.144 byte (256 KB). |
| Numero massimo di batch | Una proprietà che ti permette di specificare il numero massimo di eventi in ogni batch inviato ad Azure Functions. Il valore predefinito è 100. |
Analisi di flusso di Azure prevede lo stato HTTP 200 dall'app Funzioni per batch elaborati correttamente.
Quando Analisi di flusso di Azure riceve un'eccezione 413 ("http Request Entity Too Large") da una funzione di Azure, riduce le dimensioni dei batch inviati a Funzioni di Azure. Nel codice della funzione di Azure usare questa eccezione per assicurarsi che Analisi di flusso di Azure non invii batch sovradimensionati. Assicurarsi inoltre che il numero massimo di batch e i valori delle dimensioni usati nella funzione siano coerenti con i valori immessi nel portale di Analisi di flusso.
Annotazioni
Durante la connessione di test, Analisi di flusso invia (POST) un batch vuoto a Funzioni di Azure per verificare se la connessione tra i due funziona. Assicurarsi che l'app Funzioni gestisca le richieste batch vuote per assicurarsi che la connessione venga superata.
Inoltre, in una situazione in cui non è presente alcun atterraggio di eventi in un intervallo di tempo, non viene generato alcun output. Di conseguenza, la funzione computeResult non viene chiamata. Questo comportamento è coerente con le funzioni di aggregazione finestra predefinite.
Partitioning
La chiave di partizione si basa sulla clausola PARTITION BY nella query. Il numero di scrittori di output segue il partizionamento in input per le query completamente parallelizzate.
Dimensione del batch di output
Le dimensioni predefinite del batch sono 262.144 byte (256 KB). Il numero di eventi predefinito per batch è 100. Le dimensioni del batch sono configurabili e possono essere aumentate o ridotte nelle opzioni di output di Analisi di flusso.
Limitation
Funzioni di Azure deve completare la richiesta in meno di 100 secondi perché il client HTTP raggiunge il timeout dopo 100 secondi. Se sono necessari più di 100 secondi per l'elaborazione di un batch di dati da parte di Funzioni di Azure, si verifica un timeout che attiverà un nuovo tentativo. Questo nuovo tentativo può comportare dati duplicati perché Funzioni di Azure elabora nuovamente i dati e potenzialmente produce lo stesso output perché potrebbe essere stato restituito parzialmente nella richiesta precedente
Esempi di codice
L'output di Funzioni di Azure può essere usato per inoltrare i messaggi in database non supportati, ad esempio Redis, o aggiornare le tabelle in Azure SQL.
Passaggi successivi
- Quickstart: Creare un processo di Analisi di flusso usando il portale di Azure
- Avvio rapido: Creare un processo di Analisi di flusso di Azure con l'interfaccia della riga di comando di Azure
- Avvio rapido: creare un processo di Azure Stream Analytics usando un modello ARM
- Guida introduttiva: Creare un processo di Analisi di flusso con Azure PowerShell
- Guida introduttiva: Creare un processo di Analisi di flusso di Azure con Visual Studio
- Guida introduttiva: Creare un processo di Azure Stream Analytics in Visual Studio Code