GetMetadataPropertyValue

✅ Поток событий Azure Stream Analytics ✅ Fabric

Запрашивает входные данные для определенных свойств. Существует три типа свойств: Adapter, User и Unique EventId.

Свойства метаданных адаптера

Некоторые свойства, относящиеся к входу, доступны функцией GetMetadataPropertyValue. Кроме того, все свойства можно получить в виде одной записи.

Замечание

В настоящее время эту функцию нельзя проверить на портале Azure (она вернет пустые результаты). Расширение ASA для Visual Studio Code можно использовать для тестирования этой функции в запросе с помощью динамических данных.

Свойства метаданных по умолчанию для Центров событий

  • EventEnqueuedUtcTime
  • EventProcessedUtcTime
  • Идентификатор раздела
  • Смещение
  • Порядковый номер
  • Ключ Раздела
  • Издатель, когда он доступен во входящем событии

Примеры.

Получение EventEnqueuedUtcTime из Центров событий:

SELECT GetMetadataPropertyValue(ehInput, '[EventHub].[EventEnqueuedUtcTime]') AS mytime FROM ehInput

SELECT GetMetadataPropertyValue(ehInput, 'EventHub') AS myEHPropertiesRecord FROM ehInput

Свойства Центра Интернета вещей при перенаправлении в конечные точки Центров событий

При использовании функции маршрутизации Центра Интернета вещей в конечные точки Центров событий свойства метаданных будут доступны путем чтения свойств из Центров событий. В этом случае можно получить следующие свойства:

  • IoTConnectionDeviceId
  • IoTAuthMethod
  • IoTAuthGenerationId
  • IoTEnqueueTime
  • IoTMessageSource
  • IoTConnectionModuleId
  • IoTInterfaceName

Пример: SELECT GetMetadataPropertyValue(ehInput, '[EventHub].[IoTConnectionDeviceId]') AS myIoTDeviceId FROM ehInput

Свойства, добавленные через обогащение сообщений Центра Интернета вещей , можно получить с помощью свойств пользователя.

Свойства метаданных по умолчанию для Центра Интернета вещей

  • ConnectionDeviceId

  • AuthMethod

  • AuthGenerationId

  • EnqueueTime

  • MessageSource

  • ConnectionModuleId

  • InterfaceName

  • CorrelationId

  • ИдентификаторСообщения

  • ConnectionDeviceGenerationId

Примеры.

Получение enqueuedTime из Центра Интернета вещей:

SELECT GetMetadataPropertyValue(iotInput, 'IoTHub.EnqueuedTime') AS myEnqueuedTime FROM iotInput

SELECT GetMetadataPropertyValue(iotInput, 'IoTHub') AS iotRecord FROM iotInput

Свойства метаданных по умолчанию для входных данных BLOB-объектов:

  • BlobName
  • BlobLastModifiedUtcTime
  • Идентификатор раздела

Пример: SELECT GetMetadataPropertyValue(blobInput, 'BlobName') AS myBlobName FROM blobInput.

Свойства пользователя

Настраиваемое свойство пользователя с именем SenderClientId, установленное на входящих сообщениях EventHub/IoT/Blob, становится доступным с помощью GetMetadataPropertyValue, как показано в приведенном ниже примере.

Кроме того, свойства двойников и обогащенные свойства, добавленные с помощью обогащения сообщений Центра Интернета вещей, также можно получить с помощью GetMetadataPropertyValue.

Примеры

Запрос из входных данных концентратора событий
SELECT Name, GetMetadataPropertyValue(ehInput, '[User].[SenderClientId]') FROM ehInput

Чтобы выполнить запрос из входных данных Центра Интернета вещей,
SELECT Name, GetMetadataPropertyValue(iotInput, '[User].[SenderClientId]') FROM iotInput

Чтобы выполнить запрос из входных данных BLOB-объекта,
SELECT Name, GetMetadataPropertyValue(blobInput, '[User].[SenderClientId]') FROM blobInput

Чтобы получить все свойства пользователя в виде записи,

Для Концентратора событий:
SELECT Name, GetMetadataPropertyValue(ehInput, '[User]') AS userprops FROM ehInput

Для Центр Интернета вещей:
SELECT Name, GetMetadataPropertyValue(iotInput, '[User]') AS userprops FROM iotInput

Для входных данных BLOB-объектов:
SELECT Name, GetMetadataPropertyValue(blobInput, '[User]') AS userprops FROM blobInput

Свойство Unique EventId

Свойство EventId создает уникальный идентификатор (GUID) для входного события, которое может быть полезно для целей первичного ключа. EventId является согласованным (не случайным); Если вернуться назад и повторно прочитать одно и то же событие ввода, Stream Analytics создаст тот же идентификатор.

Пример

SELECT GetMetadataPropertyValue(ehInput, 'EventId') AS eventPrimaryKey FROM ehInput

Ограничения и условия

GetMetadataPropertyValue имеет следующие ограничения использования:

  • Использование SELECT * в запросе приводит к дублированию столбцов. Чтобы предотвратить дублирование столбцов, выведите список столбцов по отдельности в инструкции SELECT.

  • Псевдоним, который вы предоставляете значению свойства метаданных, будет строчным регистром независимо от регистра, используемого в запросе. Например, SELECT GetMetadataPropertyValue(ehInput, 'EventId') AS eventPrimaryKey выходные данные в виде eventprimarykey. Чтобы сохранить регистр, используйте уровень совместимости 1.2.

  • Эта функция не работает в области результатов предварительной версии портала Azure, включая функции тестового запроса.

  • Переименуйте поля полезных данных origial перед поступлением данных в ASA. Имя поля полезных данных будет перезаписано, если оно совпадает с именем поля системных метаданных.

  • MessageId и CorrelationId метаданных событий EventHub не поддерживаются.