Azure Stream Analytics işi için SQL Veritabanı başvuru verilerini kullanma
Azure Stream Analytics, başvuru verileri için giriş kaynağı olarak Azure SQL Veritabanı destekler. SQL Veritabanı'yi Azure portalında ve Stream Analytics araçlarıyla Visual Studio'da Stream Analytics işiniz için başvuru verileri olarak kullanabilirsiniz. Bu makalede her iki yöntemin de nasıl gerçekleştir olduğu gösterilmektedir.
Azure portal
Azure portalını kullanarak Azure SQL Veritabanı başvuru giriş kaynağı olarak eklemek için aşağıdaki adımları kullanın:
Portal önkoşulları
Stream Analytics işi oluşturma.
Stream Analytics işi tarafından kullanılacak bir depolama hesabı oluşturun.
Önemli
Azure Stream Analytics, anlık görüntüleri bu depolama hesabında tutar. Bekletme ilkesini yapılandırırken, seçilen zaman aralığının Stream Analytics işiniz için istenen kurtarma süresini etkili bir şekilde kapsadığından emin olmak zorunludur.
Stream Analytics işi tarafından başvuru verileri olarak kullanılacak bir veri kümesiyle Azure SQL Veritabanı oluşturun.
SQL Veritabanı başvuru veri girişini tanımlama
Stream Analytics işinizde İş topolojisi'nin altındaki Girişler'i seçin. Başvuru girişi ekle'ye tıklayın ve SQL Veritabanı seçin.
Stream Analytics Giriş Yapılandırmalarını doldurun. Veritabanı adını, sunucu adını, kullanıcı adını ve parolayı seçin. Başvuru verileri girişinizin düzenli aralıklarla yenilenmesini istiyorsanız DD:HH:MM'de yenileme hızını belirtmek için "Açık" seçeneğini belirleyin. Kısa yenileme hızına sahip büyük veri kümeleriniz varsa. Delta sorgusu, SQL Veritabanı içinde bir başlangıç saati ve bitiş saati @deltaStartTime@deltaEndTimeiçinde eklenen veya silinen tüm satırları alarak başvuru verilerinizdeki değişiklikleri izlemenizi sağlar.
Lütfen delta sorgusuna bakın.
- SQL sorgu düzenleyicisinde anlık görüntü sorgusunu test edin. Daha fazla bilgi için bkz . Azure portalının SQL sorgu düzenleyicisini kullanarak verileri bağlama ve sorgulama
İş yapılandırmasında depolama hesabı belirtme
Yapılandır'ın altında Depolama hesabı ayarları'na gidin ve Depolama hesabı ekle'yi seçin.
İşi başlatma
Diğer girişleri, çıkışları ve sorguyu yapılandırdıktan sonra Stream Analytics işini başlatabilirsiniz.
Visual Studio Araçları
Visual Studio kullanarak başvuru giriş kaynağı olarak Azure SQL Veritabanı eklemek için aşağıdaki adımları kullanın:
Visual Studio önkoşulları
Visual Studio için Stream Analytics araçlarını yükleyin. Visual Studio'nun aşağıdaki sürümleri desteklenir:
- Visual Studio 2015
- Visual Studio 2019
Visual Studio için Stream Analytics araçları hızlı başlangıcı hakkında bilgi sahibi olun.
Depolama hesabı oluşturma.
Önemli
Azure Stream Analytics, anlık görüntüleri bu depolama hesabında tutar. Bekletme ilkesini yapılandırırken, seçilen zaman aralığının Stream Analytics işiniz için istenen kurtarma süresini etkili bir şekilde kapsadığından emin olmak zorunludur.
SQL Veritabanı tablosu oluşturma
Başvuru verilerinizi depolamak üzere bir tablo oluşturmak için SQL Server Management Studio'yu kullanın. Ayrıntılar için bkz. SSMS kullanarak ilk Azure SQL Veritabanı tasarlama.
Aşağıdaki örnekte kullanılan örnek tablo aşağıdaki deyimden oluşturulmuştur:
create table chemicals(Id Bigint,Name Nvarchar(max),FullName Nvarchar(max));
Aboneliğinizi seçin
Visual Studio'nun Görünüm menüsünde Sunucu Gezgini'ni seçin.
Azure'a sağ tıklayın, Microsoft Azure Aboneliğine Bağlan'ı seçin ve Azure hesabınızla oturum açın.
Stream Analytics projesi oluşturma
Dosya > Yeni Proje'yi seçin.
Sol taraftaki şablon listesinden Stream Analytics'i ve ardından Azure Stream Analytics Uygulaması'nı seçin.
Proje Adı, Konum ve Çözüm adını girin ve Tamam'ı seçin.
SQL Veritabanı başvuru veri girişini tanımlama
Yeni bir giriş oluşturun.
Çözüm Gezgini Input.jsonçift tıklayın.
Stream Analytics Giriş Yapılandırması'nı doldurun. Veritabanı adını, sunucu adını, yenileme türünü ve yenileme hızını seçin. Yenileme hızını biçiminde
DD:HH:MM
belirtin."Yalnızca bir kez yürüt" veya "Düzenli aralıklarla yürüt" seçeneğini belirlerseniz, projede Input.json dosya düğümü altında [Input Alias].snapshot.sql adlı bir SQL CodeBehind dosyası oluşturulur.
"Delta ile Düzenli Aralıklarla Yenile" seçeneğini belirlerseniz, iki SQL CodeBehind dosyası oluşturulur: [Giriş Diğer Adı].snapshot.sql ve [Giriş Diğer Adı].delta.sql.
Düzenleyicide SQL dosyasını açın ve SQL sorgusunu yazın.
Visual Studio 2019 kullanıyorsanız ve SQL Server Veri araçlarını yüklediyseniz Yürüt'e tıklayarak sorguyu test edebilirsiniz. SQL Veritabanı bağlanmanıza yardımcı olacak bir sihirbaz penceresi açılır ve sorgu sonucu en alttaki pencerede görünür.
Depolama hesabını belirtme
SQL başvuru anlık görüntülerini depolamak için depolama hesabını belirtmek üzere JobConfig.json açın.
Yerel olarak test etme ve Azure'a dağıtma
İşi Azure'a dağıtmadan önce sorgu mantığını canlı giriş verileriyle yerel olarak test edebilirsiniz. Bu özellik hakkında daha fazla bilgi için bkz . Visual Studio için Azure Stream Analytics araçlarını (Önizleme) kullanarak canlı verileri yerel olarak test edin. Testi tamamladığınızda Azure'a gönder'e tıklayın. İşi nasıl başlatacağınızı öğrenmek için Visual Studio için Azure Stream Analytics araçlarını kullanarak Stream Analytics oluşturma hızlı başlangıcına başvurun.
Delta sorgusu
Delta sorgusu kullanılırken, Azure SQL Veritabanı zamansal tablolar önerilir.
Azure SQL Veritabanı'da zamana bağlı bir tablo oluşturun.
CREATE TABLE DeviceTemporal ( [DeviceId] int NOT NULL PRIMARY KEY CLUSTERED , [GroupDeviceId] nvarchar(100) NOT NULL , [Description] nvarchar(100) NOT NULL , [ValidFrom] datetime2 (0) GENERATED ALWAYS AS ROW START , [ValidTo] datetime2 (0) GENERATED ALWAYS AS ROW END , PERIOD FOR SYSTEM_TIME (ValidFrom, ValidTo) ) WITH (SYSTEM_VERSIONING = ON (HISTORY_TABLE = dbo.DeviceHistory)); -- DeviceHistory table will be used in Delta query
Anlık görüntü sorgusunu yazın.
Stream Analytics çalışma zamanına başvuru veri kümesini sistem zamanında geçerli SQL Veritabanı zamansal tablodan almasını bildirmek için @snapshotTime parametresini kullanın. Bu parametreyi sağlamazsanız, saat dengesizliklerinden dolayı yanlış bir temel başvuru veri kümesi alma riskiyle karşı karşıyasınız. Tam anlık görüntü sorgusu örneği aşağıda gösterilmiştir:
SELECT DeviceId, GroupDeviceId, [Description] FROM dbo.DeviceTemporal FOR SYSTEM_TIME AS OF @snapshotTime
Delta sorgusunu yazın.
Bu sorgu, SQL Veritabanı bir başlangıç saati, @deltaStartTime ve bitiş saati @deltaEndTime içinde eklenen veya silinen tüm satırları alır. Delta sorgusu, hem anlık görüntü sorgusuyla aynı sütunları hem de sütun işlemini döndürmelidir. Bu sütun, satırın @deltaStartTime ile @deltaEndTime arasında eklenip eklenmediğini veya silindiğini tanımlar. Sonuçta elde edilen satırlar, kayıtlar eklendiyse 1 veya silinirse 2 olarak işaretlenir. Delta dönemindeki tüm güncelleştirmelerin uygun şekilde yakalandığından emin olmak için sorgunun SQL Server tarafından filigran eklemesi de gerekir. Delta sorgusunu filigran olmadan kullanmak yanlış başvuru veri kümesine neden olabilir.
Güncelleştirilen kayıtlar için, zamansal tablo ekleme ve silme işlemini yakalayarak kayıt tutma işlemi yapar. Stream Analytics çalışma zamanı, başvuru verilerini güncel tutmak için delta sorgusunun sonuçlarını önceki anlık görüntüye uygular. Aşağıda delta sorgusu örneği gösterilmektedir:
SELECT DeviceId, GroupDeviceId, Description, ValidFrom as _watermark_, 1 as _operation_ FROM dbo.DeviceTemporal WHERE ValidFrom BETWEEN @deltaStartTime AND @deltaEndTime -- records inserted UNION SELECT DeviceId, GroupDeviceId, Description, ValidTo as _watermark_, 2 as _operation_ FROM dbo.DeviceHistory -- table we created in step 1 WHERE ValidTo BETWEEN @deltaStartTime AND @deltaEndTime -- record deleted
Stream Analytics çalışma zamanının, denetim noktalarını depolamak için delta sorgusuna ek olarak anlık görüntü sorgusunu düzenli aralıklarla çalıştırabileceğini unutmayın.
Önemli
Başvuru verileri değişim sorgularını kullanırken, zamansal başvuru veri tablosunda birden çok kez aynı güncelleştirmeleri yapmayın. Bu, yanlış sonuçların üretilmesine neden olabilir. Başvuru verilerinin yanlış sonuçlar üretmesine neden olabilecek bir örnek aşağıda verilmişti:
UPDATE myTable SET VALUE=2 WHERE ID = 1; UPDATE myTable SET VALUE=2 WHERE ID = 1;
Doğru örnek:
UPDATE myTable SET VALUE = 2 WHERE ID = 1 and not exists (select * from myTable where ID = 1 and value = 2);
Bu, yinelenen güncelleştirmelerin gerçekleştirilmemesini sağlar.
Sorgunuzu test etme
Sorgunuzun Stream Analytics işinin başvuru verileri olarak kullanacağı beklenen veri kümesini döndürdüğünü doğrulamak önemlidir. Sorgunuzu test etmek için portalda İş Topolojisi bölümünde Giriş'e gidin. Daha sonra SQL Veritabanı Başvuru girişinizde Örnek Veriler'i seçebilirsiniz. Örnek kullanıma sunulduktan sonra dosyayı indirebilir ve döndürülen verilerin beklendiği gibi olup olmadığını kontrol edebilirsiniz. Geliştirme ve test yinelemelerinizi iyileştirmek istiyorsanız Visual Studio için Stream Analytics araçlarını kullanmanız önerilir. Ayrıca, sorgunun Azure SQL Veritabanı doğru sonuçları döndürdüğünü ve ardından Stream Analytics işinizde bunu kullandığından emin olmak için tercih ettiğiniz diğer herhangi bir aracı da kullanabilirsiniz.
Visual Studio Code ile sorgunuzu test edin
Visual Studio Code'a Azure Stream Analytics Araçları ve SQL Server (mssql) yükleyin ve ASA projenizi ayarlayın. Daha fazla bilgi için bkz . Hızlı Başlangıç: Visual Studio Code'da Azure Stream Analytics işi oluşturma ve SQL Server (mssql) uzantısı öğreticisi.
SQL başvuru veri girişinizi yapılandırın.
SQL Server simgesini seçin ve Bağlantı Ekle'ye tıklayın.
Bağlantı bilgilerini doldurun.
Başvuru SQL'ine sağ tıklayın ve Sorguyu Yürüt'e tıklayın.
Bağlantınızı seçin.
Sorgu sonucunuzu gözden geçirin ve doğrulayın.
SSS
Azure Stream Analytics'te SQL başvuru verileri girişini kullanarak ek maliyet doğuracak miyim?
Stream Analytics işinde akış birimi başına ek maliyet yoktur. Ancak Stream Analytics işinin ilişkili bir Azure depolama hesabına sahip olması gerekir. Stream Analytics işi, başvuru veri kümesini almak için SQL DB'yi (iş başlatma ve yenileme aralığı sırasında) sorgular ve bu anlık görüntüyü depolama hesabında depolar. Bu anlık görüntülerin depolanması, Azure depolama hesabının fiyatlandırma sayfasında ayrıntılı olarak belirtilen ek ücretlere neden olur.
Başvuru verileri anlık görüntüsünün SQL DB'den sorgulandığını ve Azure Stream Analytics işinde kullanıldığını biliyor Nasıl yaparım??
Mantıksal Ada göre filtrelenmiş iki ölçüm vardır (Ölçümler Azure portalı altında), SQL Veritabanı başvuru veri girişinin durumunu izlemek için kullanabilirsiniz.
- InputEvents: Bu ölçüm, SQL Veritabanı başvuru veri kümesinden yüklenen kayıtların sayısını ölçer.
- InputEventBytes: Bu ölçüm, Stream Analytics işinin belleğine yüklenen başvuru verileri anlık görüntüsünün boyutunu ölçer.
Bu ölçümlerin her ikisinin birleşimi, işin başvuru veri kümesini getirmek ve ardından belleğe yüklemek için SQL Veritabanı sorgulayıp sorgulamayacağını çıkarsamak için kullanılabilir.
Özel bir Azure SQL Veritabanı türüne ihtiyacım olacak mı?
Azure Stream Analytics her tür Azure SQL Veritabanı ile çalışır. Ancak, başvuru verileri girişiniz için ayarlanan yenileme hızının sorgu yükünüzü etkileyebileceğini anlamak önemlidir. Delta sorgu seçeneğini kullanmak için Azure SQL Veritabanı'de zamana bağlı tabloların kullanılması önerilir.
Azure Stream Analytics neden anlık görüntüleri Azure Depolama hesabında depolar?
Stream Analytics tam bir olay işlemesi ve en az bir olay teslimini garanti eder. Geçici sorunların işinizi etkilediği durumlarda, durumu geri yüklemek için az miktarda yeniden yürütme gerekir. Yeniden yürütmeyi etkinleştirmek için bu anlık görüntülerin bir Azure Depolama hesabında depolanması gerekir. Denetim noktası yeniden yürütme hakkında daha fazla bilgi için bkz . Azure Stream Analytics işlerinde denetim noktası ve yeniden yürütme kavramları.
Sonraki adımlar
- Azure Stream Analytics çıkışlarını anlama
- Azure SQL Veritabanı için Azure Stream Analytics çıkışı
- Azure Stream Analytics’ten Azure SQL Veritabanı aktarım hızı performansını artırma
- Azure Stream Analytics işinden Azure SQL Veritabanı veya Azure Synapse Analytics'e erişmek için yönetilen kimlikleri kullanma
- Azure SQL Veritabanı'daki kayıtları Azure İşlevleri ile güncelleştirme veya birleştirme
- Hızlı Başlangıç: Azure portalını kullanarak Stream Analytics işi oluşturma