Quickstart: Criar um trabalho stream Analytics usando o Código do Estúdio Visual

Este quickstart mostra-lhe como criar, executar e enviar um trabalho Azure Stream Analytics (ASA) utilizando a extensão ASA Tools para Código de Estúdio Visual na sua máquina local. Aprende-se a construir um trabalho ASA que lê dados de streaming em tempo real a partir de Hub IoT e filtra eventos com uma temperatura superior a 27°. Os resultados são enviados para um ficheiro no armazenamento de bolhas. Os dados de entrada utilizados neste quickstart são gerados por um simulador online Raspberry Pi.

Nota

As ferramentas visual Studio Code não suportam empregos nas regiões do Leste da China, China Norte, Alemanha Central e Alemanha do Norte da América.

Pré-requisitos

Instale a extensão Azure Stream Analytics Tools

  1. Código de estúdio visual aberto (Código VS).

  2. A partir de extensões no painel esquerdo, procure análises de fluxo e selecione Instale na extensão Azure Stream Analytics Tools .

    Screenshot mostrando a página de extensões do Código do Estúdio Visual com a opção de instalar a extensão Stream Analytics.

  3. Depois de instalado, selecione o ícone Azure na barra de atividades e inscreva-se no Azure.

    Screenshot mostrando como se inscrever no Azure.

  4. Assim que fizer o seu contrato, poderá ver as subscrições na sua conta Azure.

Nota

A extensão asa Tools iniciará automaticamente o seu acesso sempre que abrir o Código VS. Se a sua conta tiver autenticação de dois fatores, recomendamos que utilize a autenticação do telefone em vez de utilizar um PIN. Para assinar a sua conta Azure, prima Ctrl + Shift + P e introduza Azure: Sign Out.

Preparar os dados de entrada

Antes de definir o trabalho stream Analytics, deve preparar os dados de entrada. Os dados do sensor em tempo real são ingeridos para Hub IoT, que mais tarde configurados como entrada de trabalho. Para preparar os dados de entrada exigidos pelo trabalho, siga estes passos:

  1. Inicie sessão no portal do Azure.

  2. Selecione Criar um recurso > Internet of Things > Hub IoT.

    Screenshot mostrando a página De Recursos criar para Iot Hub.

  3. Na página Hub IoT, insira as seguintes informações:

    • Subscrição, selecione a sua subscrição Azure.
    • Grupo de recursos, selecione um grupo de recursos existente ou crie um novo grupo de recursos.
    • Nome do hub IoT, insira um nome para o seu hub IoT.
    • Região, selecione a região mais próxima de si.

    Screenshot mostrando a página Hub IoT para criação.

  4. Vá à página Gestão , para preços e escala, selecione F1: Nível gratuito, se ainda estiver disponível na sua subscrição. Para mais informações, consulte Hub IoT do Azure preços.

    Screenshot mostrando a página de gestão Hub IoT.

  5. Selecione Rever + criar. Reveja as informações do seu hub IoT e selecione Criar. Este processo pode demorar alguns minutos a implantar o seu hub IoT.

  6. Depois de o seu hub IoT ser criado, selecione Ir para o recurso para navegar para a página Hub IoT. '

  7. Na página Hub IoT, selecione Dispositivos no menu esquerdo e, em seguida, selecione + Adicionar Dispositivo.

    Screenshot mostrando o botão adicionar dispositivo na página dispositivos.

  8. Introduza um ID do dispositivo e selecione Save.

    Screenshot mostrando a página do Dispositivo de Adicionar.

  9. Uma vez criado o dispositivo, deverá ver o dispositivo a partir da lista de dispositivos IoT . Selecione o botão 'Renovar ' na página se não o vir.

    Screenshot mostrando a seleção do dispositivo na página dispositivos.

  10. Selecione o seu dispositivo da lista. Copie a cadeia de ligação primária e guarde-a num bloco de notas para utilizar mais tarde.

    Screenshot mostrando a cadeia de ligação primária do dispositivo que criou.

Executar o simulador IoT

  1. Abra o Raspberry Pi Azure IoT Online Simulator num novo separador de navegador.

  2. Substitua o espaço reservado na linha 15 pela cadeia de ligação do dispositivo do hub IoT que guardou anteriormente.

  3. Selecione Executar. A saída deve mostrar os dados e mensagens do sensor que estão a ser enviados para o seu hub IoT.

    Screenshot mostrando o Raspberry Pi Azure IoT Online Simulator com saída.

