Sdílet prostřednictvím


Rychlý start: Vytvoření úlohy Stream Analytics pomocí editoru Visual Studio Code

V tomto rychlém startu vytvoříte, spustíte a odešlete úlohu Azure Stream Analytics (ASA) pomocí rozšíření ASA Tools pro Visual Studio Code na místním počítači. Naučíte se vytvořit úlohu ASA, která čte streamovaná data z IoT Hubu v reálném čase a filtruje události s teplotou větší než 27°. Výstupní výsledky se odešlou do souboru v úložišti BLOB. Vstupní data použitá v tomto rychlém startu se generují online simulátorem Raspberry Pi.

Poznámka:

Nástroje Visual Studio Code nepodporují úlohy v oblastech Čína – východ, Čína – sever, Německo – střed a Německo – severovýchod.

Požadavky

Instalace rozšíření Azure Stream Analytics Tools

  1. Otevřete Visual Studio Code (VS Code).

  2. V podokně Rozšíření vlevo vyhledejte Stream Analytics a vyberte Nainstalovat k rozšíření Azure Stream Analytics Tools.

    Snímek obrazovky se stránkou Rozšíření editoru Visual Studio Code s možností instalace rozšíření Stream Analytics

  3. Po instalaci vyberte na panelu aktivit ikonu Azure a přihlaste se k Azure.

    Snímek obrazovky znázorňující, jak se přihlásit k Azure

  4. Jakmile se přihlásíte, uvidíte předplatná pod svým účtem Azure.

Poznámka:

Rozšíření ASA Tools vás automaticky přihlásí při každém otevření nástroje VS Code. Pokud má váš účet dvojúrovňové ověřování, použijte místo pin kódu ověřování pro telefon. Pokud se chcete odhlásit ze svého účtu Azure, stiskněte Ctrl + Shift + P a zadejte Azure: Sign Out.

Příprava vstupních dat

Před definováním úlohy Stream Analytics připravte vstupní data. Řešení ingestuje data snímačů v reálném čase do IoT Hubu, která později nakonfigurujete jako vstup úlohy. Pokud chcete připravit vstupní data požadovaná úlohou, proveďte následující kroky:

  1. Přihlaste se do Azure Portalu.

  2. Vyberte Vytvořit zdroj. Na stránce Vytvořit prostředek vyberte Internet věcí>IoT Hub.

    Snímek obrazovky s nabídkou IoT Hubu na stránce Vytvořit prostředek

  3. Na stránce služby IoT Hub postupujte takto:

    1. Jako předplatné vyberte své předplatné Azure.
    2. V části Skupina prostředků vyberte existující skupinu prostředků nebo vytvořte novou skupinu prostředků.
    3. Jako název centra IoT zadejte název vašeho centra IoT.
    4. V Regionu vyberte region, který je k vám nejblíže.
    5. Pokud je úroveň ve vašem předplatném stále dostupná, vyberte úroveň Free. Další informace najdete v tématu o cenách služby IoT Hub.
    6. U denního limitu zpráv ponechte výchozí hodnotu.
    7. Vyberte Další: Sítě v dolní části stránky.

    Snímek obrazovky se stránkou IoT Hubu pro vytvoření

  4. Vyberte možnost Zkontrolovat a vytvořit. Zkontrolujte informace o službě IoT Hub a vyberte Vytvořit. Vytvoření služby IoT Hub může trvat několik minut. Průběh můžete sledovat v podokně Oznámení.

  5. Po vytvoření prostředku (IoT Hub) vyberte Přejít k prostředku a přejděte na stránku IoT Hubu.

  6. Na stránce IoT Hubu vyberte Zařízení v nabídce vlevo a pak vyberte + Přidat zařízení.

    Snímek obrazovky s tlačítkem Přidat zařízení na stránce Zařízení

  7. Zadejte ID zařízení a vyberte Uložit.

    Snímek obrazovky se stránkou Vytvořit zařízení

  8. Po vytvoření zařízení se zařízení zobrazí v seznamu zařízení IoT . Pokud tlačítko Aktualizovat na stránce nevidíte, vyberte tlačítko Aktualizovat .

    Snímek obrazovky se seznamem zařízení

  9. V seznamu vyberte své zařízení.

  10. Na stránce zařízení vyberte tlačítko kopírovat vedle primárního připojovacího řetězce a uložte ho do poznámkového bloku, abyste ho mohli použít později.

    Snímek obrazovky zobrazující tlačítko kopírování vedle připojovací řetězec zařízení

Spuštění simulátoru IoT

  1. Otevřete simulátor Raspberry Pi Azure IoT Online.

  2. Zástupný symbol na řádku 15 nahraďte připojovacím řetězcem zařízení azure IoT Hubu, který jste uložili v předchozí části.

  3. Vyberte Spustit. Výstup zobrazuje data a zprávy ze snímačů, které se odesílají do ioT Hubu.

    Snímek obrazovky se stránkou **Raspberry Pi Azure IoT Online Simulator** s ukázkovým dotazem

    Důležité

    Po několika minutách vyberte Resetovat a obnovte připojovací řetězec.

