Partilhar via


GetMetadataPropertyValue

✅ Azure Stream Analytics ✅ Fabric Eventstream

Consulta dados de entrada para propriedades específicas. Há três tipos de propriedades: Adapter, User e Unique EventId.

Propriedades de metadados do adaptador

Certas propriedades específicas de entrada são acessíveis pela função GetMetadataPropertyValue. Além disso, todas as propriedades podem ser acessadas como um único registro.

Observação

No momento, essa função não pode ser testada no portal do Azure (ela retornará resultados vazios). Você pode usar a extensão ASA para Visual Studio Code para testar essa função em sua consulta usando dados dinâmicos.

Propriedades de metadados padrão para Hubs de Eventos

  • EventEnqueuedUtcTime
  • HoraUTCDoEventoProcessado
  • Identificador de Partição
  • Compensação
  • Número de Sequência
  • Chave de Partição
  • Publisher, quando disponível no evento de entrada

Exemplos:

Recuperar EventEnqueuedUtcTime de Hubs de Eventos:

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

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

Propriedades do Hub IoT quando roteadas para pontos de extremidade de Hubs de Eventos

Ao usar o recurso de roteamento do Hub IoT para pontos de extremidade de Hubs de Eventos, as propriedades de metadados estarão disponíveis lendo as propriedades dos Hubs de Eventos. Neste caso, as seguintes propriedades que podem ser recuperadas:

  • IoTConnectionDeviceId
  • Método IoTAuth
  • IoTAuthGenerationId
  • IoTEnqueueTime
  • IoTMessageSource
  • IoTConnectionModuleId
  • IoTInterfaceName

Exemplo: SELECT GetMetadataPropertyValue(ehInput, '[EventHub].[IoTConnectionDeviceId]') AS myIoTDeviceId FROM ehInput

As propriedades adicionadas por meio do enriquecimento de mensagens do Hub IoT podem ser recuperadas por meio das propriedades do usuário.

Propriedades de metadados padrão para o Hub IoT

  • ConnectionDeviceId

  • AuthMethod

  • AuthGenerationId

  • EnqueueTime

  • MessageSource

  • ConnectionModuleId

  • Nome da interface

  • CorrelationId

  • ID de Mensagem

  • ConnectionDeviceGenerationId

Exemplos:

Recuperar EnqueuedTime do Hub IoT:

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

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

Propriedades de metadados padrão para entrada de Blob:

  • BlobName
  • BlobLastModifiedUtcTime
  • Identificador de Partição

Exemplo SELECT GetMetadataPropertyValue(blobInput, 'BlobName') AS myBlobName FROM blobInput

Propriedades do utilizador

Uma propriedade de usuário personalizada chamada SenderClientId definida em mensagens EventHub/IoT/Blob de entrada é disponibilizada usando GetMetadataPropertyValue, conforme mostrado no exemplo abaixo.

Além disso, propriedades gêmeas e propriedades enriquecidas adicionadas usando o enriquecimento de mensagens do Hub IoT também podem ser recuperadas usando GetMetadataPropertyValue.

Exemplos

Para consultar a partir de uma entrada do Hub de Eventos,
SELECT Name, GetMetadataPropertyValue(ehInput, '[User].[SenderClientId]') FROM ehInput

Para consultar a partir de uma entrada do Hub IoT,
SELECT Name, GetMetadataPropertyValue(iotInput, '[User].[SenderClientId]') FROM iotInput

Para consultar a partir de uma entrada de Blob,
SELECT Name, GetMetadataPropertyValue(blobInput, '[User].[SenderClientId]') FROM blobInput

Para obter todas as propriedades do usuário como um registro,

Para o Hub de Eventos:
SELECT Name, GetMetadataPropertyValue(ehInput, '[User]') AS userprops FROM ehInput

Para o Hub IoT:
SELECT Name, GetMetadataPropertyValue(iotInput, '[User]') AS userprops FROM iotInput

Para entrada de Blob:
SELECT Name, GetMetadataPropertyValue(blobInput, '[User]') AS userprops FROM blobInput

Propriedade EventId exclusiva

A propriedade EventId cria uma ID exclusiva (Guid) para um evento de entrada, que pode ser útil para fins de chave primária. EventId é consistente (não aleatório); se você voltar no tempo e reler o mesmo evento de entrada, o Stream Analytics produzirá o mesmo ID.

Exemplo

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

Limitações e Restrições

GetMetadataPropertyValue tem as seguintes limitações de uso:

  • O uso SELECT * na consulta causa colunas duplicadas. Para evitar colunas duplicadas, liste as colunas individualmente na instrução SELECT.

  • O alias que você fornecer ao seu Metadata Property Value será minúsculo, independentemente do invólucro usado na consulta. Por exemplo, SELECT GetMetadataPropertyValue(ehInput, 'EventId') AS eventPrimaryKey saídas como eventprimarykey. Para preservar o invólucro, use o nível de compatibilidade 1.2.

  • Esta função não funciona no painel de resultados de pré-visualização do portal do Azure, incluindo funções de consulta de teste.

  • Renomeie os campos de carga útil origiais antes que os dados cheguem ao ASA. O nome do campo de carga útil será substituído se for o mesmo que o nome do campo de metadados do sistema.

  • Não há suporte para MessageId e CorrelationId dos metadados de eventos do EventHub.