IoT Edge-modules en -verbindingen instellen
Belangrijk
Azure SQL Edge wordt op 30 september 2025 buiten gebruik gesteld. Zie de kennisgeving buitengebruikstelling voor meer informatie en migratieopties.
Notitie
Azure SQL Edge biedt geen ondersteuning meer voor het ARM64-platform.
In deel twee van deze driedelige zelfstudie over het voorspellen van verontreinigingen in ijzererts in Azure SQL Edge gaat u de volgende IoT Edge-modules en -verbindingen instellen:
- Azure SQL Edge
- Gegevensgenerator IoT Edge-module
Referenties voor het containerregister opgeven
De referenties van de containerregisters waar de module-installatiekopieën worden gehost, moeten worden opgegeven. Deze referenties vindt u in het containerregister dat is gemaakt in uw resourcegroep. Navigeer naar de sectie Toegangssleutels. Noteer de volgende velden:
- Registernaam
- Aanmeldingsserver
- Username
- Wachtwoord
Geef nu de containerreferenties op in de IoT Edge-module.
Navigeer naar de IoT-hub die in uw resourcegroep is gemaakt.
Selecteer apparaat-id in de sectie IoT Edge onder Automatisch Apparaatbeheer. De id voor deze zelfstudie is
IronOrePredictionDevice
.Selecteer de sectie Modules instellen.
Voer onder Containerregisterreferenties de volgende waarden in:
Veld Weergegeven als Naam Registernaam Adres Aanmeldingsserver Gebruikersnaam Username Wachtwoord Wachtwoord
Bouw, push en implementeer de Gegevensgeneratormodule
Kloon de projectbestanden naar uw computer.
Open het bestand IronOre_Silica_Predict.sln met behulp van Visual Studio 2019
Werk de details van het containerregister bij in deployment.template.json
"registryCredentials": { "RegistryName": { "username": "", "password": "", "address": "" } }
Werk het bestand modules.json bij om het doelcontainerregister (of de opslagplaats voor de module) op te geven
"image": { "repository":"samplerepo.azurecr.io/ironoresilicapercent", "tag": }
Voer het project uit in foutopsporings- of releasemodus om zeker te zijn dat het project zonder problemen wordt uitgevoerd.
Push het project naar uw containerregister door met de rechtermuisknop op de naam van het project te klikken en vervolgens IoT Edge-modules bouwen en pushen te selecteren.
Implementeer de gegevensgeneratormodule als een IoT Edge-module op uw Edge-apparaat.
De Azure SQL Edge-module implementeren
Implementeer de Azure SQL Edge-module door op + Toevoegen en vervolgens IoT Edge-module te selecteren.
Stel de configuratieopties in op de pagina IoT Edge-modules toevoegen om de Azure SQL Edge-module te implementeren. Zie Azure SQL Edge implementeren voor meer informatie over de configuratieopties.
Voeg de
MSSQL_PACKAGE
omgevingsvariabele toe aan de implementatie van de Azure SQL Edge-module en geef de SAS-URL op van het dacpac-databasebestand dat is gemaakt in stap 8 van Deel één van deze zelfstudie.Update selecteren
Selecteer Volgende op de pagina Modules instellen op het apparaat de optie Volgende: Routes >.
Geef in het deelvenster routes op de pagina Modules instellen op apparaat als volgt de routes op voor communicatie van de module met de IoT Edge-hub. Zorg ervoor dat u de modulenamen in de volgende routedefinities bijwerkt.
FROM /messages/modules/<your_data_generator_module>/outputs/IronOreMeasures INTO BrokeredEndpoint("/modules/<your_azure_sql_edge_module>/inputs/IronOreMeasures")
Voorbeeld:
FROM /messages/modules/ASEDataGenerator/outputs/IronOreMeasures INTO BrokeredEndpoint("/modules/AzureSQLEdge/inputs/IronOreMeasures")
Selecteer Volgende op de pagina Modules instellen op het apparaat: Controleren en maken>
Selecteer Maken op de pagina Modules instellen op het apparaat
Maak en start de taak voor het streamen van T-SQL in Azure SQL Edge.
Open Azure Data Studio.
Start op het tabblad Welkom een nieuwe verbinding met de volgende gegevens:
Veld Waarde Connection type Microsoft SQL Server Server Openbaar IP-adres dat wordt vermeld in de VM die is gemaakt voor deze demo Username sa Wachtwoord Het sterke wachtwoord dat is gebruikt bij het maken van de Azure SQL Edge-instance Database Standaardinstelling Servergroep Standaardinstelling Naam (optioneel) Geef desgewenst een naam op Selecteer Verbinding maken.
Open op het tabblad Bestand een nieuw notitieblok of gebruik de sneltoets Ctrl +N.
Voer in het nieuwe queryvenster het onderstaande script uit om de taak voor T-SQL-streaming te maken. Voordat u het script uitvoert, moet u de volgende variabelen wijzigen:
@SQL_SA_Password
: deMSSQL_SA_PASSWORD
waarde die is opgegeven tijdens het implementeren van de Azure SQL Edge-module.
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';
Gebruik de volgende query om te verifiëren of de gegevens uit de module voor het genereren van gegevens naar de database worden gestreamd.
SELECT TOP 10 * FROM dbo.IronOreMeasurements ORDER BY timestamp DESC;
In deze zelfstudie hebben we de module voor het genereren van gegevens en de SQL Edge-module geïmplementeerd. Vervolgens hebben we een streamingtaak gemaakt om de gegevens die door de module voor het genereren van gegevens zijn gegenereerd naar SQL te streamen.