Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Lekce 5 - Microsoft AZURE - Práce s daty a příprava prostředí

V minulé lekci jsme se věnovali bezpečnosti a IoT hubu. Jsme tedy připojeni do AZURE a přes IoT hub nám do AZURE data vesele proudí, nicméně je pořádně nevidíme a neukládáme je.

Úvod do Stream analytics

Ke zpracování dat z IOT hubu slouží služba StreamAnalytics.

Stream Analytics schema - Microsoft Azure a IoT

Je to škálovatelná služba, která dokáže nad daty z různých vstupů provádět určitou logiku a následně jejich výběr předat na výstup jako je například TableStorage, SQL databáze, Power BI atd. Jazyk, který používá, vychází z jazyka T-SQL, který je upraven pro potřeby Stream Analytics jako Stream Analytics Query Language.

Dokumentaci naleznete na adrese https://msdn.microsoft.com/…n834998.aspx

Syntaxe bude programátorům dost povědomá. Nejjednodušší dotaz může vypadat takto:

SELECT
    *
INTO
    [YourOutputAlias]
FROM
    [YourInputAlias]

Neudělá nic jiného, než že vybere všechna data na vstupu a pošle je, tak jak jsou, na výstup. Nic složitého. Takové chování je nám trochu k ničemu, a tak budeme muset kód upravit. To uděláme hned, jak si službu Stream Analytics zprovozníme. Rovnou si zapneme i službu Storage pro uložení dat. Neboť ta bude jedním z výstupů.

Zprovoznění prostředí

Přihlaste se tedy do Azure, jen připomenu adresu https://portal.azure.com/

Přejděte tedy do vaší Resource Group, ve které již máte IOT HUB, a přidejte službu Stream Analytics Job.

Add Stream Analytics job - Microsoft Azure a IoT

Nějak ji pojmenujte, vyberte již existující Resource group a zvolte create. Pokud ji nebudete moci najít, dejte název Stream Analytics do vyhledávání na dashboardu vpravo nahoře.

Add Stream Analytics job - Microsoft Azure a IoT

Po chvilce čekání se job vytvoří.

Přidáme si rovnou úložiště, kam budeme ukládat data. Přidejte si tedy Storage Account - omlouvám se těm, kteří to budou hledat v české verzi, hledejte něco jako Účet úložiště a pozor, musíte použít dlouhé ú nebo si v nastavení (zubaté kolečko vpravo nahoře) změňte jazyk na angličtinu. Nezapomeňte na stejnou Resource group a vyberte lokální redundanci dat v sekci replication data. Naše data tak budou 3x uložena jen v jednom data centru, což nám v tuto chvíli ušetří kredit, neboť se jedná o testovací prostředí. Nechci zabředávat do možností redundance dat. Možná někdy jindy v jiném kurzu.

Add Accout Storage - Microsoft Azure a IoT

Ostatní volby nechte tak, jak je mám já.

Klikněte na Create a po chvilce by váš DashBoard měl vypadat podobně jako ten můj. Pokud ne, připněte si na plochu veškerý obsah své Resource group. Uděláte to tak, že do vyhledávacího tlačítka nahoře napíšete jméno vaší Resource group a přidáte si ji na Dashboard, viz obrázek.

Add all Resources in Resource group - Microsoft Azure a IoT

Konfigurace služeb

Nyní máme připravené prostředí v AZURE a pustíme se do konfigurace jednotlivých služeb.

Stream Analytics - Inputs (vstupy)

Pro práci s daty nám bude primárně sloužit služba Stream Analytics. Dvojklikem ve vašich Resources na Stream Analytics job se vám zobrazí nastavení služby.

Stream Analytics - Microsoft Azure a IoT

Nás budou hlavně zajímat okna s názvy Inputs, Outputs a QUERY.

INPUTS, neboli vstupy, slouží k definici rozhraní, kde budeme načítat data. V našem případě to bude jen IOT Hub z naší Resource Group. OUTPUTS, neboli výstupy, slouží k definici výstupů, které u nás budou reprezentovány službou Storage, přesněji TableStorage, a službou Power BI. Pro rychlé zorientování by vám tyto informace měly stačit. Ostatní bude dle mého názoru jasné, hned jak začneme službu konfigurovat.

Jako první si přidáme napojení na IoT Hub na vstupu. Klikněte tedy na nápis input, a poté na volbu +Add, přidáte si tím propojení do vašeho IoT hubu. V dialogovém okně je spousta voleb, které je potřeba doplnit, podle mého názoru nepotřebují hlubší komentář. Jen snad pole Source, kde vyberte IoT hub, dále pak volba v poli Subscription = "Use IoT hub from current subscription" vám zjednoduší přidávání správného IoT Hubu. Klíče a ostatní volby se doplní samy automaticky. Ještě jedno pole by vás mohlo nebo mělo zajímat a to je Event serialization format ="JSON" - což je právě mnou již zmiňovaný formát AMQP. Mé nastavení je na obrázku i s drobným popisem jednotlivých voleb.

Volby budou vypadat asi následovně:

Stream Analytics – add input - Microsoft Azure a IoT
Input alias Zadejte nějaké jméno vašeho vstupu
Source type Data stream
Source IoT hub
Subscription Use IoT hub from current subscription
(Ostatní volby se vám doplní samy.)
IoT hub HubIotDht22Spark
Endpoint Messaging
Shared access policy name iothubowner
Shared access policy key (nepůjde měnit, klíč si Azure vezme sám)
Consumer group $Default*
Event serialization format JSON
Encoding UTF-8

Použijte tlačítko Create, čímž vytvoříte vstup.

Stream Analytics - Outputs (Výstupy)

Dále pak přejděte do definice Output. Jako první definujeme výstup do table Storage. To bude naše úložiště, kam budeme ukládat naše přijatá data. Nic by vám nemělo činit problémy, a tak jen pro úplnost, i zde přikládám obrázek. Všimněte si pole Sink. Po jeho rozkliknutí můžete vidět, kam všude dokáže Stream Analytics data předat. U nás to nyní bude Table storage. Určitě si opět vyberte ve volbě Subscrition volbu ="Use table storage from current subscription", zjednodušíte si život při vybírání volby Storage account. Zadejte jméno tabulky, do které budeme data ukládat. Velmi důležitou volbou jsou pole Partition key a Row key. Popište je stejně jako já. Není to úplně potřeba, ale těmto volbám se budu věnovat později při popisu Table Storage, a proto by bylo dobré se moc nerozcházet.

Stream Analytics – Output - Microsoft Azure a IoT
Output alias Zadejte jméno vašeho výstupu, např: TableData
Sink Table storage
Subscription Use table storage from current subscription
Storage account Vyberte jméno vašeho storage account
Storage account key (bude automaticky vybrán )
Table name Jméno vaší tabulky pro ukládání dat
Partition key DeviceId
Row key EventTime

Opět použijte tlačítko Create. Nyní jsme si vytvořili propojení do Storage account, tj. do místa, kam můžeme ukládat data z vašeho měřidla.

Příště si ukážeme práci s QUERY a povíme si něco o Stream Analytics Query Language


 

Předchozí článek
Microsoft AZURE - IoT Hub
Všechny články v sekci
Microsoft Azure a IoT
Přeskočit článek
(nedoporučujeme)
Microsoft AZURE - Stream Analytics Query Language
Článek pro vás napsal Michal Gros
Avatar
Uživatelské hodnocení:
5 hlasů
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