Snabbstart: Skapa ett Stream Analytics-jobb med Visual Studio Code
I den här snabbstarten skapar, kör och skickar du ett Azure Stream Analytics-jobb (ASA) med hjälp av ASA Tools-tillägget för Visual Studio Code på din lokala dator. Du lär dig att skapa ett ASA-jobb som läser strömmande realtidsdata från IoT Hub och filtrerar händelser med en temperatur som är större än 27°. Utdataresultatet skickas till en fil i Blob Storage. De indata som används i den här snabbstarten genereras av en Raspberry Pi-onlinesimulator.
Kommentar
Visual Studio Code-verktyg stöder inte jobb i regionerna Kina, östra, Kina, norra, Tyskland, centrala och Tyskland, NorraEast.
Förutsättningar
- En Azure-prenumeration. Om du inte har någon Azure-prenumeration kan du skapa ett kostnadsfritt konto.
- Visual Studio Code.
Installera Azure Stream Analytics Tools-tillägget
Öppna Visual Studio Code (VS Code).
Från Tillägg i det vänstra fönstret söker du efter stream analytics och väljer Installera på Azure Stream Analytics Tools-tillägget .
När den har installerats väljer du Azure-ikonen i aktivitetsfältet och loggar in på Azure.
När du har loggat in kan du se prenumerationerna under ditt Azure-konto.
Kommentar
ASA Tools-tillägget loggar automatiskt in dig varje gång du öppnar VS Code. Om ditt konto har tvåfaktorautentisering rekommenderar vi att du använder telefonautentisering i stället för att använda en PIN-kod. Om du vill logga ut ditt Azure-konto trycker du på Ctrl + Shift + P
och anger Azure: Sign Out
.
Köra IoT-simulatorn
Ersätt platshållaren på rad 15 med Azure IoT Hub-enhetens anslutningssträng, som du sparade i föregående avsnitt.
Markera Kör. Utdata bör visas de sensordata och meddelanden som skickas till din IoT-hubb.
Viktigt!
Välj Återställ efter några minuter för att återställa anslutningssträng.
Skala bloblagring
I det övre vänstra hörnet av Azure Portal väljer du Skapa ett lagringskonto> för resurslagring.>
I fönsterrutan Skapa lagringskonto anger du namn, plats och resursgrupp för lagringskonto. Välj samma plats och resursgrupp som den IoT-hubb som du skapade. Välj sedan Granska och Skapa för att skapa lagringskontot.
På sidan Lagringskonto väljer du Containrar på den vänstra menyn och väljer sedan + Container i kommandofältet.
På sidan Ny container anger du ett namn för containern, lämnar offentlig åtkomstnivå som Privat (ingen anonym åtkomst) och väljer OK.
Skapa ett Stream Analytics-projekt
Tryck på Ctrl+Skift+P i Visual Studio Code och ange ASA: Skapa nytt projekt.
Ange projektnamnet, till exempel myASAproj, och välj en mapp för projektet.
Ett ASA-projekt läggs till på din arbetsyta. Den består av tre mappar: Indata, utdata och funktioner. Den har också frågeskriptet (*.asaql), en JobConfig.json-fil och en asaproj.json konfigurationsfil.
Filen asaproj.json innehåller inställningar för indata, utdata och jobbkonfiguration för att skicka Stream Analytics-jobbet till Azure.
Kommentar
När du lägger till indata och utdata från kommandopaletten läggs motsvarande sökvägar till i asaproj.json automatiskt. Om du lägger till eller tar bort indata eller utdata direkt på disken måste du lägga till eller ta bort dem manuellt från asaproj.json. Du kan välja att placera indata och utdata på ett ställe och sedan referera till dem i olika jobb genom att ange sökvägarna i varje asaproj.json fil.
Definiera transformationsfrågan
Öppna filen myASAproj.asaql och lägg till följande fråga:
SELECT * INTO Output FROM Input WHERE Temperature > 27
Konfigurera jobbindata
Högerklicka på mappen Indata i Stream Analytics-projektet. Välj sedan ASA: Lägg till indata från snabbmenyn.
Eller tryck på Ctrl+Skift+P för att öppna kommandopaletten och ange ASA: Lägg till indata.
Välj IoT Hub som indatatyp.
Välj Välj från Azure-prenumerationer i den nedrullningsbara menyn och tryck sedan på RETUR.
Ange Indata som namn och tryck sedan på RETUR.
Under mappen Indata visas en IoTHub1.json fil skapas.
I JSON-filen bekräftar du att Indata har angetts Namn.
I JSON-redigeraren för Input.json väljer du Välj från dina prenumerationer och väljer sedan din Azure-prenumeration som har IoT-hubben.
I JSON-redigeraren väljer du Välj en IoT Hub och sedan den IoT-hubb som du skapade.
Som standard
SharedAccessPolicyName
ska vara inställt påiothubowner
. Annars väljer du Välj en länk för principnamn för delad åtkomst och väljer sedan iothubowner i listrutan.Värdet
SharedAccessPolicyKey
ska anges automatiskt.Välj Förhandsgranska data för att se om indata har konfigurerats för jobbet. Det hämtar ett exempel på din IoT Hub och visas i förhandsgranskningsfönstret.
Konfigurera jobbutdata
- Högerklicka på Utdata i utforskaren och välj ASA: Lägg till utdata.
- Välj Data Lake Storage Gen2/Blob Storage som mottagartyp i listrutan.
- Välj Välj från Azure-prenumerationer
- Ange Utdata som namn på aliaset och tryck på RETUR. Det här utdatanamnet används för INTO-instruktionen i frågan.
- I JSON-redigeraren för Output.json väljer du Välj från dina prenumerationer och väljer sedan din Azure-prenumeration som har Azure Storage-kontot
- Om du behöver ändra lagringskontot som fylls i automatiskt väljer du Välj ett lagringskonto och väljer sedan ditt Azure Storage-konto. Lagringskontonamn identifieras automatiskt om de skapas i samma prenumeration.
- Om du behöver ändra containernamnet väljer du Välj en container och väljer den blobcontainer som du skapade.
Kompilera skriptet och skicka till Azure
Skriptkompilering kontrollerar syntaxen och genererar Azure Resource Manager-mallarna för automatisk distribution.
Högerklicka på skriptfilen i utforskarfönstret, peka på ASA: Kompilera skript och välj sedan ASA: ARM Template V2 (rekommenderas).
Efter kompilering visas en Distribuera-mapp under projektet med två Azure Resource Manager-mallar. Dessa två filer används för automatisk distribution.
Välj Skicka till Azure i frågeredigeraren.
I fönstret Skicka följer du dessa steg:
Välj din Azure-prenumeration.
Välj en Azure-resursgrupp.
Välj den region där du vill skapa Stream Analytics-jobbet.
Välj sedan Skicka.
Välj Publicera till Azure och slutför. Vänta tills den har öppnat en ny flik Molnjobbvy som visar jobbets status.
Starta Stream Analytics-jobbet och kontrollera utdata
På fliken Molnjobbvy väljer du Starta för att köra jobbet i molnet.
I fönstret Starta direktuppspelningsjobb väljer du OK. Den här processen kan ta några minuter att slutföra.
Om jobbet startar ändras jobbstatusen till Körs. Du kan se ett logiskt diagram som visar hur ditt ASA-jobb körs.
Om du vill visa utdataresultatet kan du öppna bloblagringen i Visual Studio Code-tillägget eller i Azure Portal.
Ladda ned och öppna filen för att se utdata.
{"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"}}
Rensa resurser
När den inte längre behövs tar du bort resursgruppen, Stream Analytics-jobbet och alla relaterade resurser. Om du tar bort jobbet undviker du att bli fakturerad för de strömmande enheter som används av jobbet. Om du planerar att använda jobbet i framtiden kan du stoppa det och sedan starta det igen när du behöver det. Om du inte kommer att fortsätta att använda det här jobbet tar du bort alla resurser som skapats i den här snabbstarten med hjälp av följande steg:
På den vänstra menyn i Azure Portal väljer du Resursgrupper och sedan namnet på den resurs som du skapade.
Välj Ta bort på din resursgruppssida. Ange namnet på resursen som ska tas bort i textrutan och välj sedan Ta bort.
Nästa steg
Om du vill veta mer om ASA Tools-tillägget för Visual Studio Code fortsätter du till följande artiklar: