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.
Il servizio Hub eventi di Azure è un ingestor di eventi publish-subscribe altamente scalabile. Può raccogliere milioni di eventi al secondo. Un uso di un hub eventi come output è quando l'output di un processo di Analisi di flusso diventa l'input di un altro processo di streaming. Per informazioni sulle dimensioni massime dei messaggi e sull'ottimizzazione delle dimensioni batch, vedere la sezione dimensioni batch di output .
Configurazione di output
La tabella seguente contiene i parametri necessari per configurare i flussi di dati dagli hub eventi come output.
| Nome della proprietà | Descrizione |
|---|---|
| Alias di output | Nome descrittivo usato nelle query per indirizzare l'output della query a questo hub eventi. |
| Namespace dell'Hub eventi | Contenitore per un set di entità di messaggistica. Quando è stato creato un nuovo hub eventi, è stato creato anche uno spazio dei nomi dell'hub eventi. |
| Nome dell'hub eventi | Nome dell'output dell'hub eventi. |
| Nome dei criteri dell'hub eventi | Criteri di accesso condiviso, che è possibile creare nella scheda Configura dell'hub eventi. Ogni criterio di accesso condiviso ha un nome, autorizzazioni impostate e chiavi di accesso. |
| Chiave dei criteri dell'hub eventi | Chiave di accesso condiviso usata per autenticare l'accesso allo spazio dei nomi dell'hub eventi. |
| Colonna chiave di partizione | Optional. Colonna contenente la chiave di partizione per l'output dell'hub eventi. |
| Formato di serializzazione degli eventi | Formato di serializzazione per i dati di output. Sono supportati JSON, CSV e Avro. |
| Codifica | Per CSV e JSON, UTF-8 è l'unico formato di codifica supportato in questo momento. |
| Delimitatore | Applicabile solo per la serializzazione CSV. Analisi di flusso supporta diversi delimitatori comuni per la serializzazione dei dati in formato CSV. I valori supportati sono virgole, punto e virgola, spazio, tabulazioni e barre verticali. |
| Formato | Applicabile solo per la serializzazione JSON. La riga separata specifica che l'output viene formattato con ogni oggetto JSON separato da una nuova riga. Se si seleziona Linea separata, il codice JSON legge un oggetto alla volta. L'intero contenuto da solo non sarebbe un json valido. Matrice specifica che l'output viene formattato come matrice di oggetti JSON. |
| Colonne delle proprietà | Optional. Colonne delimitate da virgole che devono essere associate come proprietà utente del messaggio in uscita anziché come payload. Altre informazioni su questa funzionalità sono disponibili nella sezione Proprietà dei metadati personalizzate per l'output. |
Partitioning
Il partizionamento varia a seconda dell'allineamento della partizione. Quando la chiave di partizione per l'output dell'hub eventi è ugualmente allineata al passaggio di query upstream (precedente), il numero di writer corrisponde al numero di partizioni nell'output dell'hub eventi. Ogni writer usa la classe EventHubSender per inviare eventi alla partizione specifica. Quando la chiave di partizione per l'output dell'hub eventi non è allineata al passaggio di query upstream (precedente), il numero di writer corrisponde al numero di partizioni in tale passaggio precedente. Ogni writer usa la classe SendBatchAsync in EventHubClient per inviare eventi a tutte le partizioni di output.
Dimensione del batch di output
La dimensione massima del messaggio è 256 KB o 1 MB per messaggio. Per altre informazioni, vedere Limiti di Hub eventi. Quando il partizionamento di input/output non è allineato, ogni evento viene compresso singolarmente in EventData e inviato in un batch fino alla dimensione massima del messaggio. Ciò si verifica anche se vengono usate proprietà di metadati personalizzate . Quando il partizionamento di input/output è allineato, più eventi vengono compressi in una singola EventData istanza, fino alla dimensione massima del messaggio e inviati.
Proprietà dei metadati personalizzate per l'output
È possibile collegare colonne di query come proprietà utente ai messaggi in uscita. Queste colonne non vengono inserite nel payload. Le proprietà sono presenti sotto forma di dizionario nel messaggio di output. La chiave è il nome della colonna e il valore è il valore della colonna nel dizionario delle proprietà. Tutti i tipi di dati di Analisi di flusso sono supportati, ad eccezione di Record e Array.
Nell'esempio seguente i campi DeviceId e DeviceStatus vengono aggiunti ai metadati.
Usare la query seguente:
select *, DeviceId, DeviceStatus from iotHubInputConfigurare
DeviceId,DeviceStatuscome colonne delle proprietà nell'output.
L'immagine seguente è costituita dalle proprietà del messaggio di output previste esaminate in un hub eventi tramite Service Bus Explorer.
Esattamente una volta consegna
Esattamente una volta che il recapito è supportato nell'output di Hub eventi per impostazione predefinita. Indipendentemente dall'input, Analisi di flusso garantisce alcuna perdita di dati o nessun duplicato in un output di Hub eventi, nei riavvii avviati dall'utente dall'ora dell'ultimo output, impedendo la produzione di duplicati. Ciò semplifica notevolmente la pipeline di streaming senza dover monitorare, implementare e risolvere i problemi relativi alla logica di deduplicazione.