Compartilhar via


Referência da linguagem de consulta do Stream Analytics > do Azure

O Azure Stream Analytics oferece uma linguagem de consulta SQL para executar transformações e cálculos em fluxos de eventos.

Um subconjunto de sintaxe T-SQL

Este documento descreve a sintaxe, o uso e as práticas recomendadas para a linguagem de consulta do Stream Analytics. Todos os exemplos usados neste documento dependem de um cenário de pedágio, conforme descrito abaixo.

A linguagem de consulta do Stream Analytics é um subconjunto da sintaxe T-SQL padrão para fazer cálculos de streaming.

O cenário da cabine de pedágio

Uma estação de pedágio é um fenômeno comum – encontramos-as em muitas vias expressas, pontes e túneis em todo o mundo. Cada estação de pedágio tem várias cabines de pedágio, o que pode ser manual – o que significa que você para para pagar o pedágio a um atendedor ou automatizado – onde um sensor colocado no topo da cabine verifica um cartão RFID afixado no pára-brisa do seu veículo enquanto você passa pela cabine de pedágio. É fácil visualizar a passagem de veículos por essas estações de pedágio como um fluxo de eventos sobre o qual operações interessantes podem ser executadas.

Hora de chegada versus hora do aplicativo

Em qualquer sistema temporal como o Azure Stream Analytics, é essencial entender o progresso do tempo. Cada evento que flui pelo sistema vem com um carimbo de data/hora que pode ser acessado por meio de System.Timestamp(). Em outras palavras, cada evento em nosso sistema representa um ponto no tempo. Esse carimbo de data/hora pode ser um tempo de aplicativo que o usuário pode especificar na consulta ou o sistema pode atribuir com base na hora de chegada. A hora de chegada tem significados diferentes com base nas fontes de entrada. Para os eventos do Hub de Eventos do Azure, a hora de chegada é o carimbo de data/hora fornecido pelo hub de eventos; para o Armazenamento de Blobs, é a última hora modificada do blob. O carimbo de data/hora é o ponto no tempo relevante para capturar ou analisar dados. Se o usuário quiser usar um tempo de aplicativo, ele poderá fazer isso usando a palavra-chave TIMESTAMP BY . No cenário acima, é a entrada do veículo para a cabine de pedágio. É essencial identificar o "carimbo de data/hora" no fluxo de entrada de dados, deve-se garantir que o tempo capturado também confirme a ocorrência de um evento. Por exemplo, se um estiver monitorando contadores de caixa e quiser contar o número de clientes cobrados, o ideal é que o carimbo de data/hora do evento seja "bem-sucedido em vez de "cobrança gerada".

CARIMBO DE TEMPO POR

No Azure Stream Analytics, todos os eventos têm um carimbo de data/hora bem definido. Se o usuário quiser usar o tempo do aplicativo, ele poderá usar a palavra-chave TIMESTAMP BY para especificar a coluna no conteúdo que deve ser usada para carimbo de data/hora em cada evento de entrada para executar qualquer computação temporal como Janelas, Junções etc. É recomendável usar TIMESTAMP BY ao longo do tempo de chegada como uma prática recomendada. TIMESTAMP BY pode ser usado em qualquer coluna do tipo datetime e todos os formatos ISO 8601 têm suporte. System.Timestamp() só pode ser usado em Selecionar.

Veja a seguir um exemplo TIMESTAMP BY que usa a coluna EntryTime como a hora do aplicativo para eventos:

  
SELECT TollId, EntryTime AS VehicleEntryTime, LicensePlate, State, Make, Model, VehicleType, VehicleWeight, Toll, Tag   
FROM TollTagEntry TIMESTAMP BY EntryTime  
  

Confidencialidade de maiúsculas e minúsculas do nome do campo

Os nomes de campo para um trabalho criado usando o nível de compatibilidade 1.0 são alterados para maiúsculas e minúsculas quando processados pelo mecanismo do Azure Stream Analytics. Para formatos de entrada que dão suporte a esquemas sensíveis a maiúsculas e minúsculas, por exemplo, JSON, você pode construir eventos que têm campos duplicados quando os nomes de campo são comparados de maneira de insensibilidade de caso. Esses eventos são considerados eventos inválidos e são descartados durante o processamento.

A confidencialidade de maiúsculas e minúsculas é mantida para nomes de campo quando o trabalho do Stream Analytics é criado usando o nível de compatibilidade 1.1 ou superior. Para obter mais informações, consulte o tópico de nível de compatibilidade de configuração .

Nesta seção

Consulte os tópicos a seguir para obter diretrizes sobre como usar a linguagem de consulta do Stream Analytics.

Consulte Também