Sdílet prostřednictvím


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

V tomto rychlém startu se dozvíte, jak vytvořit, spustit a odeslat ú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 data streamovaná v reálném čase z IoT Hub a filtruje události s teplotou vyšší než 27°. Výsledky výstupu se odesílají do souboru v úložišti objektů blob. Vstupní data použitá v tomto rychlém startu jsou generována online simulátorem Raspberry Pi.

Poznámka

Nástroje Visual Studio Code nepodporují pracovní příležitosti 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 Stream Analytics a v rozšíření Azure Stream Analytics Tools vyberte Nainstalovat.

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

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

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

  4. Po přihlášení uvidíte předplatná v rámci svého účtu Azure.

Poznámka

Rozšíření ASA Tools vás automaticky přihlásí při každém otevření VS Code. Pokud má váš účet dvojúrovňové ověřování, doporučujeme místo 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.

Příprava vstupních dat

Před definováním úlohy Stream Analytics byste měli připravit vstupní data. Data senzoru v reálném čase se ingestují do IoT Hub, který se později nakonfiguruje jako vstup úlohy. Chcete-li připravit vstupní data vyžadovaná úlohou, postupujte takto:

  1. Přihlaste se k webu Azure Portal.

  2. Vyberte Vytvořit prostředek > Internet věcí > IoT Hub.

    Snímek obrazovky se stránkou Vytvořit prostředek pro IoT Hub

  3. Na stránce IoT Hub zadejte následující informace:

    • Předplatné, vyberte své předplatné Azure.
    • Vyberte existující skupinu prostředků nebo vytvořte novou skupinu prostředků.
    • Název centra IoT, zadejte název centra IoT.
    • Oblast vyberte oblast, která je k vám nejblíže.

    Snímek obrazovky zobrazující stránku IoT Hub k vytvoření

  4. Přejděte na stránku Správa a v části Cenová a škálovací úroveň vyberte F1: Úroveň Free, pokud je ve vašem předplatném stále k dispozici. Další informace najdete v tématu ceny Azure IoT Hub.

    Snímek obrazovky zobrazující stránku správy IoT Hub

  5. Vyberte Zkontrolovat a vytvořit. Zkontrolujte informace o službě IoT Hub a vyberte Vytvořit. Nasazení centra IoT může trvat několik minut.

  6. Po vytvoření centra IoT vyberte Přejít k prostředku a přejděte na stránku IoT Hub. '

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

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

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

    Snímek obrazovky se stránkou Přidat zařízení

  9. Po vytvoření zařízení by se mělo zobrazit v seznamu zařízení IoT . Vyberte tlačítko Aktualizovat na stránce, pokud ho nevidíte.

    Snímek obrazovky znázorňující výběr zařízení na stránce Zařízení

  10. V seznamu vyberte své zařízení. Zkopírujte primární připojovací řetězec a uložte ho do poznámkového bloku pro pozdější použití.

    Snímek obrazovky zobrazující primární připojovací řetězec zařízení, které jste vytvořili

Spuštění simulátoru IoT

  1. Otevřete online simulátor Raspberry Pi Azure IoT na nové kartě prohlížeče.

  2. Zástupný text na řádku 15 nahraďte připojovacím řetězcem zařízení ioT Hubu, který jste si uložili dříve.

  3. Vyberte Run (Spustit). Výstup by měl zobrazovat data senzorů a zprávy, které se odesílají do vašeho centra IoT.

    Snímek obrazovky znázorňující online simulátor Raspberry Pi Azure IoT s výstupem

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

  1. V levém horním rohu Azure Portal vyberte Vytvořit prostředek>Úč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 a vytvořte úč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 v nabídce vlevo Kontejnery 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, úroveň veřejného přístupu ponechte jako Privátní (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: Create New Project (Asa: Create New Project).

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

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

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

  3. Do vašeho 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 odeslání úlohy Stream Analytics do Azure.

    Poznámka

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

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 na složku Vstupy ve vašem projektu Stream Analytics. Pak v místní nabídce vyberte ASA: Add Input (Přidat vstup ).

    Snímek obrazovky znázorňující nabídku ASA: Přidat vstup 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 na paletě příkazů VS Code

  3. V rozevírací nabídce vyberte skript ASA *.asaql a Předplatná Azure a stiskněte klávesu ENTER.

  4. Ve složce Vstupy uvidíte, že se vytvořil soubor IoTHub1.json . Nahraďte nastavení následujícími navrhovanými hodnotami a ponechte výchozí hodnoty pro pole, která tu nejsou uvedená.

    Nastavení Navrhovaná hodnota Popis
    Název Vstup Tento název vstupu se používá pro příkaz FROM v dotazu.
    IotHubNamespace Spiothub Název vašeho centra IoT. Názvy IoT Hubu se automaticky zjistí, pokud vyberete ze svého předplatného.
    SharedAccessPolicyName iothubowner

    Snímek obrazovky znázorňující konfiguraci IoT Hub v editoru VS Code

  5. Vyberte Náhled dat a podívejte se, jestli jsou vstupní data úspěšně nakonfigurovaná pro vaši úlohu. Načte vzorek vašeho IoT Hub a zobrazí se v okně náhledu.

    Snímek obrazovky s náhledem vstupních dat ve službě IoT Hub

Konfigurace výstupu úlohy

  1. Stisknutím kombinace kláves Ctrl+Shift+P otevřete paletu příkazů a zadejte ASA: Add Output (Asa: Add Output).

  2. Jako typ jímky zvolte Data Lake Storage Gen2/Blob Storage.

  3. Pomocí tohoto výstupu vyberte skript dotazu.

  4. Jako název výstupního souboru zadejte BlobStorage1 .

  5. Upravte nastavení pomocí následujících hodnot. Pro pole, která tu nejsou uvedená, ponechte výchozí hodnoty.

    Nastavení Navrhovaná hodnota Popis
    Název Výstup Tento název výstupu se používá pro příkaz INTO v dotazu.
    Účet úložiště spstorageaccount0901 Zvolte nebo zadejte název účtu úložiště. Názvy účtů úložiště se automaticky zjišťují, pokud jsou vytvořené ve stejném předplatném.
    Kontejner kontejnerová kontejnerová Vyberte existující kontejner, který jste vytvořili v účtu úložiště.

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

Zkompilujte skript a odešlete ho do Azure.

Kompilace skriptů zkontroluje syntaxi a vygeneruje šablony Azure Resource Manager pro automatické nasazení.

  1. Klikněte pravým tlačítkem na skript a vyberte ASA: Compile Script (Asa: Compile Script).

    Snímek obrazovky znázorňující možnost kompilace skriptu z průzkumníka Stream Analytics ve VS Code

  2. Po kompilaci se ve vašem projektu zobrazí složka Deploy se dvěma šablonami Azure Resource Manager. Tyto dva soubory se používají k automatickému nasazení.

    Snímek obrazovky znázorňující vygenerované šablony nasazení ve složce projektu

  3. V editoru dotazů vyberte Odeslat do Azure .

    Snímek obrazovky s tlačítkem odeslat úlohu Stream Analytics do Azure

    Pak postupujte podle pokynů k dokončení procesu: Vyberte předplatné > Vyberte úlohu > Vytvořit novou úlohu > A zadejte název > úlohy Zvolte skupinu prostředků a oblast.

  4. Vyberte Publikovat do Azure a dokončete to. Počkejte, až se otevře nová karta Zobrazení cloudové úlohy se stavem vaší úlohy.

    Snímek obrazovky znázorňující tlačítko publikovat do Azure v nástroji 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. Dokončení tohoto procesu může trvat několik minut.

    Snímek obrazovky znázorňující tlačítko Spustit úlohu na stránce Cloudové zobrazení

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

    Snímek obrazovky zobrazující stav spuštěné úlohy v editoru VS Code

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

    Snímek obrazovky znázorňující výstupní soubor v kontejneru objektů blob

    Stáhněte si soubor a otevřete ho, 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ž je 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 nebudete tuto úlohu dál používat, pomocí následujícího postupu odstraňte všechny prostředky vytvořené v rámci tohoto rychlého startu:

  1. V nabídce vlevo v 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: