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.
Gå till den IoT-hubb som skapades i resursgruppen.
I avsnittet IoT Edge under Automatisk Enhetshantering väljer du Enhets-ID. I den här självstudien är
IronOrePredictionDevice
ID:t .Välj avsnittet Ange moduler .
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
Klona projektfilerna till datorn.
Öppna filen IronOre_Silica_Predict.sln med Visual Studio 2019
Uppdatera information om containerregistret i deployment.template.json
"registryCredentials": { "RegistryName": { "username": "", "password": "", "address": "" } }
Uppdatera modules.json-filen för att ange målcontainerregistret (eller lagringsplatsen för modulen)
"image": { "repository":"samplerepo.azurecr.io/ironoresilicapercent", "tag": }
Kör projektet i antingen felsöknings- eller versionsläge för att säkerställa att projektet körs utan problem
Skicka projektet till containerregistret genom att högerklicka på projektnamnet och sedan välja Skapa och push-överföra IoT Edge-moduler.
Distribuera datageneratormodulen som en IoT Edge-modul till din Edge-enhet.
Distribuera Azure SQL Edge-modulen
Distribuera Azure SQL Edge-modulen genom att välja + Lägg till och sedan IoT Edge-modul.
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.
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.Välj uppdatering
På sidan Ange moduler på enheten väljer du Nästa: Vägar >.
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")
På sidan Ange moduler på enheten väljer du Nästa: Granska + skapa >
På sidan Ange moduler på enheten väljer du Skapa
Skapa och starta T-SQL Streaming-jobbet i Azure SQL Edge.
Öppna Azure Data Studio.
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 Välj Anslut.
Öppna en ny anteckningsbok på fliken Arkiv-menyn eller använd kortkommandot Ctrl + N.
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
: DetMSSQL_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';
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.