Sdílet prostřednictvím


Nastavení modulů a připojení IoT Edge

Důležité

Azure SQL Edge už nepodporuje platformu ARM64.

Ve druhé části tohoto třídílného kurzu pro predikci nečistot železa nebo nečistot v Azure SQL Edge nastavíte následující moduly IoT Edge:

  • Azure SQL Edge
  • Modul IoT Edge generátoru dat

Zadání přihlašovacích údajů registru kontejneru

Je potřeba zadat přihlašovací údaje pro registry kontejnerů hostující image modulů. Tyto přihlašovací údaje najdete v registru kontejneru, který byl vytvořen ve vaší skupině prostředků. Přejděte do části Přístupové klíče . Poznamenejte si následující pole:

  • Název registru
  • Přihlašovací server
  • Username
  • Heslo

Teď zadejte přihlašovací údaje kontejneru v modulu IoT Edge.

  1. Přejděte do centra IoT, které bylo vytvořeno ve vaší skupině prostředků.

  2. V části IoT Edge v části Automatické Správa zařízení vyberte ID zařízení. Pro účely tohoto kurzu je IronOrePredictionDeviceID .

  3. Vyberte oddíl Nastavit moduly.

  4. V části Přihlašovací údaje služby Container Registry zadejte následující hodnoty:

    Pole Hodnota
    Name Název registru
    Adresa Přihlašovací server
    Uživatelské jméno Username
    Heslo Heslo

Sestavení, nasdílení změn a nasazení modulu Generátor dat

  1. Naklonujte soubory projektu do počítače.

  2. Otevření souboru IronOre_Silica_Predict.sln pomocí sady Visual Studio 2019

  3. Aktualizace podrobností registru kontejneru v deployment.template.json

    "registryCredentials": {
         "RegistryName": {
             "username": "",
             "password": "",
             "address": ""
         }
    }
    
  4. Aktualizujte soubor modules.json tak, aby určil cílový registr kontejneru (nebo úložiště pro modul).

    "image": {
         "repository":"samplerepo.azurecr.io/ironoresilicapercent",
         "tag":
    }
    
  5. Spusťte projekt v režimu ladění nebo vydání, abyste zajistili, že se projekt spustí bez jakýchkoli problémů.

  6. Nasdílejte projekt do registru kontejneru tak, že kliknete pravým tlačítkem na název projektu a vyberete Moduly Build and Push IoT Edge.

  7. Nasaďte modul Generátor dat jako modul IoT Edge do zařízení Edge.

Nasazení modulu Azure SQL Edge

  1. Modul Azure SQL Edge nasadíte tak, že vyberete + Přidat a pak modul IoT Edge.

  2. Nastavte možnosti konfigurace na stránce Přidat moduly IoT Edge a nasaďte modul Azure SQL Edge. Další informace o možnostech konfigurace najdete v tématu Nasazení Azure SQL Edge.

  3. Přidejte proměnnou MSSQL_PACKAGE prostředí do nasazení modulu Azure SQL Edge a zadejte adresu URL SAS souboru dacpac databáze vytvořeného v kroku 8 tohoto kurzu.

  4. Výběr možnosti Aktualizovat

  5. Na stránce Nastavit moduly na zařízení vyberte Další: Trasy >.

  6. V podokně Trasy na stránce Nastavit moduly na stránce zařízení zadejte trasy pro komunikaci centra IoT Edge, jak je popsáno níže. Nezapomeňte aktualizovat názvy modulů v následujících definicích tras.

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

    Příklad:

    FROM /messages/modules/ASEDataGenerator/outputs/IronOreMeasures
    INTO BrokeredEndpoint("/modules/AzureSQLEdge/inputs/IronOreMeasures")
    
  7. Na stránce Nastavit moduly na zařízení vyberte Další: Zkontrolovat a vytvořit>

  8. Na stránce Nastavit moduly na zařízení vyberte Vytvořit.

Vytvořte a spusťte úlohu streamování T-SQL v Azure SQL Edge.

  1. Otevřete Azure Data Studio.

  2. Na úvodní kartě spusťte nové připojení s následujícími podrobnostmi:

    Pole Hodnota
    Connection type Microsoft SQL Server
    Server Veřejná IP adresa uvedená ve virtuálním počítači vytvořeném pro tuto ukázku
    Username přidružení zabezpečení
    Heslo Silné heslo, které se použilo při vytváření instance Azure SQL Edge
    Databáze Výchozí
    Skupina serverů Výchozí
    Název (nepovinný) Zadejte volitelný název.
  3. Vyberte Připojit.

  4. Na kartě Nabídka Soubor otevřete nový poznámkový blok nebo použijte klávesovou zkratku Ctrl+N.

  5. V novém okně dotazu spusťte následující skript a vytvořte úlohu streamování T-SQL. Před spuštěním skriptu nezapomeňte změnit následující proměnné:

    • @SQL_SA_Password: Hodnota MSSQL_SA_PASSWORD zadaná při nasazování modulu 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. Pomocí následujícího dotazu ověřte, že se data z modulu generování dat streamují do databáze.

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

V tomto kurzu jsme nasadili modul generátoru dat a modul SQL Edge. Pak jsme vytvořili úlohu streamování, která streamuje data vygenerovaná modulem generování dat do SQL.

Další kroky