Udostępnij za pomocą


Pisz do tabeli bazy Azure SQL z zadań usługi Azure Stream Analytics

Usługa Azure Stream Analytics obsługuje usługę Azure SQL Database jako dane wyjściowe dla zapytania przesyłania strumieniowego. W tym artykule wyjaśniono, jak używać bazy danych SQL jako wyjścia zadania Stream Analytics w portalu Azure.

Wymagania wstępne

  1. Utwórz zadanie usługi Stream Analytics.

  2. Utwórz usługę Azure SQL Database, do której zadanie usługi Stream Analytics będzie zapisywać dane wyjściowe.

Zapisz do nowej tabeli w bazie danych SQL

W tej sekcji opisano sposób konfigurowania zadania do zapisywania w tabeli w usłudze Azure SQL Database, która nie została jeszcze utworzona.

  1. W zadaniu usługi Stream Analytics wybierz pozycję Dane wyjściowe w obszarze Topologia zadania. Kliknij pozycję Dodaj i wybierz pozycję SQL Database.

    Zrzut ekranu przedstawiający dane wyjściowe bazy danych SQL w usłudze Stream Analytics.

  2. Wybierz alias danych wyjściowych, który będzie używany w zapytaniu zadania. Podaj nazwę bazy danych i tryb uwierzytelniania. Więcej informacji na temat opcji konfiguracji danych wyjściowych SQL można znaleźć tutaj.

  3. Wprowadź nazwę tabeli , którą chcesz utworzyć w usłudze Azure SQL Database. Kliknij przycisk Zapisz. Uwaga: zapisanie tych danych wyjściowych nie powoduje utworzenia tabeli w usłudze SQL Database. Następne kroki zawierają więcej szczegółów na temat tworzenia tabeli.

    Zrzut ekranu przedstawiający konfigurację danych wyjściowych bazy danych SQL w usłudze Stream Analytics.

  4. Wybierz pozycję Zapytanie w obszarze Topologia zadania i użyj aliasu w zapytaniu, aby zapisać dane wyjściowe w nazwie tabeli podanej w poprzednim kroku. Kliknij pozycję Zapytanie testowe , aby przetestować logikę zapytania i wyświetlić wyniki testu , które zawierają schemat danych wyjściowych, które zostaną wygenerowane przez zadanie. Uwaga: aby przetestować zapytanie, musisz mieć przychodzące dane przesyłane strumieniowo w źródle wejściowym lub przekazać przykładowe dane do zapytania testowego. Możesz dowiedzieć się więcej na temat zapytania testowego usługi Stream Analytics.

    Zrzut ekranu przedstawiający testowanie zapytań w usłudze Stream Analytics.

    Zrzut ekranu przedstawiający wyniki testów zapytań w usłudze Stream Analytics.

  5. Kliknij Schemat tabeli SQL, aby wyświetlić nazwę i typ kolumny. Kliknij pozycję Utwórz tabelę , a tabela zostanie utworzona w bazie danych SQL.

    Zrzut ekranu przedstawiający tworzenie tabeli w bazie danych SQL z usługi Stream Analytics.

    Jeśli zapytanie usługi Stream Analytics zostało zmodyfikowane w celu utworzenia innego schematu, musisz zmienić definicję tabeli w usłudze SQL Database. Dzięki temu zadanie usługi Stream Analytics nie napotka błędów konwersji danych podczas próby zapisania w ujściu.

  6. Po zakończeniu zapytania wybierz pozycję Przegląd i Uruchom zadanie. Następnie możesz przejść do tabeli bazy danych SQL, aby zobaczyć wynik zapytania strumieniowego.

Wybieranie istniejącej tabeli z usługi SQL Database

