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 objektů 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 – sever.

Požadavky

Instalace rozšíření Azure Stream Analytics Tools

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

  2. V levém podokně Rozšíření vyhledejte analýzy streamů a vyberte Nainstalovat v 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í, doporučujeme místo použití PIN kódu použít ověřování telefonem. Pokud se chcete odhlásit ze svého účtu Azure, stiskněte Ctrl + Shift + P a zadejte Azure: Sign Out.

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 zařízením Azure IoT Hub připojovací řetězec, které jste si uložili v předchozí části.

  3. Vyberte Spustit. Výstup by měl zobrazit data snímačů a zprávy, 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ření úložiště objektů blob

  1. V levém horním rohu webu Azure Portal vyberte Vytvořit účet úložiště>prostředků.>

    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í vytvoření stránky kontejneru objektů blob

Vytvoření projektu Stream Analytics

  1. V editoru Visual Studio Code stiskněte kombinaci kláves Ctrl+Shift+P 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. Do pracovního prostoru se přidá 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ává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 asaproj.json souboru.

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 v místní nabídce 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 se zobrazí soubor IoTHub1.json je vytvořen.

  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 s odkazem Vybrat z 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 nastavena SharedAccessPolicyName na iothubownerhodnotu . 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á. Načte ukázku služby IoT Hub a zobrazí se v okně náhledu.

    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. Výběr 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.json zvolte 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

Kompilace skriptu a odeslání 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 znázorňující kompilaci 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 zobrazující vygenerované šablony 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 Zobrazení cloudové úlohy se stavem 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.

  3. Pokud se úloha úspěšně spustí, stav úlohy se změní na Spuštěno. Zobrazí se logický diagram znázorňující, jak je úloha ASA spuštěná.

    Snímek obrazovky znázorňující stav spuštěné úlohy ve VS Code

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

    Snímek obrazovky znázorňující výstupní soubor v kontejneru objektů 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ž ji nepotřebujete, odstraňte skupinu prostředků, úlohu Stream Analytics a všechny související prostředky. Odstraněním úlohy se zabrání zaúčtování jednotek streamování, které daná úloha spotřebovává. Pokud plánujete používat tuto úlohu v budoucnu, můžete ji zastavit a znovu ji spustit později, až ji 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: