Connessione dati: informazioni sugli input del flusso di dati dagli eventi ad Analisi di flussoData connection: Learn about data stream inputs from events to Stream Analytics

La connessione dati a un processo di Analisi di flusso è un flusso di eventi da un'origine dati, definito input del processo.The data connection to a Stream Analytics job is a stream of events from a data source, which is referred to as the job's input. Analisi di flusso si integra perfettamente con le origini del flusso dei dati di Azure, come Hub eventi di Azure, Hub IoT di Azure e Archiviazione BLOB di Azure.Stream Analytics has first-class integration with Azure data stream sources, including Azure Event Hubs, Azure IoT Hub, and Azure Blob storage. Queste origini di input possono appartenere alla stessa sottoscrizione di Azure del processo di analisi o a un'altra sottoscrizione.These input sources can be from the same Azure subscription as your analytics job, or from a different subscription.

Tipi di input di dati: flusso dei dati e dati di riferimentoData input types: Data stream and reference data

Quando sono inviati tramite push a un'origine, i dati vengono utilizzati dal processo di Analisi di flusso ed elaborati in tempo reale.As data is pushed to a data source, it's consumed by the Stream Analytics job and processed in real time. Gli input si dividono in due tipi: input del flusso dei dati e input dei dati di riferimento.Inputs are divided into two types: data stream inputs and reference data inputs.

Input del flusso dei datiData stream inputs

Un flusso dei dati è una sequenza non associata di eventi che accadono nel tempo.A data stream is an unbounded sequence of events over time. I processi di Analisi di flusso devono includere almeno un input del flusso dei dati.Stream Analytics jobs must include at least one data stream input. Gli hub eventi, l'hub IoT e l'archiviazione BLOB sono supportati come origini di input del flusso dei dati.Event Hubs, IoT Hub, and Blob storage are supported as data stream input sources. Gli hub eventi vengono usati per raccogliere flussi di eventi da più dispositivi e servizi,Event hubs are used to collect event streams from multiple devices and services. ad esempio i feed attività dei social media, le informazioni sulle quotazioni azionarie o i dati di sensori.These streams might include social media activity feeds, stock trade information, or data from sensors. Gli hub IoT sono ottimizzati per raccogliere dati dai dispositivi connessi in scenari di Internet delle cose (IoT).IoT hubs are optimized to collect data from connected devices in Internet of Things (IoT) scenarios. L'archiviazione BLOB può essere usata come origine di input per l'inserimento di dati in blocco come flusso, ad esempio i file di log.Blob storage can be used as an input source for ingesting bulk data as a stream, such as log files.

Dati di riferimentoReference data

Analisi di flusso supporta anche l'input noto come dati di riferimento.Stream Analytics also supports input known as reference data. Si tratta di dati ausiliari che sono statici o cambiano lentamenteThis is auxiliary data that is either static or that changes slowly. e che di solito sono usati per eseguire correlazioni e ricerche.It's typically used for performing correlation and lookups. È ad esempio possibile unire i dati nell'input del flusso dei dati con quelli inclusi nei dati di riferimento, proprio come si esegue un join SQL per cercare valori statici.For example, you might join data in the data stream input to data in the reference data, much as you would perform a SQL join to look up static values. L'archiviazione BLOB di Azure è attualmente l'unica origine di input supportata per i dati di riferimento.Azure Blob storage is currently the only supported input source for reference data. I BLOB di origine dei dati di riferimento non possono avere una dimensione superiore a 100 MB.Reference data source blobs are limited to 100 MB in size.

Per informazioni su come creare input dei dati di riferimento, vedere Uso dei dati di riferimento.To learn how to create reference data inputs, see Use Reference Data.

CompressioneCompression

Analisi di flusso di Azure supporta la compressione in tutte le origini di input del flusso di dati (Hub eventi, hub IoT e archiviazione BLOB).Azure Stream Analytics supports compression across all data stream input sources (Event Hubs, IoT Hub, and Blob storage). Questa funzionalità aggiunge una nuova opzione nell'elenco a discesa del pannello Nuovo input del portale di Azure consentendo di scegliere facoltativamente di comprimere i flussi di dati.This feature adds a new dropdown option to the New input blade in Azure Portal, allowing you to optionally choose to compress data streams. I tipi di compressione attualmente supportati sono None, GZip e Deflate.Supported types are currently None, GZip, and Deflate compression.

La compressione non è supportata in parallelo con la serializzazione Avro e non è applicabile ai dati di riferimento.Compression is not supported in tandem with Avro serialization, and is not applicable to reference data.

Creare un input del flusso dei dati dagli hub eventiCreate data stream input from Event Hubs

Hub eventi di Azure offre una tecnologia di inserimento altamente scalabile per eventi di pubblicazione-sottoscrizione.Azure Event Hubs provides highly scalable publish-subscribe event ingestors. Un hub eventi può raccogliere milioni di eventi al secondo per consentire di elaborare e analizzare enormi quantità di dati generati dalle applicazioni e dai dispositivi connessi.An event hub can collect millions of events per second, so that you can process and analyze the massive amounts of data produced by your connected devices and applications. Hub eventi e Analisi di flusso offrono una soluzione end-to-end per l'analisi in tempo reale. Gli hub eventi consentono di inserire gli eventi in Azure tramite feed e i processi di Analisi di flusso sono in grado di elaborare tali eventi. Entrambe le operazioni vengono eseguite in tempo reale.Event Hubs and Stream Analytics together provide you with an end-to-end solution for real-time analytics—Event Hubs let you feed events into Azure in real time, and Stream Analytics jobs can process those events in real time. È ad esempio possibile inviare clic sul Web, letture di sensori o eventi di log online agli hub eventiFor example, you can send web clicks, sensor readings, or online log events to Event Hubs. e quindi creare processi di Analisi di flusso per usare gli hub eventi come flussi dei dati di input per il filtraggio, l'aggregazione e la correlazione in tempo reale.You can then create Stream Analytics jobs to use Event Hubs as the input data streams for real-time filtering, aggregating, and correlation.

Il timestamp predefinito degli eventi provenienti dagli hub eventi in Analisi di flusso è il timestamp in cui l'evento è giunto nell'hub, ovvero EventEnqueuedUtcTime.The default timestamp of events coming from Event Hubs in Stream Analytics is the timestamp that the event arrived in the event hub, which is EventEnqueuedUtcTime. Per elaborare i dati come flusso usando un timestamp nel payload dell'evento, è necessario usare la parola chiave TIMESTAMP BY.To process the data as a stream using a timestamp in the event payload, you must use the TIMESTAMP BY keyword.

Gruppi di consumerConsumer groups

È necessario configurare uno specifico gruppo di consumer per ogni input degli hub eventi di Analisi di flusso.You should configure each Stream Analytics event hub input to have its own consumer group. Quando un processo contiene un self-join o ha più input, è possibile che qualche input venga letto da più lettori downstream.When a job contains a self-join or when it has multiple inputs, some input might be read by more than one reader downstream. Questa situazione influisce sul numero di lettori in un singolo gruppo di consumer.This situation impacts the number of readers in a single consumer group. Per evitare di superare il limite di cinque lettori imposto da Hub eventi per ogni gruppo di consumer di ciascuna partizione, è consigliabile definire un gruppo di consumer per ogni processo di Analisi di flusso.To avoid exceeding the Event Hubs limit of five readers per consumer group per partition, it's a best practice to designate a consumer group for each Stream Analytics job. È definito anche un limite di 20 gruppi di consumer per ogni hub eventi.There is also a limit of 20 consumer groups per event hub. Per altre informazioni, vedere Guida alla programmazione di Hub eventi.For more information, see Event Hubs Programming Guide.

Configurare un hub eventi come input del flusso dei datiConfigure an event hub as a data stream input

La tabella seguente contiene la descrizione delle proprietà disponibili nel pannello Nuovo input del portale di Azure quando si configura un hub eventi come input.The following table explains each property in the New input blade in the Azure portal when you configure an event hub as input.

