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
- 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 analýzy streamů a vyberte Nainstalovat v rozšíření Azure Stream Analytics Tools .
Po instalaci vyberte na panelu aktivit ikonu Azure a přihlaste se k Azure.
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
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.
Vyberte Spustit. Výstup by měl zobrazit data snímačů a zprávy, které se odesílají do ioT Hubu.
Důležité
Po několika minutách vyberte Resetovat a obnovte připojovací řetězec.
Vytvoření úložiště objektů blob
V levém horním rohu webu Azure Portal vyberte Vytvořit účet úložiště>prostředků.>
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ě.
Na stránce Účet úložiště vyberte kontejnery v nabídce vlevo a pak na panelu příkazů vyberte + Kontejner.
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.
Vytvoření projektu Stream Analytics
V editoru Visual Studio Code stiskněte kombinaci kláves Ctrl+Shift+P a zadejte ASA: Vytvořit nový projekt.
Zadejte název projektu, například myASAproj, a vyberte složku projektu.
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.
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
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 myši na složku Vstupy v projektu Stream Analytics. Pak v místní nabídce vyberte ASA: 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 zvolte Vybrat z předplatných Azure a stiskněte ENTER.
Zadejte vstup pro název a stiskněte klávesu ENTER.
Ve složce Vstupy se zobrazí soubor IoTHub1.json je vytvořen.
V souboru JSON ověřte, že je zadaný název vstupu.
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.
V editoru JSON zvolte Vybrat IoT Hub a pak vyberte centrum IoT, které jste vytvořili.
Ve výchozím nastavení by měla být nastavena
SharedAccessPolicyName
naiothubowner
hodnotu . Pokud ne, zvolte odkaz Vybrat název zásady sdíleného přístupu a pak v rozevíracím seznamu vyberte iothubowner .Hodnota
SharedAccessPolicyKey
by měla být nastavena automaticky.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.
Konfigurace výstupu úlohy
- V průzkumníku klikněte pravým tlačítkem na Výstupy a vyberte ASA: Přidat výstup.
- Jako typ jímky v rozevíracím seznamu zvolte Data Lake Storage Gen2/Blob Storage .
- Výběr z předplatných Azure
- 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.
- 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.
- 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.
- Pokud potřebujete změnit název kontejneru, zvolte Vybrat kontejner a vyberte kontejner objektů blob, který jste vytvořili.
Kompilace skriptu a odeslání do Azure
Kompilace skriptu zkontroluje syntaxi a vygeneruje šablony Azure Resource Manageru pro automatické nasazení.
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).)
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í.
V editoru dotazů vyberte Odeslat do Azure .
V okně Odeslat postupujte takto:
Vyberte své předplatné Azure.
Vyberte skupinu prostředků Azure.
Vyberte oblast, ve které chcete vytvořit úlohu Stream Analytics.
Pak vyberte Odeslat.
Vyberte Publikovat do Azure a dokončete je. 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.
V okně Spustit úlohu streamování vyberte OK. Dokončení tohoto procesu může trvat pár minut.
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á.
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.
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:
V nabídce vlevo na webu 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: