IT rekvalifikácia. Seniorní programátori zarábajú až 6 000 €/mesiac a rekvalifikácia je prvým krokom. Zisti, ako na to!

5. diel - Microsoft AZURE - Práca s dátami a príprava prostredia

V minulej lekcii sme sa venovali bezpečnosti a IoT hubu. Sme teda pripojení do Azure a cez IoT húb nám do Azure dátumu veselo prúdi, avšak je poriadne nevidíme a neukladáme ich.

Úvod do Stream analytics

Na spracovanie dát z IOT hubu slúži služba StreamAnalytics.

Stream Analytics schema - Microsoft Azure a IoT

Je to škálovateľná služba, ktorá dokáže nad dátami z rôznych vstupov vykonávať určitú logiku a následne ich výber odovzdať na výstup ako je napríklad TableStorage, SQL databázy, Power BI atď. Jazyk, ktorý používa, vychádza z jazyka T-SQL, ktorý je upravený pre potreby Stream Analytics ako Stream Analytics Query Language.

Dokumentáciu nájdete na adrese https://msdn.microsoft.com/...n834998.aspx

Syntax bude programátorom dosť povedomá. Najjednoduchšie dotaz môže vyzerať takto:

SELECT
    *
INTO
    [YourOutputAlias]
FROM
    [YourInputAlias]

Neurobí nič iné, než že vyberie všetky dáta na vstupe a pošle ich, tak ako sú, na výstup. Nič zložité. Takéto správanie je nám trochu k ničomu, a tak budeme musieť kód upraviť. To urobíme hneď, ako si službu Stream Analytics sprevádzkujeme. Rovno si zapneme aj službu Storage pre uloženie dát. Lebo tá bude jedným z výstupov.

Sprevádzkovanie prostredie

Prihláste sa teda do Azure, len pripomeniem adresu https://portal.azure.com/

Prejdite teda do vašej Resource Group, v ktorej už máte IOT HUB, a pridajte službu Stream Analytics Job.

Add Stream Analytics job - Microsoft Azure a IoT

Nejako ju pomenujte, vyberte už existujúcu Resource group a zvoľte create. Pokiaľ ju nebudete môcť nájsť, dajte názov Stream Analytics do vyhľadávania na dashboardu vpravo hore.

Add Stream Analytics job - Microsoft Azure a IoT

Po chvíľke čakania sa job vytvorí.

Pridáme si rovno úložisko, kam budeme ukladať dáta. Pridajte si teda Storage Account - ospravedlňujem sa tým, ktorí to budú hľadať v slovenskej verzii, hľadajte niečo ako Účet úložisko a pozor, musíte použiť dlhé ú alebo si v nastavení (zubaté koliesko vpravo hore) zmeňte jazyk na angličtinu. Nezabudnite na rovnakú Resource group a vyberte lokálne redundanciu dát v sekcii replication dáta. Naše dáta tak budú 3x uložená len v jednom dáta centre, čo nám v tejto chvíli ušetrí kredit, pretože ide o testovacie prostredie. Nechcem zabředávat do možnosťou redundancie dát. Možno niekedy inokedy v inom kurze.

Add Accout Storage - Microsoft Azure a IoT

Ostatné voľby nechajte tak, ako ich mám ja.

Kliknite na Create a po chvíľke by váš Dashboard mal vyzerať podobne ako ten môj. Ak nie, pripnite si na plochu všetok obsah svojej Resource group. Urobíte to tak, že do vyhľadávacieho tlačidla hore napíšete meno vašej Resource group a pridáte si ju na Dashboard, viď obrázok.

Add all Resources in Resource group - Microsoft Azure a IoT

Konfigurácia služieb

Teraz máme pripravené prostredie v Azure a pustíme sa do konfigurácie jednotlivých služieb.

Stream Analytics - Inputs (vstupy)

Pre prácu s dátami nám bude primárne slúžiť služba Stream Analytics. Dvojklikom vo vašich Resources na Stream Analytics job sa vám zobrazí nastavenia služby.

stream Analytics - Microsoft Azure a IoT

Nás budú hlavne zaujímať okná s názvami Inputs, Outputs a QUERY.

INPUTS, čiže vstupy, slúži na definíciu rozhrania, kde budeme načítavať dáta. V našom prípade to bude len IOT Hub z našej Resource Group. Outputs, čiže výstupy, slúži k definícii výstupov, ktoré u nás budú reprezentované službou Storage, presnejšie TableStorage, a službou Power BI. Pre rýchle zorientovanie by vám tieto informácie mali stačiť. Ostatné bude podľa môjho názoru jasné, hneď ako začneme službu konfigurovať.

Ako prvý si pridáme napojenie na IoT Hub na vstupe. Kliknite teda na nápis input, a potom na voľbu + Add, pridáte si tým prepojenie do vášho IoT hubu. V dialógovom okne je veľa volieb, ktoré je potrebné doplniť, podľa môjho názoru nepotrebujú hlbší komentár. Len snáď pole Source, kde vyberte IoT húb, ďalej potom voľba v poli Subscription = "Use IoT húb from current subscription" vám zjednoduší pridávanie správneho IoT Hubu. Kľúče a ostatné voľby sa doplní samé automaticky. Ešte jedno pole by vás mohlo alebo malo zaujímať a to je Event serialization format = "JSON" - čo je práve mnou už spomínaný formát AMQP. Moje nastavenie je na obrázku is drobným popisom jednotlivých volieb.

Voľby budú vyzerať asi nasledovne:

Stream Analytics – add input - Microsoft Azure a IoT
Input alias Zadajte nejaké meno vášho vstupu
source type data stream
source IoT húb
Subscription Use IoT húb from current subscription
(Ostatné voľby sa vám doplní samy.)
IoT húb HubIotDht22Spark
Endpoint Messaging
Shared access policy name iothubowner
Shared access policy key (Nepôjde meniť, kľúč si Azure vezme sám)
consumer group $ Default *
Event serialization format JSON
Encoding UTF-8
Použite tlačidlo Create, čím vytvoríte vstup.

Stream Analytics - Outputs (Výstupy)

Ďalej potom prejdite do definície Output. Ako prvý definujeme výstup do table Storage. To bude naša úložisko, kam budeme ukladať naše prijaté dáta. Nič by vám nemalo robiť problémy, a tak len pre úplnosť, aj tu prikladám obrázok. Všimnite si pole Sink. Po jeho rozkliknutí môžete vidieť, kam všade dokáže Stream Analytics dáta odovzdať. U nás to teraz bude Table storage. Určite si opäť vyberte vo voľbe Subscrition voľbu = "Use table storage from current subscription", zjednodušíte si život pri vyberaní voľby Storage account. Zadajte meno tabuľky, do ktorej budeme dáta ukladať. Veľmi dôležitou voľbou sú polia Partition key a Row key. Popíšte je rovnako ako ja. Nie je to úplne potrebné, ale týmto voľbám sa budem venovať neskôr pri popise Table Storage, a preto by bolo dobré sa moc nerozchádzať.

Stream Analytics – Output - Microsoft Azure a IoT
Output alias Zadajte meno vášho výstupu, napr: TableData
Sink Table storage
Subscription Use table storage from current subscription
storage account Vyberte meno vášho storage account
Storage account key (Bude automaticky vybraný)
Table name Meno vašej tabuľky pre ukladanie dát
partition key Deviceid
Row key EventTime
Opäť použite tlačidlo Create. Teraz sme si vytvorili prepojenia do Storage account, tj. Do miesta, kam môžeme ukladať dáta z vášho meradla.

Nabudúce si ukážeme prácu s QUERY a povieme si niečo o Stream Analytics Query Language


 

Predchádzajúci článok
Microsoft AZURE - IoT Hub
Všetky články v sekcii
Microsoft Azure a IoT
Preskočiť článok
(neodporúčame)
Microsoft AZURE - Stream Analytics Query Language
Článok pre vás napísal Michal Gros
Avatar
Užívateľské hodnotenie:
Ešte nikto nehodnotil, buď prvý!
Autor se jako Partner Solution Architekt ve společnosti NetSecure věnuje cloud technologii MS AZURE, spravuje systémy na os LINUX WINDOWS. Programuje v c, c++ a C# .net, Html
Aktivity