Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
✅ Fluxo de eventos do Azure Stream Analytics ✅ Fabric
Consulta dados de entrada para propriedades específicas. Há três tipos de propriedades: Adaptador, Usuário e Unique EventId.
Propriedades de metadados do adaptador
Determinadas 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
Neste 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
- EventProcessedUtcTime
- Identificador de Partição
- Offset
- SequenceNumber
- Chave de Partição
- Publicador, quando disponível no evento de entrada
Exemplos:
Recuperar EventEnqueuedUtcTime dos Hubs de Eventos:
SELECT GetMetadataPropertyValue(ehInput, '[EventHub].[EventEnqueuedUtcTime]') AS mytime FROM ehInput
Para consultar todas as propriedades possíveis relacionadas ao adaptador como um registro:
SELECT GetMetadataPropertyValue(ehInput, 'EventHub') AS myEHPropertiesRecord FROM ehInput
Propriedades do Hub IoT quando roteadas para pontos de extremidade dos Hubs de Eventos
Ao usar o recurso de roteamento do Hub IoT para pontos de extremidade dos Hubs de Eventos, as propriedades de metadados estarão disponíveis lendo propriedades dos Hubs de Eventos. Nesse caso, as seguintes propriedades que podem ser recuperadas:
- IoTConnectionDeviceId
- IoTAuthMethod
- 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 de propriedades do usuário.
Propriedades de metadados padrão para o Hub IoT
ConnectionDeviceId
AuthMethod
AuthGenerationId
EnqueueTime
MessageSource
ConnectionModuleId
InterfaceName
CorrelationId
MessageId
ConnectionDeviceGenerationId
Exemplos:
Recuperar EnqueuedTime do Hub IoT:
SELECT GetMetadataPropertyValue(iotInput, 'IoTHub.EnqueuedTime') AS myEnqueuedTime FROM iotInput
Para consultar todas as propriedades possíveis relacionadas ao adaptador como um registro:
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 de usuário
Uma propriedade de usuário personalizada chamada SenderClientId definida nas mensagens EventHub/IoT/Blob de entrada é tornada acessível 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 ler novamente o mesmo evento de entrada, o Stream Analytics produzirá a mesma ID.
Exemplo
SELECT GetMetadataPropertyValue(ehInput, 'EventId') AS eventPrimaryKey FROM ehInput
Limitações e restrições
GetMetadataPropertyValue tem as seguintes limitações de uso:
Usar
SELECT *em sua consulta causa colunas duplicadas. Para evitar colunas duplicadas, liste colunas individualmente em sua instrução SELECT.O alias que você fornecer ao seu Valor da Propriedade de Metadados será minúsculo, independentemente da maiúscula usada em sua consulta. Por exemplo,
SELECT GetMetadataPropertyValue(ehInput, 'EventId') AS eventPrimaryKeysaídas comoeventprimarykey. Para preservar o casing, use o nível de compatibilidade 1.2.Essa função não funciona no painel de resultados da visualização do portal do Azure, incluindo funções de consulta de teste.
Renomeie os campos de conteúdo origial antes que os dados cheguem ao ASA. O nome do campo de carga 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 evento do EventHub.