Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
✅ Azure Stream Analytics ✅ Fabric Eventstream
Interroge les données d’entrée pour des propriétés spécifiques. Il existe trois types de propriétés : Adaptateur, Utilisateur et EventId unique.
Propriétés des métadonnées de l’adaptateur
Certaines propriétés spécifiques à l’entrée sont accessibles par la fonction GetMetadataPropertyValue. En outre, toutes les propriétés sont accessibles en tant qu’enregistrement unique.
Remarque
À ce stade, cette fonction ne peut pas être testée sur le portail Azure (elle retourne des résultats vides). Vous pouvez utiliser l’extension ASA pour Visual Studio Code pour tester cette fonction dans votre requête à l’aide de données actives.
Propriétés de métadonnées par défaut pour Event Hubs
- EventEnqueuedUtcTime
- EventProcessedUtcTime
- Identifiant de Partition
- Compenser
- Numéro de séquence
- Clé de partition
- Publisher, lorsqu’il est disponible dans l’événement entrant
Exemples:
Récupérer EventEnqueuedUtcTime à partir d’Event Hubs :
SELECT GetMetadataPropertyValue(ehInput, '[EventHub].[EventEnqueuedUtcTime]') AS mytime FROM ehInput
Pour interroger toutes les propriétés liées à l’adaptateur possibles en tant qu’enregistrement :
SELECT GetMetadataPropertyValue(ehInput, 'EventHub') AS myEHPropertiesRecord FROM ehInput
Propriétés IoT Hub lorsqu’elles sont routées vers des points de terminaison Event Hubs
Lors de l’utilisation de la fonctionnalité de routage IoT Hub vers les points de terminaison Event Hubs, les propriétés de métadonnées sont disponibles en lisant les propriétés à partir d’Event Hubs. Dans ce cas, les propriétés suivantes peuvent être récupérées :
- IoTConnectionDeviceId
- IoTAuthMethod
- IoTAuthGenerationId
- IoTEnqueueTime
- IoTMessageSource
- IoTConnectionModuleId
- IoTInterfaceName
Exemple : SELECT GetMetadataPropertyValue(ehInput, '[EventHub].[IoTConnectionDeviceId]') AS myIoTDeviceId FROM ehInput
Les propriétés ajoutées via l’enrichissement des messages IoT Hub peuvent être récupérées via les propriétés utilisateur.
Propriétés de métadonnées par défaut pour IoT Hub
ConnectionDeviceId
AuthMethod
AuthGenerationId
EnqueueTime
MessageSource
ConnectionModuleId
InterfaceName
CorrelationId
Identifiant de message
ConnectionDeviceGenerationId
Exemples:
Récupérer EnqueuedTime à partir d’IoT Hub :
SELECT GetMetadataPropertyValue(iotInput, 'IoTHub.EnqueuedTime') AS myEnqueuedTime FROM iotInput
Pour interroger toutes les propriétés liées à l’adaptateur possibles en tant qu’enregistrement :
SELECT GetMetadataPropertyValue(iotInput, 'IoTHub') AS iotRecord FROM iotInput
Propriétés de métadonnées par défaut pour l’entrée d’objet blob :
- BlobName
- BlobLastModifiedUtcTime
- Identifiant de Partition
Exemple SELECT GetMetadataPropertyValue(blobInput, 'BlobName') AS myBlobName FROM blobInput
Propriétés utilisateur
Une propriété utilisateur personnalisée appelée SenderClientId set sur les messages EventHub/IoT/Blob entrants est rendue accessible à l’aide de GetMetadataPropertyValue, comme illustré dans l’exemple ci-dessous.
En outre, les propriétés de jumeau et les propriétés enrichies ajoutées à l’aide de l’enrichissement des messages IoT Hub peuvent également être récupérées à l’aide de GetMetadataPropertyValue.
Exemples
Pour interroger à partir d’une entrée Event Hub,
SELECT Name, GetMetadataPropertyValue(ehInput, '[User].[SenderClientId]') FROM ehInput
Pour interroger à partir d’une entrée IoT Hub,
SELECT Name, GetMetadataPropertyValue(iotInput, '[User].[SenderClientId]') FROM iotInput
Pour interroger à partir d’une entrée d’objet blob,
SELECT Name, GetMetadataPropertyValue(blobInput, '[User].[SenderClientId]') FROM blobInput
Pour obtenir toutes les propriétés utilisateur en tant qu’enregistrement,
Pour Event Hub :
SELECT Name, GetMetadataPropertyValue(ehInput, '[User]') AS userprops FROM ehInput
Pour IoT Hub :
SELECT Name, GetMetadataPropertyValue(iotInput, '[User]') AS userprops FROM iotInput
Pour l’entrée d’objet blob :
SELECT Name, GetMetadataPropertyValue(blobInput, '[User]') AS userprops FROM blobInput
Unique EventId, propriété
La propriété EventId crée un ID unique (GUID) pour un événement d’entrée, qui peut être utile à des fins de clé primaire. EventId est cohérent (non aléatoire) ; si vous revenez en arrière et réécrirez le même événement d’entrée, Stream Analytics produira le même ID.
Exemple :
SELECT GetMetadataPropertyValue(ehInput, 'EventId') AS eventPrimaryKey FROM ehInput
Limitations et restrictions
GetMetadataPropertyValue présente les limitations suivantes de l’utilisation :
L’utilisation
SELECT *dans votre requête provoque des colonnes dupliquées. Pour empêcher les colonnes en double, répertoriez les colonnes individuellement dans votre instruction SELECT.L’alias que vous attribuez à votre valeur de propriété de métadonnées est en minuscules, quelle que soit la casse utilisée dans votre requête. Par exemple,
SELECT GetMetadataPropertyValue(ehInput, 'EventId') AS eventPrimaryKeyles sorties en tant queeventprimarykey. Pour conserver la casse, utilisez le niveau de compatibilité 1.2.Cette fonction ne fonctionne pas dans le volet de résultats de la préversion du portail Azure, y compris les fonctions de requête de test.
Renommez les champs de charge utile origiale avant que les données arrivent à ASA. Le nom du champ de charge utile est remplacé s’il est identique au nom du champ de métadonnées système.
MessageId et CorrelationId des métadonnées d’événement d’EventHub ne sont pas pris en charge.