Output di Funzioni di Azure da Analisi di flusso di Azure

Funzioni di Azure è un servizio di calcolo senza server che è possibile usare per eseguire codice su richiesta senza dover gestire l'infrastruttura o effettuare il provisioning in modo esplicito. Consente di implementare il codice attivato da eventi generati nei servizi di Azure o di un partner. La possibilità di rispondere ai trigger rende Funzioni di Azure l'output naturale per Analisi di flusso di Azure. Questo adattatore di output consente agli utenti di collegare Analisi di flusso a Funzioni di Azure ed eseguire uno script o una porzione di codice in risposta a diversi eventi.

Funzioni di Azure l'output da Analisi di flusso non è disponibile in Microsoft Azure gestito da 21Vianet e Azure Germania (T-Systems International). La connessione a Funzioni di Azure all'interno di una rete virtuale (rete virtuale) da un processo di Analisi di flusso in esecuzione in un cluster multi-tenant non è supportato.

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 proprietà Descrizione
App per le funzioni Nome dell'app Funzioni di Azure.
Funzione Nome della funzione nell'app Funzioni di Azure.
Chiave Per usare una funzione di Azure da un'altra sottoscrizione, è necessario fornire la chiave per accedere alla funzione.
Dimensioni massime batch Proprietà che consente di impostare le dimensioni massime per ogni batch di output inviato a Funzioni di Azure. L'unità di input è espressa in byte. Per impostazione predefinita, questo valore è 262.144 byte (256 KB).
Numero massimo di batch Proprietà che consente di specificare il numero massimo di eventi in ogni batch che vengono inviati a Funzioni di Azure. Il valore predefinito è 100.

Analisi di flusso di Azure prevede lo stato HTTP 200 dall'app Funzioni per i batch elaborati correttamente.

Quando Analisi di flusso di Azure riceve l'eccezione 413 ("Entità richiesta HTTP troppo grande") da una funzione di Azure, riduce la dimensione dei batch che invia a Funzioni di Azure. Usare questa eccezione nel codice della funzione di Azure per fare in modo che Analisi di flusso di Azure non invii batch troppo grandi. Assicurarsi anche che i valori relativi alle dimensioni e al numero massimo di batch usati nella funzione siano conformi ai valori inseriti nel portale di Analisi di flusso.

Nota

Durante la connessione di test, Analisi di flusso invia 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 consentire l'esito positivo del test della connessione.

Quando non avviene alcun evento in un intervallo di tempo, non viene generato alcun output. Di conseguenza, non viene chiamata la funzione computeResult. Questo comportamento è coerente con le funzioni di aggregazione finestra predefinite.

Partizionamento

La chiave di partizione è basata sulla clausola PARTITION BY nella query. Il numero di writer di output segue il partizionamento di input per le query completamente parallelizzate.

Dimensione del batch di output

La dimensione del batch predefinita è 262.144 byte (256 KB). Il numero di eventi predefinito per ogni batch è 100. Le dimensioni batch sono configurabili e possono essere aumentate o ridotte nelle opzioni di output di Analisi di flusso.

Limitazione

Funzioni di Azure deve completare la richiesta in meno di 100 secondi come timeout del client HTTP dopo 100 secondi. Se è necessario più di 100 secondi per Funzioni di Azure elaborare un batch di dati, è previsto un timeout che attiverà un nuovo tentativo. Questo 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 Funzioni di Azure può essere usato per inoltrare messaggi in database non supportati, ad esempio Redis o aggiornare le tabelle in Azure SQL.

Passaggi successivi