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.
Kaynak grubunuzda oluşturulan IoT hub'ına gidin.
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
.Modülleri Ayarla bölümünü seçin.
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
Proje dosyalarını makinenize kopyalayın.
Visual Studio 2019 kullanarak IronOre_Silica_Predict.sln dosyasını açma
deployment.template.json dosyasındaki kapsayıcı kayıt defteri ayrıntılarını güncelleştirme
"registryCredentials": { "RegistryName": { "username": "", "password": "", "address": "" } }
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": }
Projenin sorunsuz çalıştığından emin olmak için projeyi hata ayıklama veya yayın modunda yürütme
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.
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
+ Ekle'yi ve ardından Market Modülü'ne tıklayarak Azure SQL Edge modülünü dağıtın.
IoT Edge Modülü Market bölmesinde Azure SQL Edge'i arayın ve Azure SQL Edge Geliştiricisi'ni seçin.
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.
ortam değişkenini
MSSQL_PACKAGE
Azure 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.Güncelleştir'i seçin
Cihazdaki modülleri ayarla sayfasında İleri: Yollar'ı >seçin.
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")
Cihazdaki modülleri ayarla sayfasında İleri: Gözden geçir + oluştur'u > seçin
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.
Azure Data Studio'yu açın.
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 Bağlan’ı seçin.
Dosya menüsü sekmesinde yeni bir not defteri açın veya Ctrl + N klavye kısayolunu kullanın.
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_Password
MSSQL_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';
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.