Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Referans veriler, akış verilerinizle birleştirerek onları zenginleştirdiğiniz, statik veya yavaş değişen bir veri kümesidir; buna örnek olarak, bir satış olayları akışına ürün ayrıntıları eklenmesi verilebilir. Azure Stream Analytics, referans veri kaynağı olarak Azure SQL Veritabanı'i destekliyor, böylece bu verileri gerçek zamanlı girdinizle birleştirebiliyorsunuz.
Bu makale, Azure portalı ve Visual Studio ile Stream Analytics araçlarını kullanarak bir Stream Analytics işi için referans veri girişi olarak Azure SQL Veritabanı'i nasıl yapılandıracağınızı gösteriyor.
Azure portalını kullanarak SQL Veritabanı referans verisi ekleyin
Azure portalını kullanarak referans giriş kaynağı olarak Azure SQL Veritabanı'i eklemek için aşağıdaki adımları kullanın:
Portal önkoşulları
Stream Analytics işi oluşturun.
Stream Analytics işi için bir depolama hesabı oluşturun.
Önemli
Azure Stream Analytics bu storage account içindeki snapshotları saklar. Tutma politikasını yapılandırırken, seçilen zaman aralığının Stream Analytics işiniz için istediğiniz kurtarma süresini içerdiğinden emin olun.
Stream Analytics işinin referans verisi olarak kullandığı bir veri setiyle Azure SQL Veritabanı'inizi oluşturun.
SQL Veritabanı başvuru veri girişini tanımlama
Stream Analytics işinizde, İş topolojisi altında Girişler'i seçin. Referans girdisi ekle seçeneğini seçin ve ardından SQL Veritabanı'nı seçin.
Stream Analytics giriş yapılandırmasını doldurun. Veritabanı adı, sunucu adı ve veritabanı için giriş kimlik bilgilerini seçin. Referans verisi girişinizi periyodik olarak yenilemek için On'u seçin ve DD:HH:MM içinde yenileme hızını belirtin. Kısa yenileme hızına sahip büyük veri kümeleri için, delta sorgu, SQL Veritabanı'nda başlangıç zamanı
@deltaStartTimeile bitiş zamanı arasında eklenen veya silinen tüm satırları alarak referans verinizdeki değişiklikleri izler.@deltaEndTimeDaha fazla bilgi için delta sorgusuna bakınız.
SQL sorgu düzenleyicisinde anlık görüntü sorgusunu test edin. Daha fazla bilgi için, Azure portalının SQL sorgu düzenleyicisini kullanarak veri bağlamak ve sorgulamak için bkz.
İş yapılandırmasında depolama hesabını belirtin
Yapılandırma altındaki Depolama hesabı ayarlarına gidin ve ardından Depolama hesabı ekle'yi seçin.
İşi başlatma
- Diğer girdileri, çıktıları ve sorguyu yapılandırdıktan sonra Stream Analytics işini başlatın.
SQL Veritabanı referans verisini Visual Studio kullanarak ekleyin
Visual Studio kullanarak Azure SQL Veritabanı'i referans giriş kaynağı olarak 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. Stream Analytics araçları, Visual Studio'nun aşağıdaki sürümlerini destekler:
- 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 bu storage account içindeki snapshotları saklar. Tutma politikasını yapılandırırken, seçilen zaman aralığının Stream Analytics işiniz için istediğiniz kurtarma süresini içerdiğinden emin olun.
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 ifade örnek tabloyu oluşturur:
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'u seçin ve basılı tutun (veya sağ tıklayın), Microsoft Azure Aboneliği'ne Bağla seçin ve Azure hesabınızla giriş yapın.
Stream Analytics projesi oluşturma
Dosya>Yeni Proje seçin.
Şablonlar listesinde Stream Analytics seçin, ardından Azure Stream Analytics Application'ı seçin.
Proje Adı, Konum ve Çözüm adını girin ve ardından OK seçin.
SQL Veritabanı başvuru veri girişini tanımlama
Yeni bir giriş oluşturun.
Çözüm Gezgini içindeInput.json aç.
Stream Analytics Giriş Yapılandırması'nı doldurun. Veritabanı adı, sunucu adı, yenileme türü ve yenileme hızını girin. Yenileme hızını biçiminde
DD:HH:MMbelirtin.
Sadece bir kez Execute veya periyodik olarak Execute seçerseniz, Visual Studio projede Input.json dosya düğümünün altında [Input Alias].snapshot.sql adlı bir SQL CodeBehind dosyası oluşturur.
Delta ile Periyodik Yenilemeyi seçerseniz, Visual Studio iki SQL CodeBehind dosyası oluşturur: [Input Alias].snapshot.sql ve [Input Alias].delta.sql.
Düzenleyicide SQL dosyasını açın ve SQL sorgusunu yazın.
Eğer Visual Studio 2019 kullanıyorsanız ve SQL Server Veri Araçları'u yüklediyseniz, Execute'u seçerek sorguyu test edebilirsiniz. SQL Veritabanı'na bağlanmanıza yardımcı olacak bir sihirbaz açılıyor ve sorgu sonucu aşağıdaki pencerede görünüyor.
Depolama hesabını belirtme
SQL başvuru anlık görüntülerinin depolanacağı depolama hesabını belirtmek için JobConfig.json dosyasını 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, Visual Studio için Azure Stream Analytics tools (Preview) kullanarak Live Data Local Test bölümüne bakınız. Test yaptıktan sonra Submit to Azure seçeneğini seçin. İşin nasıl başlatılacağını öğrenmek için Visual Studio için Azure Stream Analytics araçlarını kullanarak bir Stream Analytics işi oluşturma hızlı başlangıcına bakın.
Delta sorgusu
Delta sorgusunu kullandığınızda, Azure SQL Veritabanı'de zamansal tablolar kullanın.
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 queryAnlık görüntü sorgusunu yazın.
@snapshotTime parametresini kullanarak Stream Analytics çalışma zamanına SQL Veritabanı zamansal tablosundan referans veri setini sistem zamanında geçerli hale getirmesini talimat verebilirsiniz. Bu parametri sağlamazsanız, saat sapmaları nedeniyle yanlış bir temel referans veri seti elde etme riski taşır. Aşağıdaki örnek tam bir anlık sorguyu gösterir:
SELECT DeviceId, GroupDeviceId, [Description] FROM dbo.DeviceTemporal FOR SYSTEM_TIME AS OF @snapshotTimeDelta sorgusunu yazın.
Bu sorgu, SQL Veritabanı'nda bir başlangıç zamanı, @deltaStartTime ve bitiş zamanı @deltaEndTime içinde eklenen veya silinmiş 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 silinmediğini tanımlar. Ortaya çıkan satırlar, kayıtlar eklendiyse 1, silindiyse 2 olarak işaretlenir. Delta dönemindeki tüm güncelleştirmelerin uygun şekilde yakalanmasını sağlamak için, sorguya SQL Server tarafında watermark da eklenmelidir. Delta sorgusunun watermark olmadan kullanılması yanlış bir referans veri setine yol açabilir.
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ı, delta sorgusunun sonuçlarını önceki anlık görüntüye uygular ve referans veriyi güncel tutar. Aşağıdaki örnek bir delta sorgusunu gösterir:
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 deletedStream Analytics çalışma zamanı, kontrol noktalarını depolamak için delta sorgusuna ek olarak anlık sorguyu periyodik olarak çalıştırabilir.
Önemli
Referans veri delta sorguları kullandığınızda, zamansal referans veri tablosunda aynı güncellemeleri birden fazla kez yapmayın. Bu yanlış sonuçlar verebilir. İşte referans verilerin yanlış sonuçlar vermesine neden olabilecek bir örnek:
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 koşul, tekrarlanan güncellemelerin gerçekleşmemesini sağlar.
Sorgunuzu test etme
Sorunuzun Stream Analytics işinin referans veri olarak kullandığı beklenen veri setini döndürdüğünü doğrulayın. Sorunuzu test etmek için portaldaki İş topolojisi bölümündeki Girişler bölümüne gidin. Sonra SQL Veritabanı referans girişinizde Örnek veriyi seçin. Örnek erişilebilir hale geldikten sonra dosyayı indirebilir ve geri dönen verinin beklendiği gibi olup olmadığını kontrol edebilirsiniz. Geliştirme ve test yinelemelerinizi optimize etmek için Visual Studio için Stream Analytics araçlarını kullanın. Ayrıca, sorgunun Azure SQL Veritabanı'inizden doğru sonuçları verdiğinden emin olmak için tercih ettiğiniz herhangi bir aracı da kullanabilirsiniz, ardından bu sorguyu Stream Analytics işinizde 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'yi seçin.
Bağlantı bilgilerini doldurun.
Referans SQL içinde basılı tutun (veya sağ tıklayın) ve Execute Query'yi seçin.
Bağlantınızı seçin.
Sorgu sonucunuzu gözden geçirin ve doğrulayın.
SSS
Azure Stream Analytics'te SQL referans veri girişi kullanarak ekstra maliyetler mi oluşturabilirim?
Stream Analytics işinde yayın birimi başına ekstra bir maliyet yok. Ancak Stream Analytics işinin ilişkili bir Azure depolama hesabına sahip olması gerekir. Stream Analytics işi, referans veri setini almak için SQL Veritabanını (iş başlatma ve yenileme aralığında) sorgular ve bu anlık görüntüyü depolama hesabında saklar. Bu anlık görüntülerin saklanması, Azure depolama hesabı için fiyatlandırma sayfasında detaylandırılan ekstra ücretler gerektirir.
SQL Veritabanı'ndan bir referans veri anlık görüntüsünün sorgulanıp sorgulanmadığını ve Azure Stream Analytics işinde kullanılıp kullanılmadığını nasıl anlayabilirim?
Mantıksal Isim ile filtrelenen iki metrik (Azure portalında Metrikler altında), SQL Veritabanı referans veri girişinin sağlığını izlemenize olanak tanır.
- InputEvents: Bu metrik, SQL Veritabanı referans veri setinden yüklenen kayıt sayısını ölçür.
- InputEventBytes: Bu ölçüm, Stream Analytics işinin belleğine yüklenen referans verileri anlık görüntüsünün boyutunu ölçer.
Her iki metrik birlikte, işin referans veri setini almak için SQL Veritabanı sorgulayıp ardından belleğe yükleyip yüklemediğini gösterir.
Özel bir Azure SQL Veritabanı türüne ihtiyacım var mı?
Azure Stream Analytics, herhangi bir Azure SQL Veritabanı türüyle çalışır. Ancak, referans veri girişiniz için ayarladığınız yenileme hızı, sorgu yükünüzü etkileyebilir. Delta sorgu seçeneğini kullanmak için Azure SQL Veritabanı'de zamansal tabloları kullanın.
Azure Stream Analytics neden bir Azure Depolama hesabında anlık görüntüleri saklar?
Stream Analytics, olayların tam olarak bir kez işlenmesini ve olayların en az bir kez teslim edilmesini garanti eder. Geçici sorunlar işinizi etkilerse, durumu geri yüklemek için az miktarda yeniden oynatma gerekir. Tekrar oynatmayı etkinleştirmek için bu anlık görüntülerin Azure Depolama hesabında saklanması gerekir. Checkpoint replay hakkında daha fazla bilgi için Azure Stream Analytics işlerindeki Checkpoint ve yeniden oynatma kavramları bölümüne bakın.
İlgili içerik
- 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