Udostępnij za pośrednictwem


Zapisywanie w tabeli usługi Azure SQL Database z zadań usługi Azure Stream Analytics

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

Wymagania wstępne

  1. Tworzenie zadania usługi Stream Analytics

  2. Utwórz bazę danych Azure SQL, do której zadanie usługi Stream Analytics zapisze dane wyjściowe.

Zapisywanie w nowej tabeli w SQL Database

W tej sekcji opisano sposób konfigurowania zadania do zapisywania w tabeli w bazie danych Azure SQL, 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 wyjściowy, 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 dowiedzieć się więcej.

  3. Wprowadź nazwę tabeli, którą chcesz utworzyć w bazie danych Azure SQL. Kliknij pozycję Zapisz. Uwaga: zapisywanie tych danych wyjściowych nie powoduje utworzenia tabeli w 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ę Testuj zapytanie , aby przetestować logikę zapytania i wyświetlić wyniki testu, które pokazują 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. Więcej informacji na temat zapytania testowego usługi Stream Analytics można dowiedzieć się więcej.

    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 pozycję 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 zostanie zmodyfikowane w celu utworzenia innego schematu, musisz zmienić definicję tabeli w 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 SQL Database, aby wyświetlić dane wyjściowe zapytania przesyłania strumieniowego.

Wybierz istniejącą tabelę z SQL Database

W tej sekcji opisano sposób konfigurowania zadania do zapisu w tabeli, która już istnieje w bazie danych Azure SQL.

  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 wyjściowy, 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 dowiedzieć się więcej.

  3. Możesz wybrać istniejącą tabelę z wybranej 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ć dane przychodzące przesyłania strumieniowego w centrum zdarzeń/IoT Hub lub przekazać przykładowe dane do zapytania testowego. Więcej informacji na temat zapytania testowego usługi Stream Analytics można dowiedzieć się więcej.

    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 oraz w wybranej tabeli. Stan można zobaczyć, czy typ danych przychodzących i wybrana tabela SQL są zgodne, czy nie. Jeśli nie jest to zgodne, zostanie wyświetlony monit o zaktualizowanie zapytania w celu dopasowania 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 SQL Database, aby wyświetlić dane wyjściowe zapytania przesyłania strumieniowego.

Typowe przyczyny niezgodności typów danych

Ważne jest, aby upewnić się, że dane wyjściowe zadania usługi Stream Analytics są zgodne z nazwami kolumn i typami danych oczekiwanym przez tabelę SQL Database. Jeśli wystąpiła niezgodność, zadanie będzie uruchamiać błędy konwersji danych i stale ponawiać próbę, dopóki definicja tabeli SQL nie zostanie zmieniona. 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 ani 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 tych danych wyjściowych. Wartość zostanie zastąpiona ciągiem "record". Rozważ przeanalizowanie danych lub użycie funkcji UDF 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 UDF 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