Criar armazenamento de bolhas

  1. A partir do canto superior esquerdo do portal do Azure, selecione Criar umaconta de armazenamento de> recursos>.

    Screenshot mostrando o menu de conta de armazenamento Criar.

  2. No painel de conta de armazenamento Criar , introduza um nome de conta de armazenamento, localização e grupo de recursos. Escolha o mesmo grupo de localização e recursos que o hub IoT que criou. Em seguida, selecione Rever e Criar para criar a conta de armazenamento.

    Screenshot mostrando a página de conta de armazenamento Criar.

  3. Na página da conta De armazenamento , selecione Recipientes no menu esquerdo e, em seguida, selecione + Recipiente na barra de comando.

    Screenshot mostrando a página de Contentores.

  4. A partir da página do novo recipiente , forneça um nome para o seu recipiente, deixe o nível de acesso público como Privado (sem acesso anónimo)e selecione OK.

    Screenshot mostrando a criação de uma página de recipiente de bolha.

Criar um projeto do Stream Analytics

  1. No Código do Estúdio Visual, prima Ctrl+Shift+P e introduza ASA: Criar Novo Projeto.

    Screenshot mostrando a seleção de ASA: Criar novo projeto na paleta de comando.

  2. Insira o nome do seu projeto, como myASAproj, e selecione uma pasta para o seu projeto.

    Screenshot mostrando a entrada de um nome de projeto ASA.

  3. Um projeto ASA é adicionado ao seu espaço de trabalho. É composto por três pastas: Entradas, Saídas e Funções. Também tem o script de consulta (*.asaql), um ficheiro JobConfig.json e um ficheiro de configuração asaproj.json .

    Screenshot mostrando ficheiros de projeto stream analytics em Visual Studio Code.

    O ficheiro asaproj.json contém as definições de entradas, saídas e configuração de trabalho para submeter o trabalho stream Analytics para Azure.

    Nota

    Quando adiciona entradas e saídas da paleta de comando, os caminhos correspondentes são adicionados automaticamente a asaproj.json . Se adicionar ou remover diretamente as entradas ou saídas no disco, tem de as adicionar manualmente ou removê-las do asaproj.json. Pode optar por colocar as entradas e saídas num só local e, em seguida, fazê-las referenciar em diferentes trabalhos, especificando os caminhos em cada ficheiro asaproj.json .

Definir a consulta de transformação

  1. Abra o ficheiro myASAproj.asaql e adicione a seguinte consulta:

    SELECT *
    INTO Output
    FROM Input
    WHERE Temperature > 27
    

    Screenshot mostrando a consulta de transformação.

Configurar a entrada da tarefa

  1. Clique com o botão direito na pasta Inputs no seu projeto Stream Analytics. Em seguida, selecione ASA: Adicione a entrada no menu de contexto.

    Screenshot mostrando o ASA: Adicione o menu de entrada no Código do Estúdio Visual.

    Ou prima Ctrl+Shift+P para abrir a paleta de comando e introduzir ASA: Adicionar Entrada.

  2. Escolha Hub IoT para o tipo de entrada.

    Screenshot mostrando a seleção do seu hub IoT na paleta de comando vs Code.

  3. Selecione um script ASA *.asaql e Azure Subscrições a partir do menu suspenso e, em seguida, prima ENTER.

  4. Na pasta Entradas , vê-se um ficheiro IoTHub1.json criado. Substitua as definições pelos seguintes valores sugeridos e mantenha os valores predefinidos para os campos não mencionados aqui.

    Definições Valor sugerido Descrição
    Nome Entrada Este nome de entrada é utilizado para a declaração FROM na consulta.
    IotHubNamespace spiothub Nome do seu centro de IoT. Os nomes do hub IoT são automaticamente detetados se selecionar a partir da sua subscrição.
    SharedAccessPolicyName iothubowner

    Screenshot mostrando a configuração Hub IoT no Código VS.

  5. Selecione os dados de pré-visualização para ver se os dados de entrada estão configurados com sucesso para o seu trabalho. Vai buscar uma amostra do seu Hub IoT e aparecer na janela de pré-visualização.

    Screenshot mostrando a pré-visualização de dados de entrada no seu hub IoT.

Configurar a saída da tarefa

  1. Prima Ctrl+Shift+P para abrir a paleta de comando e entrar na ASA: Adicionar saída.

  2. Escolha Data Lake Storage Gen2/Blob Storage para o tipo de pia.

  3. Selecione o script de consulta usando esta saída.

  4. Insira blobStorage1 como nome de ficheiro de saída.

  5. Edite as definições utilizando os seguintes valores. Mantenha os valores predefinidos para os campos não mencionados aqui.

    Definição Valor sugerido Descrição
    Nome Saída Este nome de saída é utilizado para a declaração INTO na consulta.
    Conta de Armazenamento spstorageaccount0901 Escolha ou insira o nome da sua conta de armazenamento. Os nomes das contas de armazenamento são automaticamente detetados se forem criados na mesma subscrição.
    Contentor esplêndido Selecione o contentor existente que criou na conta de armazenamento.

Screenshot mostrando a configuração de saída para o trabalho stream Analytics.

Compilar o script e submeter-se ao Azure

A compilação de scripts verifica a sintaxe e gera os modelos de Resource Manager Azure para a implementação automática.

  1. Clique com o botão direito no script e selecione ASA: Compilar Script.

    Screenshot mostrando a compilação da opção de script do explorador Stream Analytics em VS Code.

  2. Após a compilação, vê uma pasta Implementar no âmbito do seu projeto com dois modelos Azure Resource Manager. Estes dois ficheiros são usados para implantação automática.

    Screenshot mostrando os modelos de implementação gerados na pasta do projeto.

  3. Selecione Submeter-se ao Azure no editor de consulta.

    Screenshot mostrando o botão de trabalho de submissão para submeter o trabalho stream Analytics para Azure.

    Em seguida, siga as instruções para concluir o processo: Selecione subscrição > Selecione um trabalho > Crie novo > nome de emprego Introduzir o nome > de emprego Escolha grupo de recursos e região.

  4. Selecione Publicar para Azure e concluir. Aguarde que abra um novo separador Cloud Job View mostrando o estado do seu trabalho.

    Screenshot mostrando a publicação para o botão Azure em VS Code.

Iniciar a tarefa do Stream Analytics e verificar a saída

  1. No separador Cloud Job View , selecione Comece a executar o seu trabalho na nuvem. Este processo pode demorar alguns minutos a ser concluído.

    Screenshot mostrando o botão iniciar o trabalho na página 'Visualização cloud'.

  2. Se o seu trabalho começar com sucesso, o estatuto de trabalho é alterado para Running. Pode ver um diagrama lógico mostrando como o seu trabalho da ASA está a funcionar.

    Screenshot mostrando o estado de funcionamento do trabalho no Código VS.

  3. Para visualizar os resultados da saída, pode abrir o armazenamento de bolhas na extensão Do Código do Estúdio Visual ou no portal do Azure.

    Screenshot mostrando o ficheiro de saída no recipiente Blob.

    Faça o download e abra o ficheiro para ver a saída.

    {"messageId":11,"deviceId":"Raspberry Pi Web Client","temperature":28.165519323167562,"humidity":76.875393581654379,"EventProcessedUtcTime":"2022-09-01T22:53:58.1015921Z","PartitionId":3,"EventEnqueuedUtcTime":"2022-09-01T22:52:57.6250000Z","IoTHub":{"MessageId":null,"CorrelationId":null,"ConnectionDeviceId":"MyASAIoTDevice","ConnectionDeviceGenerationId":"637976642928634103","EnqueuedTime":"2022-09-01T22:52:57.6290000Z"}}
    {"messageId":14,"deviceId":"Raspberry Pi Web Client","temperature":29.014941877871451,"humidity":64.93477299527828,"EventProcessedUtcTime":"2022-09-01T22:53:58.2421545Z","PartitionId":3,"EventEnqueuedUtcTime":"2022-09-01T22:53:03.6100000Z","IoTHub":{"MessageId":null,"CorrelationId":null,"ConnectionDeviceId":"MyASAIoTDevice","ConnectionDeviceGenerationId":"637976642928634103","EnqueuedTime":"2022-09-01T22:53:03.6140000Z"}}
    {"messageId":17,"deviceId":"Raspberry Pi Web Client","temperature":28.032846241745975,"humidity":66.146114343897338,"EventProcessedUtcTime":"2022-09-01T22:53:58.2421545Z","PartitionId":3,"EventEnqueuedUtcTime":"2022-09-01T22:53:19.5960000Z","IoTHub":{"MessageId":null,"CorrelationId":null,"ConnectionDeviceId":"MyASAIoTDevice","ConnectionDeviceGenerationId":"637976642928634103","EnqueuedTime":"2022-09-01T22:53:19.5830000Z"}}
    {"messageId":18,"deviceId":"Raspberry Pi Web Client","temperature":30.176185593576143,"humidity":72.697359909427419,"EventProcessedUtcTime":"2022-09-01T22:53:58.2421545Z","PartitionId":3,"EventEnqueuedUtcTime":"2022-09-01T22:53:21.6120000Z","IoTHub":{"MessageId":null,"CorrelationId":null,"ConnectionDeviceId":"MyASAIoTDevice","ConnectionDeviceGenerationId":"637976642928634103","EnqueuedTime":"2022-09-01T22:53:21.6140000Z"}}
    {"messageId":20,"deviceId":"Raspberry Pi Web Client","temperature":27.851894248213021,"humidity":71.610229530268214,"EventProcessedUtcTime":"2022-09-01T22:53:58.2421545Z","PartitionId":3,"EventEnqueuedUtcTime":"2022-09-01T22:53:25.6270000Z","IoTHub":{"MessageId":null,"CorrelationId":null,"ConnectionDeviceId":"MyASAIoTDevice","ConnectionDeviceGenerationId":"637976642928634103","EnqueuedTime":"2022-09-01T22:53:25.6140000Z"}}
    {"messageId":21,"deviceId":"Raspberry Pi Web Client","temperature":27.718624694772238,"humidity":66.540445035685153,"EventProcessedUtcTime":"2022-09-01T22:53:58.2421545Z","PartitionId":3,"EventEnqueuedUtcTime":"2022-09-01T22:53:48.0820000Z","IoTHub":{"MessageId":null,"CorrelationId":null,"ConnectionDeviceId":"MyASAIoTDevice","ConnectionDeviceGenerationId":"637976642928634103","EnqueuedTime":"2022-09-01T22:53:48.0830000Z"}}
    {"messageId":22,"deviceId":"Raspberry Pi Web Client","temperature":27.7849054424326,"humidity":74.300662748167085,"EventProcessedUtcTime":"2022-09-01T22:54:09.3393532Z","PartitionId":3,"EventEnqueuedUtcTime":"2022-09-01T22:54:09.2390000Z","IoTHub":{"MessageId":null,"CorrelationId":null,"ConnectionDeviceId":"MyASAIoTDevice","ConnectionDeviceGenerationId":"637976642928634103","EnqueuedTime":"2022-09-01T22:54:09.2400000Z"}}
    {"messageId":28,"deviceId":"Raspberry Pi Web Client","temperature":30.839892925680324,"humidity":76.237611741451786,"EventProcessedUtcTime":"2022-09-01T22:54:47.8053253Z","PartitionId":3,"EventEnqueuedUtcTime":"2022-09-01T22:54:47.6180000Z","IoTHub":{"MessageId":null,"CorrelationId":null,"ConnectionDeviceId":"MyASAIoTDevice","ConnectionDeviceGenerationId":"637976642928634103","EnqueuedTime":"2022-09-01T22:54:47.6150000Z"}}
    {"messageId":29,"deviceId":"Raspberry Pi Web Client","temperature":30.561040300759053,"humidity":78.3845172058103,"EventProcessedUtcTime":"2022-09-01T22:54:49.8070489Z","PartitionId":3,"EventEnqueuedUtcTime":"2022-09-01T22:54:49.6030000Z","IoTHub":{"MessageId":null,"CorrelationId":null,"ConnectionDeviceId":"MyASAIoTDevice","ConnectionDeviceGenerationId":"637976642928634103","EnqueuedTime":"2022-09-01T22:54:49.5990000Z"}}
    {"messageId":31,"deviceId":"Raspberry Pi Web Client","temperature":28.163585438418679,"humidity":60.0511571297096,"EventProcessedUtcTime":"2022-09-01T22:55:25.1528729Z","PartitionId":3,"EventEnqueuedUtcTime":"2022-09-01T22:55:24.9050000Z","IoTHub":{"MessageId":null,"CorrelationId":null,"ConnectionDeviceId":"MyASAIoTDevice","ConnectionDeviceGenerationId":"637976642928634103","EnqueuedTime":"2022-09-01T22:55:24.9120000Z"}}
    {"messageId":32,"deviceId":"Raspberry Pi Web Client","temperature":31.00503387156985,"humidity":78.68821066044552,"EventProcessedUtcTime":"2022-09-01T22:55:43.2652127Z","PartitionId":3,"EventEnqueuedUtcTime":"2022-09-01T22:55:43.0480000Z","IoTHub":{"MessageId":null,"CorrelationId":null,"ConnectionDeviceId":"MyASAIoTDevice","ConnectionDeviceGenerationId":"637976642928634103","EnqueuedTime":"2022-09-01T22:55:43.0520000Z"}}
    

Limpar os recursos

Quando já não for necessário, elimine o grupo de recursos, o trabalho stream Analytics e todos os recursos relacionados. A eliminação da tarefa evita a faturação das unidades de transmissão em fluxo consumidas pela tarefa. Se estiver a planear utilizar a tarefa no futuro, pode pará-la e reiniciá-la mais tarde, quando for necessário. Se não continuar a utilizar este trabalho, elimine todos os recursos criados por este quickstart utilizando os seguintes passos:

  1. A partir do menu esquerdo no portal do Azure, selecione grupos de Recursos e, em seguida, selecione o nome do recurso que criou.

  2. Na página do grupo de recursos, selecione Eliminar. Introduza o nome do recurso para eliminar na caixa de texto e, em seguida, selecione Delete.

Passos seguintes

Para saber mais sobre a extensão asa Tools para Código do Estúdio Visual, continue a seguir os seguintes artigos: