Dela via


Konfigurera IoT Edge-moduler och -anslutningar

Viktigt!

Azure SQL Edge dras tillbaka den 30 september 2025. Mer information och migreringsalternativ finns i meddelandet Om pensionering.

Kommentar

Azure SQL Edge stöder inte längre ARM64-plattformen.

I del två av den här självstudien i tre delar för att förutsäga järnmalmsimpuriteter i Azure SQL Edge konfigurerar du följande IoT Edge-moduler:

  • Azure SQL Edge
  • IoT Edge-modul för datagenerator

Ange autentiseringsuppgifter för containerregister

Autentiseringsuppgifterna för containerregistren som är värd för modulavbildningar måste anges. Dessa autentiseringsuppgifter finns i containerregistret som skapades i resursgruppen. Gå till avsnittet Åtkomstnycklar . Anteckna följande fält:

  • Registernamn
  • Inloggningsserver
  • Username
  • Lösenord

Ange nu autentiseringsuppgifterna för containern i IoT Edge-modulen.

  1. Gå till den IoT-hubb som skapades i resursgruppen.

  2. I avsnittet IoT Edge under Automatisk Enhetshantering väljer du Enhets-ID. I den här självstudien är IronOrePredictionDeviceID:t .

  3. Välj avsnittet Ange moduler .

  4. Under Autentiseringsuppgifter för containerregister anger du följande värden:

    Fält Värde
    Name Registernamn
    Adress Inloggningsserver
    Användarnamn Username
    Lösenord Lösenord

Skapa, push-överföra och distribuera datageneratormodulen

  1. Klona projektfilerna till datorn.

  2. Öppna filen IronOre_Silica_Predict.sln med Visual Studio 2019

  3. Uppdatera information om containerregistret i deployment.template.json

    "registryCredentials": {
         "RegistryName": {
             "username": "",
             "password": "",
             "address": ""
         }
    }
    
  4. Uppdatera modules.json-filen för att ange målcontainerregistret (eller lagringsplatsen för modulen)

    "image": {
         "repository":"samplerepo.azurecr.io/ironoresilicapercent",
         "tag":
    }
    
  5. Kör projektet i antingen felsöknings- eller versionsläge för att säkerställa att projektet körs utan problem

  6. Skicka projektet till containerregistret genom att högerklicka på projektnamnet och sedan välja Skapa och push-överföra IoT Edge-moduler.

  7. Distribuera datageneratormodulen som en IoT Edge-modul till din Edge-enhet.

Distribuera Azure SQL Edge-modulen

  1. Distribuera Azure SQL Edge-modulen genom att välja + Lägg till och sedan IoT Edge-modul.

  2. Ange konfigurationsalternativen på sidan Lägg till IoT Edge-moduler för att distribuera Azure SQL Edge-modulen. Mer information om konfigurationsalternativen finns i Distribuera Azure SQL Edge.

  3. MSSQL_PACKAGE Lägg till miljövariabeln i azure SQL Edge-moduldistributionen och ange SAS-URL:en för databasen dacpac-filen som skapades i steg 8 i del ett av den här självstudien.

  4. Välj uppdatering

  5. På sidan Ange moduler på enheten väljer du Nästa: Vägar >.

  6. I fönstret Vägar på sidan Ange moduler på enheten anger du vägarna för modul till IoT Edge-hubbkommunikation enligt beskrivningen nedan. Se till att uppdatera modulnamnen i följande routningsdefinitioner.

    FROM /messages/modules/<your_data_generator_module>/outputs/IronOreMeasures
    INTO BrokeredEndpoint("/modules/<your_azure_sql_edge_module>/inputs/IronOreMeasures")
    

    Till exempel:

    FROM /messages/modules/ASEDataGenerator/outputs/IronOreMeasures
    INTO BrokeredEndpoint("/modules/AzureSQLEdge/inputs/IronOreMeasures")
    
  7. På sidan Ange moduler på enheten väljer du Nästa: Granska + skapa >

  8. På sidan Ange moduler på enheten väljer du Skapa

Skapa och starta T-SQL Streaming-jobbet i Azure SQL Edge.

  1. Öppna Azure Data Studio.

  2. På fliken Välkommen startar du en ny anslutning med följande information:

    Fält Värde
    Connection type Microsoft SQL Server
    Server Offentlig IP-adress som nämns i den virtuella datorn som skapades för den här demonstrationen
    Username sa
    Lösenord Det starka lösenord som användes när Azure SQL Edge-instansen skapades
    Databas Standardvärde
    Servergrupp Standardvärde
    Namn (valfritt) Ange ett valfritt namn
  3. Välj Anslut.

  4. Öppna en ny anteckningsbok på fliken Arkiv-menyn eller använd kortkommandot Ctrl + N.

  5. I det nya frågefönstret kör du skriptet nedan för att skapa T-SQL Streaming-jobbet. Innan du kör skriptet måste du ändra följande variabler:

    • @SQL_SA_Password: Det MSSQL_SA_PASSWORD värde som angavs när Azure SQL Edge-modulen distribueras.
    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. Använd följande fråga för att kontrollera att data från datagenereringsmodulen strömmas till databasen.

    SELECT TOP 10 *
    FROM dbo.IronOreMeasurements
    ORDER BY timestamp DESC;
    

I den här självstudien distribuerade vi datageneratormodulen och SQL Edge-modulen. Sedan skapade vi ett strömmande jobb för att strömma data som genererades av datagenereringsmodulen till SQL.