Vytvořte úložiště objektů blob

  1. V levém horním rohu Azure portálu vyberte Vytvořit prostředek>Úložiště>Účet úložiště.

    Snímek obrazovky s nabídkou Vytvořit účet úložiště

  2. V podokně Vytvořit účet úložiště zadejte název účtu úložiště, umístění a skupinu prostředků. Zvolte stejné umístění a skupinu prostředků jako centrum IoT, které jste vytvořili. Pak vyberte Zkontrolovat a Vytvořit účet úložiště.

    Snímek obrazovky se stránkou Vytvořit účet úložiště

  3. Na stránce Účet úložiště vyberte kontejnery v nabídce vlevo a pak na panelu příkazů vyberte + Kontejner.

    Snímek obrazovky se stránkou Kontejnery

  4. Na stránce Nový kontejner zadejte název kontejneru, ponechte úroveň veřejného přístupu jako soukromou (bez anonymního přístupu) a vyberte OK.

    Snímek obrazovky znázorňující stránku pro vytvoření kontejneru objektů blob

Vytvoření projektu Stream Analytics

  1. V editoru Visual Studio Code vyberte Zobrazit>příkazovou paletu a zadejte ASA: Vytvořit nový projekt.

    Snímek obrazovky s výběrem možnosti ASA: Vytvořit nový projekt na paletě příkazů

  2. Zadejte název projektu, například myASAproj, a vyberte složku projektu.

    Snímek obrazovky znázorňující zadání názvu projektu ASA

  3. Visual Studio Code přidá do pracovního prostoru projekt ASA. Skládá se ze tří složek: vstupy, výstupy a funkce. Obsahuje také skript dotazu (*.asaql), soubor JobConfig.json a konfigurační soubor asaproj.json.

    Snímek obrazovky zobrazující soubory projektu Stream Analytics v editoru Visual Studio Code

    Soubor asaproj.json obsahuje vstupy, výstupy a nastavení konfigurace úlohy pro odesílání úlohy Stream Analytics do Azure.

    Poznámka:

    Když přidáte vstupy a výstupy z palety příkazů, přidají se odpovídající cesty k asaproj.json automaticky. Pokud přímo na disku přidáte nebo odeberete vstupy nebo výstupy, budete je muset ručně přidat nebo odebrat z asaproj.json. Vstupy a výstupy můžete umístit na jedno místo a pak na ně odkazovat v různých úlohách zadáním cest v každém souboruasaproj.json .

Definice transformačního dotazu

  1. Otevřete soubor myASAproj.asaql a přidejte následující dotaz:

    SELECT *
    INTO Output
    FROM Input
    WHERE Temperature > 27
    

    Snímek obrazovky znázorňující transformační dotaz

Konfigurace vstupu úlohy

  1. Klikněte pravým tlačítkem myši na složku Vstupy v projektu Stream Analytics. Pak z kontextové nabídky vyberte ASA: Přidat vstup .

    Snímek obrazovky znázorňující ASA: Přidání vstupní nabídky v editoru Visual Studio Code

    Nebo stisknutím kombinace kláves Ctrl+Shift+P otevřete paletu příkazů a zadejte ASA: Přidat vstup.

  2. Jako typ vstupu zvolte IoT Hub .

    Snímek obrazovky znázorňující výběr centra IoT v paletě příkazů VS Code

  3. V rozevírací nabídce zvolte Vybrat z předplatných Azure a stiskněte ENTER.

  4. Zadejte vstup pro název a stiskněte klávesu ENTER.

  5. Ve složce Vstupy uvidíte vytvoření souboruInput.json .

  6. V souboru JSON ověřte, že je zadaný název vstupu.

  7. V editoru JSON pro Input.json zvolte Vybrat z vašich předplatných a pak vyberte své předplatné Azure, které má centrum IoT.

    Snímek obrazovky s editorem JSON, který obsahuje odkaz 'Vybrat z vašich předplatných'.

  8. V editoru JSON zvolte Vybrat IoT Hub a pak vyberte centrum IoT, které jste vytvořili.

    Snímek obrazovky s editorem JSON s odkazem Vybrat IoT Hub

  9. Ve výchozím nastavení by měla být SharedAccessPolicyName nastavena na iothubowner. Pokud ne, zvolte odkaz Vybrat název zásady sdíleného přístupu a pak v rozevíracím seznamu vyberte iothubowner.

  10. Hodnota SharedAccessPolicyKey by měla být nastavena automaticky.

  11. Vyberte náhled dat , abyste zjistili, jestli jsou vstupní data pro vaši úlohu úspěšně nakonfigurovaná. V okně náhledu se zobrazí ukázka služby IoT Hub.

    Snímek obrazovky znázorňující náhled vstupních dat ve službě IoT Hub

