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.
Neste início rápido, você criará, executará e enviará um trabalho do Azure Stream Analytics (ASA) usando a extensão ferramentas ASA para Visual Studio Code em seu computador local. Aprenda a criar um trabalho do ASA que lê dados de streaming do Hub IoT em tempo real e filtra eventos com temperatura superior a 27°. Os resultados de saída são enviados para um arquivo no armazenamento de blobs. Os dados de entrada usados neste início rápido são gerados por um simulador online do Raspberry Pi.
Observação
As ferramentas do Visual Studio Code não dão suporte a trabalhos nas regiões Leste da China, Norte da China, Alemanha Central e Nordeste da Alemanha.
Pré-requisitos
- Assinatura do Azure. Se você não tiver uma assinatura do Azure, crie uma conta gratuita.
- Visual Studio Code.
Instalar a extensão de Ferramentas do Azure Stream Analytics
Abra o VS Code (Visual Studio Code).
Em Extensões no painel esquerdo, pesquise por Stream Analytics e selecione Instalar na extensão Ferramentas do Azure Stream Analytics.
Depois de instalado, selecione o ícone do Azure na barra de atividades e entre no Azure.
Depois de entrar, você poderá ver as assinaturas em sua conta do Azure.
Observação
A extensão ASA Tools faz login automaticamente toda vez que você abre o VS Code. Se sua conta tiver autenticação de dois fatores, use a autenticação de telefone em vez de usar um PIN. Para sair da sua conta do Azure, pressione Ctrl + Shift + P e insira Azure: Sign Out.
Preparar os dados de entrada
Antes de definir o trabalho do Stream Analytics, prepare os dados de entrada. A solução ingere os dados do sensor em tempo real no Hub IoT, que você configurará posteriormente como a entrada do trabalho. Para preparar os dados de entrada exigidos pelo trabalho, conclua as seguintes etapas:
Entre no portal do Azure.
Selecione Criar um recurso. Na página Criar recurso, selecione Internet das Coisas>Hub IoT.
Na página Hub IoT, siga estas etapas:
- Para Assinatura, selecione sua assinatura do Azure.
- Em Grupo de recursos, selecione um grupo de recursos existente ou crie um novo.
- Em Nome do hub IoT, insira um nome para o hub.
- Em Região, selecione a região mais próxima de você.
- Para a Camada, selecione Gratuito, se ainda estiver disponível na sua assinatura. Para obter mais informações, consulte os preços do Hub IoT.
- Em Limite diário de mensagens, mantenha o valor padrão.
- Selecione Avançar: Rede na parte inferior da página.
Selecione Examinar + criar. Examine as informações do Hub IoT e selecione Criar. Seu Hub IoT pode levar alguns minutos para ser criado. Você pode monitorar o progresso no painel Notificações .
Depois que o recurso (hub IoT) for criado, selecione Ir para o recurso para acessar a página do Hub IoT.
Na página Hub IoT, selecione Dispositivos no menu à esquerda e, em seguida, + Adicionar dispositivo.
Forneça uma Identificação do dispositivo e selecione Salvar.
Depois de criar o dispositivo, você verá o dispositivo na lista de dispositivos IoT . Pressione o botão Atualizar na página se não encontrá-lo.
Selecione seu dispositivo na lista.
Na página do dispositivo, selecione o botão de copiar ao lado de Cadeia de Conexão Primária e salve a cadeia de conexão primária em um bloco de notas para uso posterior.
Executar o simulador de IoT
Substitua o espaço reservado na linha 15 pela cadeia de conexão do dispositivo do Hub IoT do Azure salva em uma seção anterior.
Selecione Executar. A saída mostra os dados do sensor e as mensagens que são enviadas para o Hub IoT.
Importante
Selecione Redefinir após alguns minutos para redefinir a cadeia de conexão.
Criar armazenamento de blobs
No canto superior esquerdo do portal do Azure, selecione Criar um recurso>Armazenamento>Conta de armazenamento.
No painel Criar conta de armazenamento, insira um nome para a conta de armazenamento, um local e um grupo de recursos. Escolha a mesma localização e o mesmo grupo de recursos do hub IoT criado. Em seguida, selecione Revisar e Criar para criar a conta de armazenamento.
Na página Conta de armazenamento, selecione Contêineres no menu esquerdo e clique em + Contêiner na barra de comandos.
Na página Novo contêiner, forneça um nome para o contêiner, mantenha o Nível de acesso público como Privado (sem acesso anônimo) e clique em OK.
Criar um projeto do Stream Analytics
No Visual Studio Code, selecione Exibir>Paleta de Comandos e insira ASA: Criar Novo Projeto.
Insira o nome do projeto, como myASAproj, e selecione uma pasta para o projeto.
O Visual Studio Code adiciona um projeto ASA ao seu workspace. Consiste em três pastas: Entradas, Saídas e Funções. Ele também contém o script de consulta (*.asaql) , um arquivo JobConfig.json e um arquivo de configuração asaproj.json.
O arquivo asaproj.json contém as entradas, saídas e configurações de trabalho para enviar o trabalho do Stream Analytics para o Azure.
Observação
Quando você adiciona entradas e saídas da paleta de comandos, os caminhos correspondentes são adicionados ao asaproj.json automaticamente. Se você adicionar ou remover entradas ou saídas no disco de maneira direta, será necessário adicioná-las ou removê-las manualmente no asaproj.json. Você pode colocar as entradas e saídas em um só lugar e referenciá-las em trabalhos diferentes especificando os caminhos em cada arquivoasaproj.json .
Definir a consulta de transformação
Abra o arquivo myASAproj.asaql e adicione a seguinte consulta:
SELECT * INTO Output FROM Input WHERE Temperature > 27
Configurar entrada de tarefa
Clique com o botão direito do mouse na pasta Entradas do projeto do Stream Analytics. Em seguida, selecione ASA: Adicionar Entrada no menu de contexto.
Ou pressione Ctrl+Shift+P para abrir a paleta de comandos e insira ASA: adicionar entrada.
Escolha Hub IoT para o tipo de entrada.
Escolha Selecionar assinaturas do Azure no menu suspenso e, em seguida, pressione ENTER.
Insira Entrada para o nome e pressione ENTER.
Na pasta Entradas , você verá um arquivo Input.json é criado.
No arquivo JSON, confirme se Input está especificado como Name.
No editor JSON para Input.json, escolha Selecionar entre suas assinaturas e, em seguida, selecione sua assinatura do Azure que tem o Hub IoT.
No editor JSON, escolha Selecionar um Hub IoT e selecione o Hub IoT que você criou.
Por padrão, o
SharedAccessPolicyNamedeve ser definido comoiothubowner. Caso contrário, escolha o link Selecionar nome da política de acesso compartilhado e selecione iothubowner na lista suspensa.O valor
SharedAccessPolicyKeydeve ser definido automaticamente.Selecione Visualizar dados para ver se os dados de entrada foram configurados com êxito para seu trabalho. Ele buscará uma amostra do Hub IoT e mostrará na janela de visualização.
Configurar saída de trabalho
- Clique com o botão direito do mouse em Saídas no explorer e selecione ASA: Adicionar Saída.
- Escolha Data Lake Storage Gen2/Armazenamento de Blobs como o tipo de destino na lista suspensa.
- Escolha Selecionar entre assinaturas do Azure.
- Insira Saída para o nome do alias e pressione ENTER. Esse nome de saída é usado para a instrução INTO na consulta.
- No editor JSON para Output.json, escolha Selecionar entre suas assinaturas e, em seguida, selecione sua assinatura do Azure que tenha a conta de Armazenamento do Azure.
- Se você precisar alterar a conta de armazenamento preenchida automaticamente, escolha Selecionar uma conta de Armazenamento e selecione sua conta de Armazenamento do Microsoft Azure. Os nomes das contas de armazenamento serão detectados automaticamente se eles forem criados na mesma assinatura.
- Se você precisar alterar o nome do contêiner, escolha Selecionar um contêiner e selecione o contêiner de blob que você criou.
Compilar o script e enviá-lo para o Azure
A compilação de script verifica a sintaxe e gera os modelos do Azure Resource Manager para implantação automática.
Clique com o botão direito do mouse no arquivo de script na janela do explorer, aponte para ASA: Compilar Script e selecione ASA: Modelo do ARM V2 (recomendado).
Após a compilação, você verá uma pasta Implantar em seu projeto com dois modelos do Azure Resource Manager. Esses dois arquivos são usados para implantação automática.
Clique em Enviar para o Azure no editor de consultas.
Na janela Enviar, siga estas etapas:
Selecione sua assinatura do Azure.
Selecione um grupo de recursos do Azure.
Selecione a região na qual você deseja criar o trabalho do Stream Analytics.
Em seguida, selecione enviar.
Selecione Publicar no Azure e conclua. Aguarde até uma nova guia Visualização de trabalho na nuvem seja aberta, mostrando o status do seu trabalho.
Inicie o trabalho do Stream Analytics e verifique a saída
Na guia Visualização de trabalho na nuvem, selecione Iniciar para executar seu trabalho na nuvem.
Na janela Iniciar trabalho de streaming, selecione OK. Esse processo pode levar alguns minutos para ser concluído.
Se o trabalho for iniciado com êxito, o status do trabalho será alterado para Em execução. Você vê um diagrama lógico mostrando como sua tarefa ASA está sendo executada.
Para exibir os resultados de saída, abra o armazenamento de blobs na extensão do Visual Studio Code ou no portal do Azure.
Baixe e abra o arquivo 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 você não precisar mais dos recursos, exclua o grupo de recursos, o trabalho do Stream Analytics e todos os recursos relacionados. A exclusão do trabalho interrompe a cobrança para as unidades de streaming consumidas por ele. Se você planeja usar o trabalho no futuro, poderá pará-lo e reiniciá-lo mais tarde quando precisar. Se você não pretende continuar usando este trabalho, exclua todos os recursos criados por este início rápido seguindo estas etapas:
No menu à esquerda do portal do Azure, selecione Grupos de recursos e, em seguida, o nome do recurso criado.
Na página do grupo de recursos, selecione Excluir. Insira o nome do recurso a ser excluído na caixa de texto e, em seguida, selecione Excluir.
Próximas etapas
Para saber mais sobre a extensão ferramentas ASA para Visual Studio Code, confira os seguintes artigos: