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
- Předplatné Azure. Pokud ještě nemáte předplatné Azure, vytvořte si bezplatný účet.
- Visual Studio Code.
Instalace rozšíření Azure Stream Analytics Tools
Otevřete Visual Studio Code (VS Code).
V levém podokně Rozšíření vyhledejte Stream Analytics a v rozšíření Azure Stream Analytics Tools vyberte Nainstalovat.
Po instalaci vyberte ikonu Azure na panelu aktivit a přihlaste se k Azure.
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:
Přihlaste se k webu Azure Portal.
Vyberte Vytvořit prostředek > Internet věcí > IoT Hub.
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.
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.
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.
Po vytvoření centra IoT vyberte Přejít k prostředku a přejděte na stránku IoT Hub. '
Na stránce IoT Hub vyberte v nabídce vlevo zařízení a pak vyberte + Přidat zařízení.
Zadejte ID zařízení a vyberte Uložit.
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.
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í.
Spuštění simulátoru IoT
Otevřete online simulátor Raspberry Pi Azure IoT na nové kartě prohlížeče.
Zástupný text na řádku 15 nahraďte připojovacím řetězcem zařízení ioT Hubu, který jste si uložili dříve.
Vyberte Run (Spustit). Výstup by měl zobrazovat data senzorů a zprávy, které se odesílají do vašeho centra IoT.
Vytvoření úložiště objektů blob
V levém horním rohu Azure Portal vyberte Vytvořit prostředek>Účet úložiště>.
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ě.
Na stránce Účet úložiště vyberte v nabídce vlevo Kontejnery a pak na panelu příkazů vyberte + Kontejner .
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.
Vytvoření projektu Stream Analytics
V editoru Visual Studio Code stiskněte kombinaci kláves Ctrl+Shift+P a zadejte ASA: Create New Project (Asa: Create New Project).
Zadejte název projektu, například myASAproj, a vyberte složku pro váš projekt.
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 .
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
Otevřete soubor myASAproj.asaql a přidejte následující dotaz:
SELECT * INTO Output FROM Input WHERE Temperature > 27
Konfigurace vstupu úlohy
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 ).
Nebo stisknutím kombinace kláves Ctrl+Shift+P otevřete paletu příkazů a zadejte ASA: Přidat vstup.
Jako typ vstupu zvolte IoT Hub.
V rozevírací nabídce vyberte skript ASA *.asaql a Předplatná Azure a stiskněte klávesu ENTER.
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 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.
Konfigurace výstupu úlohy
Stisknutím kombinace kláves Ctrl+Shift+P otevřete paletu příkazů a zadejte ASA: Add Output (Asa: Add Output).
Jako typ jímky zvolte Data Lake Storage Gen2/Blob Storage.
Pomocí tohoto výstupu vyberte skript dotazu.
Jako název výstupního souboru zadejte BlobStorage1 .
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ě.
Zkompilujte skript a odešlete ho do Azure.
Kompilace skriptů zkontroluje syntaxi a vygeneruje šablony Azure Resource Manager pro automatické nasazení.
Klikněte pravým tlačítkem na skript a vyberte ASA: Compile Script (Asa: Compile Script).
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í.
V editoru dotazů vyberte Odeslat 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.
Vyberte Publikovat do Azure a dokončete to. Počkejte, až se otevře nová karta Zobrazení cloudové úlohy se stavem vaší úlohy.
Spuštění úlohy Stream Analytics a kontrola výstupu
Na kartě Zobrazení cloudové úlohy vyberte Spustit a spusťte úlohu v cloudu. Dokončení tohoto procesu může trvat několik minut.
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ěží.
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.
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:
V nabídce vlevo v Azure Portal vyberte Skupiny prostředků a pak vyberte název prostředku, který jste vytvořili.
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:
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro