Einrichten von IoT Edge-Modulen und -Verbindungen
Wichtig
Azure SQL Edge wird am 30. September 2025 eingestellt. Weitere Informationen und Migrationsoptionen finden Sie im Einstellungshinweis.
Hinweis
Azure SQL Edge unterstützt die ARM64-Plattform nicht mehr.
Im zweiten Teil dieses dreiteiligen Tutorials zum Vorhersagen von Eisenerzverunreinigungen in Azure SQL Edge richten Sie die folgenden IoT Edge Module ein:
- Azure SQL Edge
- Datengenerator „IoT Edge-Modul“
Angeben von Anmeldeinformationen für die Containerregistrierung
Die Anmeldeinformationen für die Containerregistrierungen zum Hosten von Modulimages müssen angegeben werden. Sie finden diese Anmeldeinformationen in der Containerregistrierung, die in Ihrer Ressourcengruppe erstellt wurde. Navigieren Sie zum Abschnitt Zugriffsschlüssel. Notieren Sie sich die folgenden Felder:
- Registrierungsname
- Anmeldeserver
- Username
- Kennwort
Geben Sie jetzt die Containeranmeldeinformationen im IoT Edge-Modul an.
Navigieren Sie zu dem IoT-Hub, der in Ihrer Ressourcengruppe erstellt wurde.
Wählen Sie im Abschnitt IoT Edge unter Automatische Geräteverwaltung die Option Geräte-ID aus. Für dieses Tutorial lautet die ID
IronOrePredictionDevice
.Wählen Sie den Abschnitt Module festlegen aus.
Geben Sie unter Anmeldeinformationen für Containerregistrierung die folgenden Werte ein:
Feld Wert Name Registrierungsname Adresse Anmeldeserver Benutzername Username Kennwort Kennwort
Erstellen, Pushen und Bereitstellen des Datengeneratormoduls
Klonen Sie die Projektdateien auf Ihrem Computer.
Öffnen Sie die Datei IronOre_Silica_Predict.sln mithilfe von Visual Studio 2019.
Aktualisieren Sie die Details der Containerregistrierung in der Datei deployment.template.json.
"registryCredentials": { "RegistryName": { "username": "", "password": "", "address": "" } }
Aktualisieren Sie die Datei modules.json, um die Zielcontainerregistrierung (oder das Repository für das Modul) anzugeben.
"image": { "repository":"samplerepo.azurecr.io/ironoresilicapercent", "tag": }
Führen Sie das Projekt im Debug- oder Releasemodus aus, um sicherzustellen, dass es ohne Probleme ausgeführt wird
Pushen Sie das Projekt an Ihre Containerregistrierung, indem Sie mit der rechten Maustaste auf den Projektnamen klicken und dann Build and Push IoT Edge Modules (IoT Edge-Module erstellen und pushen) auswählen.
Stellen Sie das Datengeneratormodul als IoT Edge-Modul auf Ihrem Edge-Gerät bereit.
Bereitstellen des Azure SQL Edge-Moduls
Stellen Sie das Azure SQL Edge-Modul bereit, indem Sie + Hinzufügen und anschließend IoT Edge-Modul auswählen.
Legen Sie die Konfigurationsoptionen auf der Seite IoT Edge-Module hinzufügen fest, um das Azure SQL Edge-Modul bereitzustellen. Weitere Informationen zu den Konfigurationsoptionen finden Sie unter Bereitstellen von Azure SQL Edge (Vorschau).
Fügen Sie der Bereitstellung des Moduls Azure SQL Edge die Umgebungsvariable
MSSQL_PACKAGE
hinzu, und geben Sie die SAS-URL der DACPAC-Datenbankdatei an, die Sie im ersten Teil dieses Tutorials in Schritt 8 erstellt haben.Wählen Sie Aktualisieren aus.
Wählen Sie auf der Seite Module für Gerät festlegenWeiter: Routen > aus.
Geben Sie im Routenbereich der Seite Module für Gerät festlegen die Routen für die Kommunikation zwischen Modul und IoT Edge-Hub wie im Anschluss beschrieben an. Aktualisieren Sie dabei die Modulnamen in den folgenden Routendefinitionen.
FROM /messages/modules/<your_data_generator_module>/outputs/IronOreMeasures INTO BrokeredEndpoint("/modules/<your_azure_sql_edge_module>/inputs/IronOreMeasures")
Zum Beispiel:
FROM /messages/modules/ASEDataGenerator/outputs/IronOreMeasures INTO BrokeredEndpoint("/modules/AzureSQLEdge/inputs/IronOreMeasures")
Wählen Sie auf der Seite Module für Gerät festlegen die Option Weiter: Überprüfen + Erstellen > aus.
Wählen Sie auf der Seite Module für Gerät festlegen die Option Erstellen aus.
Erstellen Sie einen T-SQL-Streamingauftrag in Azure SQL Edge, und starten Sie ihn.
Öffnen Sie Azure Data Studio.
Starten Sie auf der Registerkarte Willkommen eine neue Verbindung mit den folgenden Details:
Feld Wert Verbindungstyp Microsoft SQL Server Server Öffentliche IP-Adresse in der VM, die für diese Demo erstellt wurde Username sa Kennwort Das starke Kennwort, das bei der Erstellung der Azure SQL Edge-Instanz verwendet wurde Datenbank Standard Servergruppe Standard Name (optional) Geben Sie einen optionalen Namen an. Wählen Sie Verbinden.
Öffnen Sie über die Menüregisterkarte Datei ein neues Notebook, oder drücken Sie STRG+N.
Führen Sie im Abfragefenster das unten bereitgestellte Skript aus, um den T-SQL-Streamingauftrag zu erstellen. Ändern Sie vor dem Ausführen des Skripts die folgenden Variablen:
@SQL_SA_Password
: Dies ist der WertMSSQL_SA_PASSWORD
, der beim Bereitstellen des Azure SQL Edge-Moduls angegeben wurde.
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';
Vergewissern Sie sich mithilfe der folgenden Abfrage, dass die Daten aus dem Datengenerierungsmodul an die Datenbank gestreamt werden:
SELECT TOP 10 * FROM dbo.IronOreMeasurements ORDER BY timestamp DESC;
In diesem Tutorial wurden das Datengenerierungsmodul und das SQL Edge-Modul bereitgestellt. Anschließend wurde ein Streamingauftrag erstellt, um die vom Datengenerierungsmodul generierten Daten an SQL zu streamen.