Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
✅ Azure Stream Analytics ✅ Fabric Eventstream
Frågor indata för specifika egenskaper. Det finns tre typer av egenskaper: Adapter, Användare och Unikt EventId.
Egenskaper för adaptermetadata
Vissa indataspecifika egenskaper är tillgängliga för funktionen GetMetadataPropertyValue. Dessutom kan alla egenskaper nås som en enda post.
Anmärkning
Den här funktionen kan för närvarande inte testas på Azure-portalen (den returnerar tomma resultat). Du kan använda ASA-tillägget för Visual Studio Code för att testa den här funktionen i din fråga med hjälp av livedata.
Standardegenskaper för metadata för Event Hubs
- EventEnqueuedUtcTime
- EventProcessedUtcTime
- PartitionId
- Uppväga
- Sekvensnummer
- Partitionsnyckel
- Publisher, när det är tillgängligt i den inkommande händelsen
Exempel:
Hämta EventEnqueuedUtcTime från Event Hubs:
SELECT GetMetadataPropertyValue(ehInput, '[EventHub].[EventEnqueuedUtcTime]') AS mytime FROM ehInput
Så här kör du frågor mot alla möjliga adapterrelaterade egenskaper som en post:
SELECT GetMetadataPropertyValue(ehInput, 'EventHub') AS myEHPropertiesRecord FROM ehInput
IoT Hub-egenskaper när de dirigeras till Event Hubs-slutpunkter
När du använder IoT Hub-routningsfunktionen till Event Hubs-slutpunkter blir metadataegenskaper tillgängliga genom att läsa egenskaper från Event Hubs. I det här fallet följande egenskaper som kan hämtas:
- IoTConnectionDeviceId
- IoTAuthMethod
- IoTAuthGenerationId
- IoTEnqueueTime
- IoTMessageSource
- IoTConnectionModuleId
- IoTInterfaceName
Exempel: SELECT GetMetadataPropertyValue(ehInput, '[EventHub].[IoTConnectionDeviceId]') AS myIoTDeviceId FROM ehInput
Egenskaper som läggs till via IoT Hub-meddelandeberikning kan hämtas via användaregenskaper.
Standardegenskaper för metadata för IoT Hub
ConnectionDeviceId
AuthMethod
AuthGenerationId
EnqueueTime
MessageSource
ConnectionModuleId
InterfaceName
CorrelationId
Meddelande-ID
ConnectionDeviceGenerationId
Exempel:
Hämta EnqueuedTime från IoT Hub:
SELECT GetMetadataPropertyValue(iotInput, 'IoTHub.EnqueuedTime') AS myEnqueuedTime FROM iotInput
Så här kör du frågor mot alla möjliga adapterrelaterade egenskaper som en post:
SELECT GetMetadataPropertyValue(iotInput, 'IoTHub') AS iotRecord FROM iotInput
Standardmetadataegenskaper för Blob-indata:
- BlobName
- BlobLastModifiedUtcTime
- PartitionId
Till exempel SELECT GetMetadataPropertyValue(blobInput, 'BlobName') AS myBlobName FROM blobInput
Användaregenskaper
En anpassad användaregenskap med namnet SenderClientId som angetts för inkommande EventHub/IoT/Blob-meddelanden görs tillgänglig med Hjälp av GetMetadataPropertyValue, som du ser i exemplet nedan.
Dessutom kan tvillingegenskaper och berikade egenskaper som lagts till med hjälp av IoT Hub-meddelandeberikning hämtas med hjälp av GetMetadataPropertyValue.
Exempel
Om du vill fråga från en Event Hub-indata,
SELECT Name, GetMetadataPropertyValue(ehInput, '[User].[SenderClientId]') FROM ehInput
Om du vill fråga från en IoT Hub-indata,
SELECT Name, GetMetadataPropertyValue(iotInput, '[User].[SenderClientId]') FROM iotInput
Om du vill fråga från en Blob-indata,
SELECT Name, GetMetadataPropertyValue(blobInput, '[User].[SenderClientId]') FROM blobInput
Om du vill hämta alla användaregenskaper som en post,
För Event Hub:
SELECT Name, GetMetadataPropertyValue(ehInput, '[User]') AS userprops FROM ehInput
För IoT Hub:
SELECT Name, GetMetadataPropertyValue(iotInput, '[User]') AS userprops FROM iotInput
För Blob-indata:
SELECT Name, GetMetadataPropertyValue(blobInput, '[User]') AS userprops FROM blobInput
Unik EventId-egenskap
Egenskapen EventId skapar ett unikt ID (Guid) för en indatahändelse, vilket kan vara användbart för primära nyckelsyften. EventId är konsekvent (inte slumpmässigt); Om du går tillbaka i tiden och läser samma indatahändelse igen skapar Stream Analytics samma ID.
Exempel
SELECT GetMetadataPropertyValue(ehInput, 'EventId') AS eventPrimaryKey FROM ehInput
Begränsningar och restriktioner
GetMetadataPropertyValue har följande användningsbegränsningar:
Att använda
SELECT *i frågan orsakar dubbletter av kolumner. Om du vill förhindra dubbletter av kolumner listar du kolumner individuellt i SELECT-instruktionen.Aliaset som du ger värdet för metadataegenskapen är gemener oavsett vilket hölje som används i frågan. Till exempel
SELECT GetMetadataPropertyValue(ehInput, 'EventId') AS eventPrimaryKeyutdata someventprimarykey. Använd kompatibilitetsnivå 1.2 för att bevara höljet.Den här funktionen fungerar inte i resultatfönstret för förhandsversionen av Azure-portalen, inklusive testfrågefunktioner.
Byt namn på fälten för origiell nyttolast innan data kommer till ASA. Nyttolastfältets namn skrivs över om det är samma som systemets metadatafältnamn.
MessageId och CorrelationId för EventHubs händelsemetadata stöds inte.