O Stream Analytics do Azure no IoT Edge

O Azure Stream Analytics no IoT Edge oferece aos desenvolvedores a capacitação necessária para implantar inteligência analítica quase em tempo real próxima à dispositivos IoT, assim eles podem desbloquear o valor integral de dados gerados por dispositivos. O Azure Stream Analytics foi projetado para baixa latência, resiliência, uso eficiente da largura de banda e conformidade. As empresas podem implantar a lógica de controle perto das operações industriais e complementar a análise de Big Data feita na nuvem.

Azure Stream Analytics no IoT Edge executado dentro da estrutura do Azure IoT Edge. Depois que o trabalho é criado no Stream Analytics, você pode implantá-lo e gerenciá-lo usando um Hub IoT.

Cenários comuns

Esta seção descreve os cenários comuns para Stream Analytics no IoT Edge. O diagrama a seguir mostra o fluxo de dados entre dispositivos IoT e a nuvem do Azure.

High level diagram of IoT Edge

Controle e comando de baixa latência

Sistemas de segurança de fabricação devem reagir aos dados operacionais com latência extremamente baixa. Com o Stream Analytics no IoT Edge, você pode analisar dados de sensor quase em tempo real e emitir comandos ao detectar anomalias para interromper um computador ou disparar gatilho.

Conectividade limitada com a nuvem

sistemas críticos, como equipamentos de mineração remotos, embarcações conectadas ou perfuração offshore, precisam analisar e reagir aos dados, mesmo quando a conectividade de nuvem é intermitente. Com o Stream Analytics, a lógica de fluxo é executado independentemente da conectividade de rede, e você pode escolher o que envia para a nuvem para processamento adicional ou armazenamento.

Largura de banda limitada

o volume de dados produzidos por motores a jato ou carros conectados pode ser tão grande que os dados devem ser filtrados ou pré-processados antes de serem enviados para a nuvem. Usando o Stream Analytics, você pode filtrar ou agregar os dados que precisam ser enviados para a nuvem.

Conformidade

a conformidade normativa pode exigir que alguns dados sejam mantidos anônimos localmente ou agregados antes de serem enviados para a nuvem.

Trabalhos de borda no Azure Stream Analytics

Trabalhos do Stream Analytics de Bordas são executados em contêineres implantados nos dispositivos do Azure IoT Edge. Trabalhos de borda são compostos de duas partes:

  • Uma parte de nuvem que é responsável pela definição de trabalho: os usuários definem entradas, saída, consulta e outras configurações, como eventos fora de ordem, na nuvem.

  • Um módulo em execução em seus dispositivos IoT. O módulo contém o Stream Analytics e recebe a definição de trabalho da nuvem.

O Stream Analytics usa o Hub IoT para implantar os trabalhos de borda no(s) dispositivo(s). Para obter mais informações, confira implantação do IoT Edge.

Azure Stream Analytics Edge job

Limitações de trabalho de borda

O objetivo é ter a paridade entre os trabalhos do IoT Edge e os trabalhos de nuvem. A maioria dos recursos de linguagem de consulta SQL tem suporte para borda e nuvem. No entanto, os recursos a seguir ainda não têm suporte para trabalhos de borda:

  • Funções definidas pelo usuário (UDF) no JavaScript. Os UDF estão disponíveis no C# para trabalhos do IoT Edge (versão prévia).
  • Agregações definidas pelo usuário (UDA).
  • Funções do Azure ML.
  • Formato AVRO para entrada/saída. No momento, há suporte apenas para CSV e JSON.
  • Os seguintes operadores SQL:
    • PARTITION BY
    • GetMetadataPropertyValue
  • Política de entrada tardia

Requisitos de hardware e de runtime

Para executar o Stream Analytics no IoT Edge, você precisa de dispositivos que possam executar o Azure IoT Edge.

O Stream Analytics e o Azure IoT Edge usam contêineres Docker para fornecer uma solução portátil que é executada em vários sistemas operacionais host (Windows, Linux).

O Stream Analytics no IoT Edge é disponibilizado como imagens do Windows e do Linux, em execução em arquiteturas x86-64 ou ARM (Máquinas RISC Avançadas).

Entrada e saída

Os trabalhos do Stream Analytics de Bordas podem obter entradas e saídas de outros módulos em execução em dispositivos de IoT Edge. Para se conectar de e para módulos específicos, você pode definir a configuração de roteamento no momento da implantação. Mais informações são descritas na documentação do módulo de composição do IoT Edge.

Para entradas e saídas, há suporte para os formatos CSV e JSON.

Para cada fluxo de entrada e saída que você cria no trabalho do Stream Analytics, um ponto de extremidade correspondente é criado no módulo implantado. Esses pontos de extremidade podem ser usados nas rotas da implantação.

Os tipos de entrada de fluxo com suporte são:

  • Hub do Edge
  • Hub de evento
  • Hub IoT

Os tipos de saída de fluxo com suporte são:

  • Hub do Edge
  • Banco de Dados SQL
  • Hub de evento
  • Armazenamento de blobs/ADLS Gen2

A entrada de referência dá suporte ao tipo de arquivo de referência. Outras saídas podem ser contatadas por meio de um downstream do trabalho de nuvem. Por exemplo, um trabalho do Stream Analytics hospedado no Edge envia a saída para o Hub do Edge, que pode então enviar a saída para o Hub IoT. Você pode usar um segundo trabalho do Azure Stream Analytics hospedado em nuvem com entrada do Hub IoT e saída para o Power BI ou outro tipo de saída.

Licenças e notificações de terceiros

Informações de imagem do módulo Azure Stream Analytics

Esta informação de versão foi atualizada pela última vez em 21/09/2020:

  • Imagem: mcr.microsoft.com/azure-stream-analytics/azureiotedge:1.0.9-linux-amd64

    • imagem base: mcr.microsoft.com/dotnet/core/runtime:2.1.13-alpine
    • plataforma:
      • arquitetura: amd64
      • so: linux
  • Imagem: mcr.microsoft.com/azure-stream-analytics/azureiotedge:1.0.9-linux-arm32v7

    • imagem base: mcr.microsoft.com/dotnet/core/runtime:2.1.13-bionic-arm32v7
    • plataforma:
      • arquitetura: arm
      • so: linux
  • Imagem: mcr.microsoft.com/azure-stream-analytics/azureiotedge:1.0.9-linux-arm64

    • imagem base: mcr.microsoft.com/dotnet/core/runtime:3.0-bionic-arm64v8
    • plataforma:
      • architecture: arm64
      • so: linux

Obter ajuda

Para obter mais assistência, experimente a página de Perguntas e respostas da Microsoft do Azure Stream Analytics.

Próximas etapas