IoT Edge modüllerini ve bağlantılarını ayarlama

Önemli

Azure SQL Edge artık ARM64 platformunu desteklememektedir.

Azure SQL Edge'de demir cevzı safsızlıklarını tahmin etmek için bu üç bölümden oluşan öğreticinin iki. bölümünde aşağıdaki IoT Edge modüllerini ayarlayacaksınız:

  • Azure SQL Edge
  • Veri oluşturucu IoT Edge modülü

Kapsayıcı kayıt defteri kimlik bilgilerini belirtme

Modül görüntülerini barındıran kapsayıcı kayıt defterlerinin kimlik bilgilerinin belirtilmesi gerekir. Bu kimlik bilgileri, kaynak grubunuzda oluşturulan kapsayıcı kayıt defterinde bulunabilir. Erişim Anahtarları bölümüne gidin. Aşağıdaki alanları not edin:

  • Kayıt defteri adı
  • Oturum açma sunucusu
  • Kullanıcı adı
  • Parola

Şimdi IoT Edge modülünde kapsayıcı kimlik bilgilerini belirtin.

  1. Kaynak grubunuzda oluşturulan IoT hub'ına gidin.

  2. Otomatik Cihaz Yönetimi altındaki IoT Edge bölümünde Cihaz Kimliği'ni seçin. Bu öğretici için kimlik değeridir IronOrePredictionDevice.

  3. Modülleri Ayarla bölümünü seçin.

  4. Container Registry Kimlik Bilgileri'nin altında aşağıdaki değerleri girin:

    Alan Değer
    Ad Kayıt defteri adı
    Adres Oturum açma sunucusu
    User Name Kullanıcı adı
    Parola Parola

Veri Oluşturucu Modülünü oluşturma, gönderme ve dağıtma

  1. Proje dosyalarını makinenize kopyalayın.

  2. Visual Studio 2019 kullanarak IronOre_Silica_Predict.sln dosyasını açma

  3. deployment.template.json dosyasındaki kapsayıcı kayıt defteri ayrıntılarını güncelleştirme

    "registryCredentials": {
         "RegistryName": {
             "username": "",
             "password": "",
             "address": ""
         }
    }
    
  4. Hedef kapsayıcı kayıt defterini (veya modülün deposunu) belirtmek için modules.json dosyasını güncelleştirin

    "image": {
         "repository":"samplerepo.azurecr.io/ironoresilicapercent",
         "tag":
    }
    
  5. Projenin sorunsuz çalıştığından emin olmak için projeyi hata ayıklama veya yayın modunda yürütme

  6. Proje adına sağ tıklayıp Oluştur ve IoT Edge Modülleri Gönder'i seçerek projeyi kapsayıcı kayıt defterinize gönderin.

  7. Veri Oluşturucu modülünü Edge cihazınıza IoT Edge modülü olarak dağıtın.

Azure SQL Edge modülünü dağıtma

  1. + Ekle'yi ve ardından Market Modülü'ne tıklayarak Azure SQL Edge modülünü dağıtın.

  2. IoT Edge Modülü Market bölmesinde Azure SQL Edge'i arayın ve Azure SQL Edge Geliştiricisi'ni seçin.

  3. Azure SQL Edge modülünü yapılandırmak için IoT Edge Modülleri'nin altında yeni eklenen Azure SQL Edge modülünü seçin. Yapılandırma seçenekleri hakkında daha fazla bilgi için bkz. Azure SQL Edge'i dağıtma.

  4. ortam değişkenini MSSQL_PACKAGEAzure SQL Edge modülü dağıtımına ekleyin ve bu öğreticinin birinci bölümünün 8. adımında oluşturulan veritabanı dacpac dosyasının SAS URL'sini belirtin.

  5. Güncelleştir'i seçin

  6. Cihazdaki modülleri ayarla sayfasında İleri: Yollar'ı >seçin.

  7. Cihazdaki modülleri ayarla sayfasının yollar bölmesinde, aşağıda açıklandığı gibi modülün IoT Edge hub iletişimine giden yolları belirtin. Aşağıdaki yol tanımlarında modül adlarını güncelleştirdiğinden emin olun.

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

    Örnek:

    FROM /messages/modules/ASEDataGenerator/outputs/IronOreMeasures
    INTO BrokeredEndpoint("/modules/AzureSQLEdge/inputs/IronOreMeasures")
    
  8. Cihazdaki modülleri ayarla sayfasında İleri: Gözden geçir + oluştur'u > seçin

  9. Cihazdaki modülleri ayarla sayfasında Oluştur'u seçin

Azure SQL Edge'de T-SQL Akış İşi'ni oluşturun ve başlatın.

  1. Azure Data Studio'yu açın.

  2. Hoş Geldiniz sekmesinde, aşağıdaki ayrıntılarla yeni bir bağlantı başlatın:

    Alan Değer
    Bağlantı türü Microsoft SQL Server
    Sunucu Bu tanıtım için oluşturulan VM'de bahsedilen genel IP adresi
    Kullanıcı adı sa
    Parola Azure SQL Edge örneği oluşturulurken kullanılan güçlü parola
    Veritabanı Varsayılan
    Sunucu grubu Varsayılan
    Ad (isteğe bağlı) İsteğe bağlı bir ad belirtin
  3. Bağlan’ı seçin.

  4. Dosya menüsü sekmesinde yeni bir not defteri açın veya Ctrl + N klavye kısayolunu kullanın.

  5. Yeni Sorgu penceresinde aşağıdaki betiği yürüterek T-SQL Akış işini oluşturun. Betiği yürütmeden önce aşağıdaki değişkenleri değiştirdiğinizden emin olun:

    • @SQL_SA_PasswordMSSQL_SA_PASSWORD: Azure SQL Edge Modülü dağıtılırken belirtilen değer.
    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. Veri oluşturma modülündeki verilerin veritabanına akışının yapılıyor olduğunu doğrulamak için aşağıdaki sorguyu kullanın.

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

Bu öğreticide veri oluşturucu modülünü ve SQL Edge modülünü dağıttık. Ardından, veri oluşturma modülü tarafından oluşturulan verilerin SQL'e akışını yapmak için bir akış işi oluşturduk.

Sonraki adımlar