W tej sekcji opisano sposób konfigurowania zadania w celu zapisania w tabeli, która już istnieje w usłudze Azure SQL Database.

  1. W zadaniu usługi Stream Analytics wybierz pozycję Dane wyjściowe w obszarze Topologia zadania. Kliknij pozycję Dodaj i wybierz pozycję SQL Database.

    Zrzut ekranu przedstawiający dane wyjściowe bazy danych SQL w usłudze Stream Analytics.

  2. Wybierz alias danych wyjściowych, który będzie używany w zapytaniu zadania. Podaj nazwę bazy danych i tryb uwierzytelniania. Więcej informacji na temat opcji konfiguracji danych wyjściowych SQL można znaleźć tutaj.

  3. Możesz wybrać istniejącą tabelę z wybranej bazy danych SQL Database, wprowadzając szczegóły uwierzytelniania SQL. Spowoduje to załadowanie listy nazw tabel z bazy danych. Wybierz nazwę tabeli z listy lub ręcznie wprowadź nazwę tabeli i zapisz.

    Zrzut ekranu przedstawiający istniejącą tabelę w bazie danych SQL.

  4. Wybierz pozycję Zapytanie w obszarze Topologia zadania i użyj nazwy aliasu w zapytaniu, aby zapisać dane wyjściowe w wybranej tabeli. Kliknij pozycję Testuj zapytanie , aby przetestować logikę zapytania i wyświetlić wyniki testu. Uwaga: aby przetestować zapytanie, musisz mieć przychodzące dane przesyłane strumieniowo w centrum zdarzeń/usłudze IoT Hub lub przekazać przykładowe dane do zapytania testowego. Więcej informacji na temat zapytania testowego usługi Stream Analytics.

    Zrzut ekranu przedstawiający testowanie zapytań w usłudze Stream Analytics.

    Zrzut ekranu przedstawiający wyniki testów zapytań w usłudze Stream Analytics.

  5. Na karcie Schemat tabeli SQL można zobaczyć nazwę kolumny i jej typ z danych przychodzących i w wybranej tabeli. Możesz sprawdzić, czy typ danych przychodzących i wybrana tabela SQL są zgodne, czy nie. Jeśli nie będzie zgodności, zostanie wyświetlony monit o aktualizację zapytania, tak aby pasowało do schematu tabeli.

    Zrzut ekranu przedstawiający porównanie schematów w usłudze Stream Analytics.

  6. Po zakończeniu zapytania wybierz pozycję Przegląd i Uruchom zadanie. Następnie możesz przejść do tabeli w bazie danych SQL, aby zobaczyć wyniki zapytania strumieniowego.

Typowe przyczyny niezgodności typów danych

Należy upewnić się, że dane wyjściowe zadania usługi Stream Analytics są zgodne z nazwami kolumn i typami danych oczekiwanym przez tabelę usługi SQL Database. Jeśli występuje niezgodność, zadanie zostanie napotkane na błędy konwersji danych i będzie stale ponawiane próby do momentu zmiany definicji tabeli SQL. Możesz zmienić zachowanie zadania , aby usunąć takie dane wyjściowe, które powodują błędy konwersji danych i przejść do następnego. Poniżej opisano najczęstsze przyczyny niezgodności schematu.

  • Niezgodność typów: typy zapytań i obiektów docelowych nie są zgodne. Wiersze nie zostaną wstawione do miejsca docelowego. Użyj funkcji konwersji , takiej jak TRY_CAST(), aby wyrównać typy w zapytaniu. Alternatywną opcją jest zmiana tabeli docelowej w bazie danych SQL.
  • Zakres: zakres typów docelowych jest znacznie mniejszy niż zakres używany w zapytaniu. Wiersze z wartościami poza zakresem mogą nie zostać wstawione do tabeli docelowej lub mogą zostać obcięte. Rozważ zmianę kolumny docelowej na większy zakres typów.
  • Niejawne: typy zapytań i obiektów docelowych są różne, ale zgodne. Dane zostaną niejawnie przekonwertowane, ale może to spowodować utratę lub awarie danych. Użyj funkcji konwersji , takiej jak TRY_CAST(), aby wyrównać typy w zapytaniu lub zmienić tabelę docelową.
  • Rekord: ten typ nie jest jeszcze obsługiwany dla tego wyniku. Wartość zostanie zastąpiona ciągiem "record". Rozważ przeanalizowanie danych lub użycie funkcji zdefiniowanej przez użytkownika do konwersji na ciąg.
  • Tablica: ten typ nie jest jeszcze obsługiwany natywnie w usłudze Azure SQL Database. Wartość zostanie zastąpiona ciągiem "record". Rozważ przeanalizowanie danych lub użycie funkcji zdefiniowanej przez użytkownika do konwersji na ciąg.
  • Brak kolumny z tabeli docelowej: w tabeli docelowej brakuje tej kolumny. Dane nie zostaną wstawione. W razie potrzeby dodaj tę kolumnę do tabeli docelowej.

Następne kroki