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.
✅ Flusso di eventi dell'infrastruttura di Analisi ✅ di flusso di Azure
Esegue query su dati di input per proprietà specifiche. Esistono tre tipi di proprietà: Adapter, User e Unique EventId.
Proprietà dei metadati dell'adapter
Alcune proprietà specifiche dell'input sono accessibili dalla funzione GetMetadataPropertyValue. Inoltre, è possibile accedere a tutte le proprietà come singolo record.
Annotazioni
Al momento, questa funzione non può essere testata nel portale di Azure (restituirà risultati vuoti). È possibile usare l'estensione ASA per Visual Studio Code per testare questa funzione nella query usando dati in tempo reale.
Proprietà predefinite dei metadati per Hub eventi
- EventEnqueuedUtcTime
- EventProcessedUtcTime
- ID di Partizione
- Compensare
- SequenceNumber
- ChiaveDiPartizione
- Server di pubblicazione, se disponibile nell'evento in ingresso
Esempi:
Recuperare EventEnqueuedUtcTime da Hub eventi:
SELECT GetMetadataPropertyValue(ehInput, '[EventHub].[EventEnqueuedUtcTime]') AS mytime FROM ehInput
Per eseguire una query su tutte le possibili proprietà correlate all'adapter come record:
SELECT GetMetadataPropertyValue(ehInput, 'EventHub') AS myEHPropertiesRecord FROM ehInput
Proprietà dell'hub IoT quando vengono indirizzate agli endpoint di Hub eventi
Quando si usa la funzionalità di routing dell'hub IoT agli endpoint di Hub eventi, le proprietà dei metadati saranno disponibili leggendo le proprietà da Hub eventi. In questo caso, è possibile recuperare le proprietà seguenti:
- IoTConnectionDeviceId
- IoTAuthMethod
- IoTAuthGenerationId
- IoTEnqueueTime
- IoTMessageSource
- IoTConnectionModuleId
- IoTInterfaceName
Esempio: SELECT GetMetadataPropertyValue(ehInput, '[EventHub].[IoTConnectionDeviceId]') AS myIoTDeviceId FROM ehInput
Le proprietà aggiunte tramite l'arricchimento dei messaggi dell'hub IoT possono essere recuperate tramite le proprietà dell'utente.
Proprietà predefinite dei metadati per l'hub IoT
ConnectionDeviceId
AuthMethod
AuthGenerationId
EnqueueTime
MessageSource
ConnectionModuleId
InterfaceName
IdentificatoreDiCorrelazione
MessageId
ConnectionDeviceGenerationId
Esempi:
Recuperare EnqueuedTime dall'hub IoT:
SELECT GetMetadataPropertyValue(iotInput, 'IoTHub.EnqueuedTime') AS myEnqueuedTime FROM iotInput
Per eseguire una query su tutte le possibili proprietà correlate all'adapter come record:
SELECT GetMetadataPropertyValue(iotInput, 'IoTHub') AS iotRecord FROM iotInput
Proprietà predefinite dei metadati per l'input BLOB:
- BlobName
- BlobLastModifiedUtcTime
- ID di Partizione
EsempioSELECT GetMetadataPropertyValue(blobInput, 'BlobName') AS myBlobName FROM blobInput
Proprietà utente
Una proprietà utente personalizzata denominata SenderClientId impostata sui messaggi EventHub/IoT/BLOB in ingresso viene resa accessibile tramite GetMetadataPropertyValue, come illustrato nell'esempio seguente.
Inoltre, è possibile recuperare le proprietà dei dispositivi gemelli e le proprietà arricchite tramite l'arricchimento dei messaggi dell'hub IoT usando GetMetadataPropertyValue.
Esempi
Per eseguire query da un input di Hub eventi,
SELECT Name, GetMetadataPropertyValue(ehInput, '[User].[SenderClientId]') FROM ehInput
Per eseguire query da un input dell'hub IoT,
SELECT Name, GetMetadataPropertyValue(iotInput, '[User].[SenderClientId]') FROM iotInput
Per eseguire query da un input BLOB,
SELECT Name, GetMetadataPropertyValue(blobInput, '[User].[SenderClientId]') FROM blobInput
Per ottenere tutte le proprietà utente come record,
Per Hub eventi:
SELECT Name, GetMetadataPropertyValue(ehInput, '[User]') AS userprops FROM ehInput
Per Hub IoT:
SELECT Name, GetMetadataPropertyValue(iotInput, '[User]') AS userprops FROM iotInput
Per l'input BLOB:
SELECT Name, GetMetadataPropertyValue(blobInput, '[User]') AS userprops FROM blobInput
Proprietà Unique EventId
La proprietà EventId crea un ID univoco (Guid) per un evento di input, che può essere utile a scopo di chiave primaria. EventId è coerente (non casuale); se si torna indietro nel tempo e si rilegge lo stesso evento di input, Analisi di flusso produrrà lo stesso ID.
Esempio
SELECT GetMetadataPropertyValue(ehInput, 'EventId') AS eventPrimaryKey FROM ehInput
Limitazioni e restrizioni
GetMetadataPropertyValue presenta le limitazioni di utilizzo seguenti:
L'uso
SELECT *nella query causa colonne duplicate. Per evitare colonne duplicate, elencare le colonne singolarmente nell'istruzione SELECT.L'alias assegnato al valore della proprietà metadata sarà minuscolo indipendentemente dalla combinazione di maiuscole e minuscole usate nella query. Ad esempio,
SELECT GetMetadataPropertyValue(ehInput, 'EventId') AS eventPrimaryKeyrestituisce comeeventprimarykey. Per mantenere la combinazione di maiuscole e minuscole, usare il livello di compatibilità 1.2.Questa funzione non funziona nel riquadro dei risultati dell'anteprima del portale di Azure, incluse le funzioni di query di test.
Rinominare i campi del payload origiale prima che i dati arrivino ad AsA. Il nome del campo del payload verrà sovrascritto se corrisponde al nome del campo dei metadati di sistema.
MessageId e CorrelationId dei metadati dell'evento di EventHub non sono supportati.