ProprietàProperty DescrizioneDescription
Alias di inputInput alias Nome descrittivo che viene usato nella query del processo per fare riferimento a questo input.A friendly name that you use in the job's query to reference this input.
Spazio dei nomi del bus di servizioService bus namespace Spazio dei nomi del bus di servizio di Azure che viene usato come contenitore per un set di entità di messaggistica.An Azure Service Bus namespace, which is a container for a set of messaging entities. Quando si crea un nuovo hub eventi, viene creato anche uno spazio dei nomi del bus di servizio.When you create a new event hub, you also create a Service Bus namespace.
Nome hub eventiEvent hub name Nome dell'hub eventi da usare come input.The name of the event hub to use as input.
Nome criteri hub eventiEvent hub policy name Criteri di accesso condiviso che consentono di accedere all'hub eventi.The shared access policy that provides access to the event hub. Tutti i criteri di accesso condiviso dispongono di un nome e di autorizzazioni impostati, nonché di chiavi di accesso.Each shared access policy has a name, permissions that you set, and access keys.
Gruppo di consumer dell'hub eventi (facoltativa)Event hub consumer group (optional) Gruppo di consumer da usare per l'inserimento di dati dall'hub eventi.The consumer group to use to ingest data from the event hub. Se non è specificato alcun gruppo di consumer, il processo di Analisi di flusso usa quello predefinito.If no consumer group is specified, the Stream Analytics job uses the default consumer group. È consigliabile usare un gruppo di consumer distinto per ogni processo di Analisi di flusso.We recommend that you use a distinct consumer group for each Stream Analytics job.
Formato di serializzazione eventiEvent serialization format Formato di serializzazione (JSON, CSV o Avro) del flusso dei dati in ingresso.The serialization format (JSON, CSV, or Avro) of the incoming data stream.
CodificaEncoding L'unico formato di codifica attualmente supportato è UTF-8.UTF-8 is currently the only supported encoding format.
Compressione (facoltativo)Compression (optional) Il tipo di compressione (None, GZip o Deflate) del flusso dei dati in ingresso.The compression type (None, GZip, or Deflate) of the incoming data stream.

Quando i dati provengono da un hub eventi, è possibile accedere ai campi di metadati seguenti nella query di Analisi di flusso:When your data comes from an event hub, you have access to the following metadata fields in your Stream Analytics query:

ProprietàProperty DescrizioneDescription
EventProcessedUtcTimeEventProcessedUtcTime Data e ora di elaborazione dell'evento in Analisi di flusso.The date and time that the event was processed by Stream Analytics.
EventEnqueuedUtcTimeEventEnqueuedUtcTime Data e ora di ricezione dell'evento da parte di Hub eventi.The date and time that the event was received by Event Hubs.
PartitionIdPartitionId ID di partizione in base zero per l'adattatore di input.The zero-based partition ID for the input adapter.

Ad esempio, tramite questi campi, è possibile scrivere una query simile alla seguente:For example, using these fields, you can write a query like the following example:

SELECT
    EventProcessedUtcTime,
    EventEnqueuedUtcTime,
    PartitionId
FROM Input

Nota

Quando si usa Hub eventi come un endpoint delle route dell'hub IoT, è possibile accedere ai metadati dell'hub IoT usando la funzione GetMetadataPropertyValue.When using Event Hub as an endpoint for IoT Hub Routes, you can access to the IoT Hub medadata using the GetMetadataPropertyValue function.

Creare un input del flusso dei dati dall'hub IoTCreate data stream input from IoT Hub

Hub IoT di Azure è un servizio di inserimento di eventi di pubblicazione-sottoscrizione altamente scalabile ottimizzato per scenari IoT.Azure Iot Hub is a highly scalable publish-subscribe event ingestor optimized for IoT scenarios.

Il timestamp predefinito degli eventi provenienti da un hub IoT in Analisi di flusso è il timestamp in cui l'evento è giunto nell'hub IoT, ovvero EventEnqueuedUtcTime.The default timestamp of events coming from an IoT hub in Stream Analytics is the timestamp that the event arrived in the IoT hub, which is EventEnqueuedUtcTime. Per elaborare i dati come flusso usando un timestamp nel payload dell'evento, è necessario usare la parola chiave TIMESTAMP BY.To process the data as a stream using a timestamp in the event payload, you must use the TIMESTAMP BY keyword.

Nota

Solo i messaggi inviati con una proprietà DeviceClient possono essere elaborati.Only messages sent with a DeviceClient property can be processed.

Gruppi di consumerConsumer groups

È necessario configurare uno specifico gruppo di consumer per ogni input dell'hub IoT di Analisi di flusso.You should configure each Stream Analytics IoT hub input to have its own consumer group. Quando un processo contiene un self-join o ha più input, è possibile che qualche input venga letto da più lettori downstream.When a job contains a self-join or when it has multiple inputs, some input might be read by more than one reader downstream. Questa situazione influisce sul numero di lettori in un singolo gruppo di consumer.This situation impacts the number of readers in a single consumer group. Per evitare di superare il limite di cinque lettori imposto da Hub IoT di Azure per ogni gruppo di consumer di ciascuna partizione, è consigliabile definire un gruppo di consumer per ogni processo di Analisi di flusso.To avoid exceeding the Azure IoT Hub limit of five readers per consumer group per partition, it's a best practice to designate a consumer group for each Stream Analytics job.

Configurare un hub IoT come input del flusso dei datiConfigure an IoT hub as a data stream input

La tabella seguente contiene la descrizione delle proprietà disponibili nel pannello Nuovo input del portale di Azure quando si configura un hub IoT come input.The following table explains each property in the New input blade in the Azure portal when you configure an IoT hub as input.

ProprietàProperty DescrizioneDescription
Alias di inputInput alias Nome descrittivo che viene usato nella query del processo per fare riferimento a questo input.A friendly name that you use in the job's query to reference this input.
Hub IoTIoT hub Nome dell'hub IoT da usare come input.The name of the IoT hub to use as input.
EndpointEndpoint Endpoint per l'hub IoT.The endpoint for the IoT hub.
Nome criteri di accesso condivisoShared access policy name Criteri di accesso condiviso che consentono di accedere all'hub IoT.The shared access policy that provides access to the IoT hub. Tutti i criteri di accesso condiviso dispongono di un nome e di autorizzazioni impostati, nonché di chiavi di accesso.Each shared access policy has a name, permissions that you set, and access keys.
Chiave criteri di accesso condivisoShared access policy key Chiave di accesso condiviso usata per autorizzare l'accesso all'hub IoT.The shared access key used to authorize access to the IoT hub.
Gruppo di consumer (facoltativa)Consumer group (optional) Gruppo di consumer da usare per inserire dati dall'hub IoT.The consumer group to use to ingest data from the IoT hub. Se non è specificato alcun gruppo di consumer, un processo di Analisi di flusso usa quello predefinito.If no consumer group is specified, a Stream Analytics job uses the default consumer group. È consigliabile usare un gruppo di consumer diverso per ogni processo di Analisi di flusso.We recommend that you use a different consumer group for each Stream Analytics job.
Formato di serializzazione eventiEvent serialization format Formato di serializzazione (JSON, CSV o Avro) del flusso dei dati in ingresso.The serialization format (JSON, CSV, or Avro) of the incoming data stream.
CodificaEncoding L'unico formato di codifica attualmente supportato è UTF-8.UTF-8 is currently the only supported encoding format.
Compressione (facoltativo)Compression (optional) Il tipo di compressione (None, GZip o Deflate) del flusso dei dati in ingresso.The compression type (None, GZip, or Deflate) of the incoming data stream.

Quando i dati provengono da un hub IoT, è possibile accedere ai campi di metadati seguenti nella query di Analisi di flusso:When your data comes from an IoT hub, you have access to the following metadata fields in your Stream Analytics query:

ProprietàProperty DescrizioneDescription
EventProcessedUtcTimeEventProcessedUtcTime Data e ora di elaborazione dell'evento.The date and time that the event was processed.
EventEnqueuedUtcTimeEventEnqueuedUtcTime Data e ora di ricezione dell'evento da parte dell'hub IoT.The date and time that the event was received by the IoT hub.
PartitionIdPartitionId ID di partizione in base zero per l'adattatore di input.The zero-based partition ID for the input adapter.
IoTHub.MessageIdIoTHub.MessageId ID usato per correlare la comunicazione bidirezionale nell'hub IoT.An ID that's used to correlate two-way communication in IoT hub.
IoTHub.CorrelationIdIoTHub.CorrelationId ID usato nelle risposte dei messaggi e nei feedback nell'hub IoT.An ID that's used in message responses and feedback in IoT hub.
IoTHub.ConnectionDeviceIdIoTHub.ConnectionDeviceId ID di autenticazione usato per inviare questo messaggio.The authentication ID used to send this message. Questo valore viene riportato nei messaggi servicebound dall'hub IoT.This value is stamped on servicebound messages by the IoT hub.
IoTHub.ConnectionDeviceGenerationIdIoTHub.ConnectionDeviceGenerationId ID di generazione del dispositivo autenticato che è stato usato per inviare questo messaggio.The generation ID of the authenticated device that was used to send this message. Questo valore viene riportato nei messaggi servicebound dall'hub IoT.This value is stamped on servicebound messages by the IoT hub.
IoTHub.EnqueuedTimeIoTHub.EnqueuedTime Ora in cui il messaggio è stato ricevuto dall'hub IoT.The time when the message was received by the IoT hub.
IoTHub.StreamIdIoTHub.StreamId Proprietà di evento personalizzato aggiunta dal dispositivo mittente.A custom event property added by the sender device.

Creare un input del flusso dei dati dall'archiviazione BLOBCreate data stream input from Blob storage

Per gli scenari con grandi quantità di dati non strutturati da archiviare nel cloud, l'archiviazione BLOB di Azure offre una soluzione scalabile e conveniente.For scenarios with large quantities of unstructured data to store in the cloud, Azure Blob storage offers a cost-effective and scalable solution. I dati nell'archiviazione BLOB sono in genere considerati dati inattivi,Data in Blob storage is usually considered data at rest. ma possono essere elaborati come flusso dei dati da Analisi di flusso.However, it can be processed as a data stream by Stream Analytics. Uno scenario tipico per gli input di archiviazione BLOB con Analisi di flusso consiste nell'elaborazione dei log.A typical scenario for Blob storage inputs with Stream Analytics is log processing. In questo scenario i dati di telemetria sono stati acquisiti da un sistema e devono essere analizzati ed elaborati per estrarre dati significativi.In this scenario, telemetry data has been captured from a system and needs to be parsed and processed to extract meaningful data.

Il timestamp predefinito degli eventi dell'archiviazione BLOB in Analisi di flusso è il timestamp dell'ultima modifica del BLOB, ovvero BlobLastModifiedUtcTime.The default timestamp of Blob storage events in Stream Analytics is the timestamp that the blob was last modified, which is BlobLastModifiedUtcTime. Per elaborare i dati come flusso usando un timestamp nel payload dell'evento, è necessario usare la parola chiave TIMESTAMP BY.To process the data as a stream using a timestamp in the event payload, you must use the TIMESTAMP BY keyword.

Gli input in formato CSV richiedono una riga di intestazione per definire i campi per il set di dati.CSV-formatted inputs require a header row to define fields for the data set. Inoltre, tutti i campi delle righe di intestazione devono essere univoci.In addition, all header row fields must be unique.

Nota

Analisi di flusso di Azure non supporta l'aggiunta di contenuto a un file di BLOB esistente.Stream Analytics does not support adding content to an existing blob file. Analisi di flusso di Azure visualizza ogni file una sola volta e tutte le modifiche apportate al file dopo che il processo ha letto i dati non vengono elaborate.Stream Analytics will view each file only once, and any changes that occur in the file after the job has read the data are not processed. La procedura consigliata consiste nel caricare simultaneamente tutti i dati per un file di BLOB e quindi aggiungere gli altri eventi più nuovi in un nuovo file di BLOB diverso.Best practice is to upload all the data for a blob file at once and then add additional newer events to a different, new blob file.

Configurare l'archiviazione BLOB come input del flusso dei datiConfigure Blob storage as a data stream input

La tabella seguente contiene la descrizione delle proprietà disponibili nel pannello Nuovo input del portale di Azure quando si configura l'archiviazione BLOB come input.The following table explains each property in the New input blade in the Azure portal when you configure Blob storage as input.