Konfigurace výstupu úlohy

  1. V průzkumníku klikněte pravým tlačítkem na Výstupy a vyberte ASA: Přidat výstup.
  2. Jako typ jímky v rozevíracím seznamu zvolte Data Lake Storage Gen2/Blob Storage .
  3. Zvolte Vybrat z předplatných Azure.
  4. Jako název aliasu zadejte výstup a stiskněte ENTER. Tento název výstupu se používá pro příkaz INTO v dotazu.
  5. V editoru JSON pro Output.jsonzvolte Vybrat z vašich předplatných a pak vyberte své předplatné Azure s účtem Azure Storage.
  6. Pokud potřebujete změnit účet úložiště, který se vyplní automaticky, zvolte Vybrat účet úložiště a pak vyberte svůj účet Azure Storage. Názvy účtů úložiště se automaticky zjistí, pokud jsou vytvořené ve stejném předplatném.
  7. Pokud potřebujete změnit název kontejneru, zvolte Vybrat kontejner a vyberte kontejner objektů blob, který jste vytvořili.

Snímek obrazovky znázorňující konfiguraci výstupu pro úlohu Stream Analytics

Zkompilujte skript a odešlete ho do Azure.

Kompilace skriptu zkontroluje syntaxi a vygeneruje šablony Azure Resource Manageru pro automatické nasazení.

  1. Klikněte pravým tlačítkem myši na soubor skriptu v okně průzkumníka, přejděte na ASA: Kompilační skript a pak vyberte ASA: ŠABLONA ARM V2 (doporučeno).)

    Snímek obrazovky s kompilací možnosti skriptu z Průzkumníka Stream Analytics ve VS Code

  2. Po kompilaci se pod projektem zobrazí složka Deploy se dvěma šablonami Azure Resource Manageru. Tyto dva soubory se používají pro automatické nasazení.

    Snímek obrazovky s vygenerovanými šablonami nasazení ve složce projektu

  3. V editoru dotazů vyberte Odeslat do Azure .

    Snímek obrazovky s tlačítkem Odeslat úlohu pro odeslání úlohy Stream Analytics do Azure

  4. V okně Odeslat postupujte takto:

    1. Vyberte své předplatné Azure.

    2. Vyberte skupinu prostředků Azure.

    3. Vyberte oblast, ve které chcete vytvořit úlohu Stream Analytics.

    4. Pak vyberte Odeslat.

      Snímek obrazovky s možnostmi odeslání

  5. Vyberte Publikovat do Azure a dokončete je. Počkejte, až se otevře nová karta Cloud Job View, která ukazuje stav vaší úlohy.

    Snímek obrazovky s tlačítkem Publikovat do Azure ve VS Code

Spuštění úlohy Stream Analytics a kontrola výstupu

  1. Na kartě Zobrazení cloudové úlohy vyberte Spustit a spusťte úlohu v cloudu.

    Snímek obrazovky s tlačítkem Spustit úlohu na stránce cloudového zobrazení

  2. V okně Spustit úlohu streamování vyberte OK. Dokončení tohoto procesu může trvat pár minut.

    Snímek obrazovky s oknem Spustit úlohu streamování

  3. Pokud se úloha úspěšně spustí, stav úlohy se změní na Spuštěno. Vidíte logický diagram znázorňující, jak vaše úloha ASA běží.

    Snímek obrazovky se stavem spuštěné úlohy ve VS Code

  4. Pokud chcete zobrazit výsledky výstupu, otevřete úložiště objektů blob v rozšíření Visual Studio Code nebo na webu Azure Portal.

    Snímek obrazovky s výstupním souborem v kontejneru Blob

    Stáhněte a otevřete soubor, abyste viděli výstup.

    {"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"}}
    

Vyčištění prostředků

Pokud už prostředky nepotřebujete, odstraňte skupinu prostředků, úlohu Stream Analytics a všechny související prostředky. Odstraněním úlohy se zastaví fakturace streamovacích jednotek, které úloha spotřebuje. Pokud plánujete tuto úlohu používat v budoucnu, můžete ji zastavit a restartovat později, až budete potřebovat. Pokud tuto úlohu nebudete dál používat, pomocí následujícího postupu odstraňte všechny prostředky vytvořené tímto rychlým startem:

  1. V nabídce vlevo na webu Azure Portal vyberte skupiny prostředků a pak vyberte název prostředku, který jste vytvořili.

  2. Na stránce vaší skupiny prostředků vyberte Odstranit. Do textového pole zadejte název prostředku, který chcete odstranit, a pak vyberte Odstranit.

Další kroky

Další informace o rozšíření ASA Tools pro Visual Studio Code najdete v následujících článcích: