GetMetadataPropertyValue (Azure Stream Analytics)
Adott tulajdonságok bemeneti adatainak lekérdezése. A tulajdonságoknak három típusa van: Adapter, User és Unique EventId.
Adapter metaadatainak tulajdonságai
Bizonyos bemenetspecifikus tulajdonságokat a GetMetadataPropertyValue függvény érhet el. Emellett az összes tulajdonság egyetlen rekordként is elérhető.
Megjegyzés
Ez a függvény jelenleg nem tesztelhető a Azure Portal (üres eredményeket ad vissza). A Visual Studio Code ASA-bővítményével élő adatokkal tesztelheti ezt a függvényt a lekérdezésben.
Az Event Hubs alapértelmezett metaadat-tulajdonságai
- EventEnqueuedUtcTime
- EventProcessedUtcTime
- PartitionId
- Eltolás
- SequenceNumber
- PartitionKey
- Közzétevő, ha elérhető a bejövő eseményben
Példák:
Az EventEnqueuedUtcTime lekérése az Event Hubsból:
SELECT GetMetadataPropertyValue(ehInput, '[EventHub].[EventEnqueuedUtcTime]') AS mytime FROM ehInput
Az adapterrel kapcsolatos összes lehetséges tulajdonság lekérdezése rekordként:
SELECT GetMetadataPropertyValue(ehInput, 'EventHub') AS myEHPropertiesRecord FROM ehInput
IoT Hub tulajdonságok az Event Hubs-végpontokra való átirányításkor
Ha IoT Hub útválasztási funkciót használ az Event Hubs-végpontokhoz, a metaadat-tulajdonságok az Event Hubs tulajdonságainak beolvasásával érhetők el. Ebben az esetben a következő tulajdonságok kérhetők le:
- IoTConnectionDeviceId
- IoTAuthMethod
- IoTAuthGenerationId
- IoTEnqueueTime
- IoTMessageSource
- IoTConnectionModuleId
- IoTInterfaceName
Például: SELECT GetMetadataPropertyValue(ehInput, '[EventHub].[IoTConnectionDeviceId]') AS myIoTDeviceId FROM ehInput
A IoT Hub üzenet bővítéssel hozzáadott tulajdonságok a felhasználói tulajdonságokon keresztül kérhetők le.
A IoT Hub alapértelmezett metaadat-tulajdonságai
ConnectionDeviceId
AuthMethod
AuthGenerationId
EnqueueTime
MessageSource
ConnectionModuleId
InterfaceName
CorrelationId
MessageId
ConnectionDeviceGenerationId
Példák:
Az EnqueuedTime lekérése IoT Hub:
SELECT GetMetadataPropertyValue(iotInput, 'IoTHub.EnqueuedTime') AS myEnqueuedTime FROM iotInput
Az adapterrel kapcsolatos összes lehetséges tulajdonság lekérdezése rekordként:
SELECT GetMetadataPropertyValue(iotInput, 'IoTHub') AS iotRecord FROM iotInput
A blobbemenet alapértelmezett metaadat-tulajdonságai:
- BlobName
- BlobLastModifiedUtcTime
- PartitionId
Példa SELECT GetMetadataPropertyValue(blobInput, 'BlobName') AS myBlobName FROM blobInput
Felhasználói tulajdonságok
A bejövő EventHub-/IoT-/Blob-üzeneteken beállított SenderClientId nevű egyéni felhasználói tulajdonság a GetMetadataPropertyValue paranccsal érhető el, ahogy az alábbi példában látható.
Az ikertulajdonságok és a bővített tulajdonságok IoT Hub üzenetbővítés használatával is lekérhetők a GetMetadataPropertyValue paranccsal.
Példák
Eseményközpont-bemenetből való lekérdezéshez:
SELECT Name, GetMetadataPropertyValue(ehInput, '[User].[SenderClientId]') FROM ehInput
IoT Hub bemenetből való lekérdezéshez
SELECT Name, GetMetadataPropertyValue(iotInput, '[User].[SenderClientId]') FROM iotInput
Blobbemenetből való lekérdezéshez:
SELECT Name, GetMetadataPropertyValue(blobInput, '[User].[SenderClientId]') FROM blobInput
Ha az összes felhasználói tulajdonságot rekordként szeretné lekérni,
Eseményközpont esetén:
SELECT Name, GetMetadataPropertyValue(ehInput, '[User]') AS userprops FROM ehInput
IoT Hub esetén:
SELECT Name, GetMetadataPropertyValue(iotInput, '[User]') AS userprops FROM iotInput
Blobbemenet esetén:
SELECT Name, GetMetadataPropertyValue(blobInput, '[User]') AS userprops FROM blobInput
Egyedi EventId tulajdonság
Az EventId tulajdonság egyedi azonosítót (GUID) hoz létre egy bemeneti eseményhez, amely elsődleges kulcs szempontjából hasznos lehet. Az EventId konzisztens (nem véletlenszerű); Ha visszalép az időben, és újra beolvassa ugyanazt a bemeneti eseményt, a Stream Analytics ugyanazt az azonosítót fogja előállítani.
Példa
SELECT GetMetadataPropertyValue(ehInput, 'EventId') AS eventPrimaryKey FROM ehInput
Korlátozások és korlátozások
A GetMetadataPropertyValue a következő használati korlátozásokkal rendelkezik:
A lekérdezésben való használat
SELECT *
duplikált oszlopokat eredményez. Az ismétlődő oszlopok elkerülése érdekében listázhatja az oszlopokat egyenként a SELECT utasításban.A Metadata tulajdonságértéknek adott alias kisbetűs lesz, függetlenül a lekérdezésben használt burkolattól. A kimenetek például
SELECT GetMetadataPropertyValue(ehInput, 'EventId') AS eventPrimaryKey
a következőként lesznekeventprimarykey
: . A burkolat megőrzése érdekében használja az 1.2 kompatibilitási szintet.Ez a függvény nem működik az Azure Portal előnézeti eredmények ablaktábláján, beleértve a teszt lekérdezési függvényeket.
Nevezze át az origial payload mezőket, mielőtt az adatok megérkeznek az ASA-ba. A hasznos adatmező neve felülíródik, ha megegyezik a rendszer metaadatainak mezőnevével.
Az EventHub esemény-metaadatainak MessageId és CorrelationId azonosítója nem támogatott.