ProprietàProperty DescrizioneDescription
Alias di inputInput alias Nome descrittivo che viene usato nella query del processo per fare riferimento a questo input.A friendly name that you use in the job's query to reference this input.
Account di archiviazioneStorage account Nome dell'account di archiviazione in cui si trovano i file BLOB.The name of the storage account where the blob files are located.
Chiave dell'account di archiviazioneStorage account key Chiave privata associata all'account di archiviazione.The secret key associated with the storage account.
ContenitoreContainer Contenitore per l'input del servizio BLOB.The container for the blob input. I contenitori forniscono un raggruppamento logico per gli oggetti BLOB archiviati nel servizio BLOB di Microsoft Azure.Containers provide a logical grouping for blobs stored in the Microsoft Azure Blob service. Quando si carica un oggetto BLOB nel servizio Archiviazione BLOB di Azure, è necessario specificare un contenitore per tale BLOB.When you upload a blob to the Azure Blob storage service, you must specify a container for that blob.
Modello percorso (facoltativa)Path pattern (optional) Percorso del file usato per trovare gli oggetti BLOB nel contenitore specificato.The file path used to locate the blobs within the specified container. All'interno del percorso è possibile specificare una o più istanze delle tre variabili seguenti: {date}, {time} o {partition}Within the path, you can specify one or more instances of the following three variables: {date}, {time}, or {partition}

Esempio 1: cluster1/logs/{date}/{time}/{partition}Example 1: cluster1/logs/{date}/{time}/{partition}

Esempio 2: cluster1/logs/{date}Example 2: cluster1/logs/{date}

Il carattere * non è un valore consentito per il prefisso del percorso.The * character is not an allowed value for the path prefix. Sono consentiti solo Caratteri BLOB di Azure validi.Only valid Azure blob characters are allowed.
Formato data (facoltativa)Date format (optional) Formato della data in base al quale vengono organizzati i file, se si usa la variabile date nel percorso.If you use the date variable in the path, the date format in which the files are organized. Esempio: YYYY/MM/DDExample: YYYY/MM/DD
Formato ora (facoltativa)Time format (optional) Formato dell'ora in base al quale vengono organizzati i file, se si usa la variabile time nel percorso.If you use the time variable in the path, the time format in which the files are organized. L'unico valore attualmente supportato è HH.Currently the only supported value is HH.
Formato di serializzazione eventiEvent serialization format Formato di serializzazione (JSON, CSV o Avro) per i flussi dei dati in ingresso.The serialization format (JSON, CSV, or Avro) for incoming data streams.
CodificaEncoding Per CSV e JSON, l'unico formato di codifica attualmente supportato è UTF-8.For CSV and JSON, UTF-8 is currently the only supported encoding format.
Compressione (facoltativo)Compression (optional) Il tipo di compressione (None, GZip o Deflate) del flusso dei dati in ingresso.The compression type (None, GZip, or Deflate) of the incoming data stream.

Quando i dati provengono da un'origine di archiviazione BLOB, è possibile accedere ai campi di metadati seguenti nella query di Analisi di flusso:When your data comes from a Blob storage source, you have access to the following metadata fields in your Stream Analytics query:

ProprietàProperty DescrizioneDescription
BlobNameBlobName Nome del BLOB di input da cui proviene l'evento.The name of the input blob that the event came from.
EventProcessedUtcTimeEventProcessedUtcTime Data e ora di elaborazione dell'evento in Analisi di flusso.The date and time that the event was processed by Stream Analytics.
BlobLastModifiedUtcTimeBlobLastModifiedUtcTime Data e ora dell'ultima modifica del BLOB.The date and time that the blob was last modified.
PartitionIdPartitionId ID di partizione in base zero per l'adattatore di input.The zero-based partition ID for the input adapter.

Ad esempio, tramite questi campi, è possibile scrivere una query simile alla seguente:For example, using these fields, you can write a query like the following example:

SELECT
    BlobName,
    EventProcessedUtcTime,
    BlobLastModifiedUtcTime
FROM Input

Ottenere aiutoGet help

Per ulteriore assistenza, provare il Forum di Analisi dei flussi di Azure.For further assistance, try our Azure Stream Analytics forum.

Passaggi successiviNext steps

Sono state apprese le opzioni di connessione dei dati in Azure per i processi di Analisi di flusso.You've learned about data connection options in Azure for your Stream Analytics jobs. Per altre informazioni su Analisi di flusso, vedere:To learn more about Stream Analytics, see: