Stream Analytics SQL Database integration
Łączenie Stream Analytics ze Storage Account jest łatwe, ponieważ zwracamy JSON i nie heja banana. Działa. Gdy
chcemy zapisać te same dane do bazy relacyjnej jest już gorzej. Przede wszystkim SQL Database jest nie tylko
relacyjny ale również silnie typowany. Nie zrozumcie mnie źle Stream Analytics sobie z tym radzi świetnie, ale musi
mieć przygotowaną odpowiednio bazę. A może nie musi?
Gdzie zacząć
Możemy iść taką samą drogą jak poprzednio Azure stream analytics, prosty przypadek wymieniając tylko output na SQL Database.
Na początku wygląda tak samo. Nadajemy alias, wybieramy bazę danych. Jeśli wybieramy połączenie pierwszy raz
prawdopodobnie pokaże się nam przycisk walidacji poprawności danych do logowania do bazy danych, a jeśli nie
mamy dodanego IP Stream Analytics to jeszcze dodatkowy komunikat z prośbą przepuszczenia przez firewall.
Idąc od tej strony musimy mieć stworzoną bazę danych oraz tabelę do której chcemy dane zapisywać, tak aby można
było ją wybrać.
SQL integration to Stream Analytics
Dlatego pójdźmy inną drogą. Bezpośrednio z bazy danych, takiej świeżo stworzonej nawet bez żadnego
schematu wewnątrz. Gdy oglądamy nasz zasób bazy danych szukamy sekcji Integrations a tam znajdziemy
Stream Analytics (q1 2020 obecnie w preview).
Będziemy tutaj tworzy zupełnie nowy Stream Analytics Job. Basic to informacja o nazwie nowego
zasobu. Potem konfigurujemy input czyli naszego IoT Huba, nic nowego.
Konfiguracja outputu czyli tej bazy z której tworzymy SA Job :) i tutaj musimy podać dane do logowania
do bazy danych i dodać adres IP do firewalla bazy danych. Na koniec wpisujemy nazwę tabeli do której
nasz Job będzie pisał.
SQL Database integration
Teraz na szybko skaczemy do zapytania bierzemy wszystko wciskamy do bazy i startujemy Joba.
I dostajemy po łapkach że to za mało. Skoro znamy schemat to możemy iść od strony Stream Analytics. Do
integracji od strony bazy danych przyszliśmy właśnie po pomoc ze schematem.
Query window for SQL Database integration
Teraz na szybko skaczemy do zapytania bierzemy wszystko wciskamy do bazy i startujemy Joba.
I dostajemy po łapkach że to za mało. Skoro znamy schemat to możemy iść od strony Stream Analytics. Do
integracji od strony bazy danych przyszliśmy właśnie po pomoc ze schematem.
Query window for SQL Database integration
Dwa pierwsze okna są niezmiennie obecne i funkcjonalne. Input preview z widokiem tabelarycznym oraz
surowych danych, Test results prezentujące wyniki naszego zapytania.
Mamy za to dwa dodatkowe widoki które są dla nas naprawdę przydatne.
Test results schema. Prosta rozpiska kolumna - typ, a jakże przydatna. Na podstawie takiego zestawienia
potrafimy stworzyć scheme naszej tabeli w Sqlu. A skoro człowiek potrafi, to i narzędzie potrafi. To jest
definicja kolumn w tabeli, która zostanie dla nas stworzona gdy Job zacznie działać. Bezpośrednio z okna
zapytania możemy uruchomić nasz Job pamiętając o wybraniu odpowiedniej dla nas ilości Streaming Units.
Podsumowanie
Warto spojrzeć na integrację do SQLa właśnie od tej strony, oraz na nasze zapytania stream analytics.
Często jedna mała pomyłka zmienia typ danych lub nazwę kolumny. Takie błędy bardzo ciężko debuguje się
zatrzymując job, zmieniając zapytanie, uruchamiając job, sprawdzając logi.
Oczywiście gdy mamy wszystko skonfigurowane i pewne nie musimy korzystać z tej integracji, tym bardziej
dopóki jest ona w preview. Miło jest jednak mieć pomocną dłoń, tudzież automat ;)
Komentarze
Prześlij komentarz