Dela via


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

Installera Azure Stream Analytics Tools-tillägget

  1. Öppna Visual Studio Code (VS Code).

  2. Från Tillägg i det vänstra fönstret söker du efter stream analytics och väljer InstalleraAzure Stream Analytics Tools-tillägget .

    Skärmbild som visar sidan Tillägg i Visual Studio Code med ett alternativ för att installera Stream Analytics-tillägget.

  3. När den har installerats väljer du Azure-ikonen i aktivitetsfältet och loggar in på Azure.

    Skärmbild som visar hur du loggar in på Azure.

  4. 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

  1. Öppna Raspberry Pi Azure IoT-onlinesimulatorn.

  2. Ersätt platshållaren på rad 15 med Azure IoT Hub-enhetens anslutningssträng, som du sparade i föregående avsnitt.

  3. Markera Kör. Utdata bör visas de sensordata och meddelanden som skickas till din IoT-hubb.

    Skärmbild som visar sidan **Raspberry Pi Azure IoT Online Simulator** med exempelfrågan.

    Viktigt!

    Välj Återställ efter några minuter för att återställa anslutningssträng.

Skala bloblagring

  1. I det övre vänstra hörnet av Azure Portal väljer du Skapa ett lagringskonto> för resurslagring.>

    Skärmbild som visar menyn Skapa lagringskonto.

  2. 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.

    Skärmbild som visar sidan Skapa lagringskonto.

  3. På sidan Lagringskonto väljer du Containrar på den vänstra menyn och väljer sedan + Container i kommandofältet.

    Skärmbild som visar sidan Containrar.

  4. På sidan Ny container anger du ett namn för containern, lämnar offentlig åtkomstnivå som Privat (ingen anonym åtkomst) och väljer OK.

    Skärmbild som visar skapandet av en blobcontainersida.

Skapa ett Stream Analytics-projekt

  1. Tryck på Ctrl+Skift+P i Visual Studio Code och ange ASA: Skapa nytt projekt.

    Skärmbild som visar valet av ASA: Skapa nytt projekt i kommandopaletten.

  2. Ange projektnamnet, till exempel myASAproj, och välj en mapp för projektet.

    Skärmbild som visar hur du anger ett ASA-projektnamn.

  3. 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.

    Skärmbild som visar Stream Analytics-projektfiler i Visual Studio Code.

    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

  1. Öppna filen myASAproj.asaql och lägg till följande fråga:

    SELECT *
    INTO Output
    FROM Input
    WHERE Temperature > 27
    

    Skärmbild som visar transformeringsfrågan.

Konfigurera jobbindata

  1. Högerklicka på mappen Indata i Stream Analytics-projektet. Välj sedan ASA: Lägg till indata från snabbmenyn.

    Skärmbild som visar ASA: Lägg till indatamenyn i Visual Studio Code.

    Eller tryck på Ctrl+Skift+P för att öppna kommandopaletten och ange ASA: Lägg till indata.

  2. Välj IoT Hub som indatatyp.

    Skärmbild som visar valet av din IoT-hubb i VS Code-kommandopaletten.

  3. Välj Välj från Azure-prenumerationer i den nedrullningsbara menyn och tryck sedan på RETUR.

  4. Ange Indata som namn och tryck sedan på RETUR.

  5. Under mappen Indata visas en IoTHub1.json fil skapas.

  6. I JSON-filen bekräftar du att Indata har angetts Namn.

  7. 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.

    Skärmbild som visar JSON-redigeraren med länken Välj från dina prenumerationer.

  8. I JSON-redigeraren väljer du Välj en IoT Hub och sedan den IoT-hubb som du skapade.

    Skärmbild som visar JSON-redigeraren med länken Välj en IoT Hub.

  9. 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.

  10. Värdet SharedAccessPolicyKey ska anges automatiskt.

  11. 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.

    Skärmbild som visar förhandsversionen av indata i din IoT-hubb.

Konfigurera jobbutdata

  1. Högerklicka på Utdata i utforskaren och välj ASA: Lägg till utdata.
  2. Välj Data Lake Storage Gen2/Blob Storage som mottagartyp i listrutan.
  3. Välj Välj från Azure-prenumerationer
  4. Ange Utdata som namn på aliaset och tryck på RETUR. Det här utdatanamnet används för INTO-instruktionen i frågan.
  5. 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
  6. 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.
  7. Om du behöver ändra containernamnet väljer du Välj en container och väljer den blobcontainer som du skapade.

Skärmbild som visar konfigurationen av utdata för Stream Analytics-jobbet.

Kompilera skriptet och skicka till Azure

Skriptkompilering kontrollerar syntaxen och genererar Azure Resource Manager-mallarna för automatisk distribution.

  1. Högerklicka på skriptfilen i utforskarfönstret, peka på ASA: Kompilera skript och välj sedan ASA: ARM Template V2 (rekommenderas).

    Skärmbild som visar kompilering av skriptalternativet från Stream Analytics-utforskaren i VS Code.

  2. Efter kompilering visas en Distribuera-mapp under projektet med två Azure Resource Manager-mallar. Dessa två filer används för automatisk distribution.

    Skärmbild som visar de genererade distributionsmallarna i projektmappen.

  3. Välj Skicka till Azure i frågeredigeraren.

    Skärmbild som visar knappen Skicka jobb för att skicka Stream Analytics-jobbet till Azure.

  4. I fönstret Skicka följer du dessa steg:

    1. Välj din Azure-prenumeration.

    2. Välj en Azure-resursgrupp.

    3. Välj den region där du vill skapa Stream Analytics-jobbet.

    4. Välj sedan Skicka.

      Skärmbild som visar alternativet Skicka.

  5. Välj Publicera till Azure och slutför. Vänta tills den har öppnat en ny flik Molnjobbvy som visar jobbets status.

    Skärmbild som visar knappen publicera till Azure i VS Code.

Starta Stream Analytics-jobbet och kontrollera utdata

  1. På fliken Molnjobbvy väljer du Starta för att köra jobbet i molnet.

    Skärmbild som visar knappen Starta jobb på sidan Molnvy.

  2. I fönstret Starta direktuppspelningsjobb väljer du OK. Den här processen kan ta några minuter att slutföra.

  3. Om jobbet startar ändras jobbstatusen till Körs. Du kan se ett logiskt diagram som visar hur ditt ASA-jobb körs.

    Skärmbild som visar jobbet som kör status i VS Code.

  4. Om du vill visa utdataresultatet kan du öppna bloblagringen i Visual Studio Code-tillägget eller i Azure Portal.

    Skärmbild som visar utdatafilen i blobcontainern.

    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:

  1. På den vänstra menyn i Azure Portal väljer du Resursgrupper och sedan namnet på den resurs som du skapade.

  2. 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: