Udostępnij za pośrednictwem


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.

  1. Przejdź do centrum IoT, które zostało utworzone w grupie zasobów.

  2. W sekcji IoT Edge w obszarze Automatyczne Zarządzanie urządzeniami wybierz pozycję Identyfikator urządzenia. W tym samouczku identyfikator to IronOrePredictionDevice.

  3. Wybierz sekcję Ustawianie modułów .

  4. 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

  1. Sklonuj pliki projektu na komputer.

  2. Otwieranie pliku IronOre_Silica_Predict.sln przy użyciu programu Visual Studio 2019

  3. Aktualizowanie szczegółów rejestru kontenerów w deployment.template.json

    "registryCredentials": {
         "RegistryName": {
             "username": "",
             "password": "",
             "address": ""
         }
    }
    
  4. Zaktualizuj plik modules.json, aby określić docelowy rejestr kontenerów (lub repozytorium dla modułu)

    "image": {
         "repository":"samplerepo.azurecr.io/ironoresilicapercent",
         "tag":
    }
    
  5. Wykonaj projekt w trybie debugowania lub wydania, aby upewnić się, że projekt działa bez żadnych problemów

  6. 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.

  7. Wdróż moduł Generator danych jako moduł usługi IoT Edge na urządzeniu brzegowym.

Wdrażanie modułu usługi Azure SQL Edge

  1. Wdróż moduł azure SQL Edge, wybierając pozycję + Dodaj , a następnie pozycję Moduł usługi IoT Edge.

  2. 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.

  3. 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.

  4. Wybieranie aktualizacji

  5. Na stronie Ustawianie modułów na urządzeniu wybierz pozycję Dalej: Trasy>.

  6. 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")
    
  7. Na stronie Ustawianie modułów na urządzeniu wybierz pozycję Dalej: Przejrzyj i utwórz>

  8. 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.

  1. Otwórz narzędzie Azure Data Studio.

  2. 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ę
  3. Wybierz pozycję Połącz.

  4. Na karcie Menu Plik otwórz nowy notes lub użyj skrótu klawiaturowego Ctrl + N.

  5. 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ślona MSSQL_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';
    
  6. 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.