Megosztás a következőn keresztül:


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

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

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 lesznek eventprimarykey: . 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.