Konfigurowanie modułów i połączeń usługi IoT Edge
Ważne
Usługa Azure SQL Edge zostanie wycofana 30 września 2025 r. Aby uzyskać więcej informacji i opcji migracji, zobacz powiadomienie o wycofaniu.
Uwaga
Usługa Azure SQL Edge nie obsługuje już platformy ARM64.
W drugiej części tego trzyczęściowego samouczka dotyczącego przewidywania zanieczyszczeń rudy żelaza w usłudze Azure SQL Edge skonfigurujesz następujące moduły usługi IoT Edge:
- Azure SQL Edge
- Moduł usługi IoT Edge generatora danych
Określanie poświadczeń rejestru kontenerów
Należy określić poświadczenia rejestrów kontenerów hostujących obrazy modułów. Te poświadczenia można znaleźć w rejestrze kontenerów utworzonym w grupie zasobów. Przejdź do sekcji Klucze dostępu. Zanotuj następujące pola:
- Nazwa rejestru
- Serwer logowania
- Username
- Hasło
Teraz określ poświadczenia kontenera w module usługi IoT Edge.
Przejdź do centrum IoT, które zostało utworzone w grupie zasobów.
W sekcji IoT Edge w obszarze Automatyczne Zarządzanie urządzeniami wybierz pozycję Identyfikator urządzenia. W tym samouczku identyfikator to
IronOrePredictionDevice
.Wybierz sekcję Ustawianie modułów .
W obszarze Poświadczenia rejestru kontenerów wprowadź następujące wartości:
Pole Wartość Nazwisko Nazwa rejestru Adres Serwer logowania Nazwa użytkownika Username Hasło Hasło
Kompilowanie, wypychanie i wdrażanie modułu Generator danych
Sklonuj pliki projektu na komputer.
Otwieranie pliku IronOre_Silica_Predict.sln przy użyciu programu Visual Studio 2019
Aktualizowanie szczegółów rejestru kontenerów w deployment.template.json
"registryCredentials": { "RegistryName": { "username": "", "password": "", "address": "" } }
Zaktualizuj plik modules.json, aby określić docelowy rejestr kontenerów (lub repozytorium dla modułu)
"image": { "repository":"samplerepo.azurecr.io/ironoresilicapercent", "tag": }
Wykonaj projekt w trybie debugowania lub wydania, aby upewnić się, że projekt działa bez żadnych problemów
Wypchnij projekt do rejestru kontenerów, klikając prawym przyciskiem myszy nazwę projektu, a następnie wybierając polecenie Kompiluj i wypychaj moduły usługi IoT Edge.
Wdróż moduł Generator danych jako moduł usługi IoT Edge na urządzeniu brzegowym.
Wdrażanie modułu usługi Azure SQL Edge
Wdróż moduł azure SQL Edge, wybierając pozycję + Dodaj , a następnie pozycję Moduł usługi IoT Edge.
Ustaw opcje konfiguracji na stronie Dodawanie modułów usługi IoT Edge, aby wdrożyć moduł usługi Azure SQL Edge. Aby uzyskać więcej informacji na temat opcji konfiguracji, zobacz Wdrażanie usługi Azure SQL Edge.
Dodaj zmienną
MSSQL_PACKAGE
środowiskową do wdrożenia modułu usługi Azure SQL Edge i określ adres URL sygnatury dostępu współdzielonego pliku dacpac bazy danych utworzonego w kroku 8 części tego samouczka.Wybieranie aktualizacji
Na stronie Ustawianie modułów na urządzeniu wybierz pozycję Dalej: Trasy>.
W okienku tras na stronie Ustawianie modułów na urządzeniu określ trasy dla modułu do komunikacji centrum usługi IoT Edge zgodnie z poniższym opisem. Pamiętaj, aby zaktualizować nazwy modułów w poniższych definicjach tras.
FROM /messages/modules/<your_data_generator_module>/outputs/IronOreMeasures INTO BrokeredEndpoint("/modules/<your_azure_sql_edge_module>/inputs/IronOreMeasures")
Na przykład:
FROM /messages/modules/ASEDataGenerator/outputs/IronOreMeasures INTO BrokeredEndpoint("/modules/AzureSQLEdge/inputs/IronOreMeasures")
Na stronie Ustawianie modułów na urządzeniu wybierz pozycję Dalej: Przejrzyj i utwórz>
Na stronie Ustawianie modułów na urządzeniu wybierz pozycję Utwórz
Utwórz i uruchom zadanie przesyłania strumieniowego T-SQL w usłudze Azure SQL Edge.
Otwórz narzędzie Azure Data Studio.
Na karcie Powitanie uruchom nowe połączenie z następującymi szczegółami:
Pole Wartość Connection type Microsoft SQL Server Serwer Publiczny adres IP wymieniony na maszynie wirtualnej utworzonej na potrzeby tej demonstracji Username skojarzenie zabezpieczeń Hasło Silne hasło, które zostało użyte podczas tworzenia wystąpienia usługi Azure SQL Edge baza danych Wartość domyślna Server group (Grupa serwerów) Wartość domyślna Nazwa (opcjonalnie) Podaj opcjonalną nazwę Wybierz pozycję Połącz.
Na karcie Menu Plik otwórz nowy notes lub użyj skrótu klawiaturowego Ctrl + N.
W nowym oknie Zapytanie wykonaj poniższy skrypt, aby utworzyć zadanie przesyłania strumieniowego T-SQL. Przed wykonaniem skryptu upewnij się, że zmieniono następujące zmienne:
@SQL_SA_Password
: wartość określonaMSSQL_SA_PASSWORD
podczas wdrażania modułu usługi Azure SQL Edge.
USE IronOreSilicaPrediction; GO DECLARE @SQL_SA_Password VARCHAR(200) = '<SQL_SA_Password>'; DECLARE @query VARCHAR(MAX); /* Create objects required for streaming */ CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'MyStr0ng3stP@ssw0rd'; IF NOT EXISTS ( SELECT name FROM sys.external_file_formats WHERE name = 'JSONFormat' ) BEGIN CREATE EXTERNAL FILE FORMAT [JSONFormat] WITH (FORMAT_TYPE = JSON) END IF NOT EXISTS ( SELECT name FROM sys.external_data_sources WHERE name = 'EdgeHub' ) BEGIN CREATE EXTERNAL DATA SOURCE [EdgeHub] WITH (LOCATION = N'edgehub://') END IF NOT EXISTS ( SELECT name FROM sys.external_streams WHERE name = 'IronOreInput' ) BEGIN CREATE EXTERNAL STREAM IronOreInput WITH ( DATA_SOURCE = EdgeHub, FILE_FORMAT = JSONFormat, LOCATION = N'IronOreMeasures' ) END IF NOT EXISTS ( SELECT name FROM sys.database_scoped_credentials WHERE name = 'SQLCredential' ) BEGIN SET @query = 'CREATE DATABASE SCOPED CREDENTIAL SQLCredential WITH IDENTITY = ''sa'', SECRET = ''' + @SQL_SA_Password + '''' EXECUTE (@query) END IF NOT EXISTS ( SELECT name FROM sys.external_data_sources WHERE name = 'LocalSQLOutput' ) BEGIN CREATE EXTERNAL DATA SOURCE LocalSQLOutput WITH ( LOCATION = 'sqlserver://tcp:.,1433', CREDENTIAL = SQLCredential ) END IF NOT EXISTS ( SELECT name FROM sys.external_streams WHERE name = 'IronOreOutput' ) BEGIN CREATE EXTERNAL STREAM IronOreOutput WITH ( DATA_SOURCE = LocalSQLOutput, LOCATION = N'IronOreSilicaPrediction.dbo.IronOreMeasurements' ) END EXEC sys.sp_create_streaming_job @name = N'IronOreData', @statement = N'Select * INTO IronOreOutput from IronOreInput'; EXEC sys.sp_start_streaming_job @name = N'IronOreData';
Użyj następującego zapytania, aby sprawdzić, czy dane z modułu generowania danych są przesyłane strumieniowo do bazy danych.
SELECT TOP 10 * FROM dbo.IronOreMeasurements ORDER BY timestamp DESC;
W tym samouczku wdrożyliśmy moduł generatora danych i moduł usługi SQL Edge. Następnie utworzyliśmy zadanie przesyłania strumieniowego w celu przesyłania strumieniowego danych wygenerowanych przez moduł generowania danych do usługi SQL.