Aracılığıyla paylaş


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ı

  1. Stream Analytics işi oluşturma.

  2. 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.

  3. 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

  1. 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.

    Sol gezinti bölmesinde girişler seçilir. Girişler'de + Başvuru girişi ekle seçilidir ve Blob depolama ve SQL Veritabanı değerlerini gösteren bir açılan liste gösterilir.

  2. 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 Veritabanı seçildiğinde SQL Veritabanı Yeni giriş sayfası görüntülenir. Sol bölmede bir yapılandırma formu ve sağ bölmede anlık görüntü sorgusu vardır.

  1. 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.

Depolama hesabı ayarları sol bölmede seçilidir. Sağ bölmede Depolama hesabı ekle düğmesi vardır.

İş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ı

  1. 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
  2. Visual Studio için Stream Analytics araçları hızlı başlangıcı hakkında bilgi sahibi olun.

  3. 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

  1. Visual Studio'nun Görünüm menüsünde Sunucu Gezgini'ni seçin.

  2. 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

  1. Dosya > Yeni Proje'yi seçin.

  2. Sol taraftaki şablon listesinden Stream Analytics'i ve ardından Azure Stream Analytics Uygulaması'nı seçin.

  3. Proje Adı, Konum ve Çözüm adını girin ve Tamam'ı seçin.

    Stream Analytics şablonu seçilir, Azure Stream Analytics Uygulaması seçilir ve Ad, Konum ve Çözüm adları kutuları vurgulanır.

SQL Veritabanı başvuru veri girişini tanımlama

  1. Yeni bir giriş oluşturun.

    Yeni Öğe Ekle'de Giriş seçilidir.

  2. Çözüm Gezgini Input.jsonçift tıklayın.

  3. 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:MMbelirtin.

    Stream Analytics Giriş Yapılandırması'nda değerler açılır listelerden girilir veya seçilir.

    "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.

    SQL CodeBehind dosyası Chemicals.snapshot.sql vurgulanır.

    "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.

    SQL CodeBehind dosyaları Chemicals.delta.sql ve Chemicals.snapshot.sql vurgulanır.

  4. Düzenleyicide SQL dosyasını açın ve SQL sorgusunu yazın.

  5. 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.

Stream Analytics İşi Yapılandırma Yapılandırması varsayılan değerlerle gösterilir. Genel Depolama Ayarları vurgulanır.

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.

  1. 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
    
  2. 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
    
  3. 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.

  1. SQL başvuru veri girişinizi yapılandırın.

    Visual Studio Code düzenleyicisi (sekme) ReferenceSQLDatabase.json gösterir.

  2. SQL Server simgesini seçin ve Bağlantı Ekle'ye tıklayın.

    + Bağlantı Ekle seçeneği sol bölmede görünür ve vurgulanır.

  3. Bağlantı bilgilerini doldurun.

    Veritabanı ve sunucu bilgileri için iki kutu vurgulanır.

  4. Başvuru SQL'ine sağ tıklayın ve Sorguyu Yürüt'e tıklayın.

    Sorguyu Yürüt bağlam menüsünde vurgulanır.

  5. Bağlantınızı seçin.

    İletişim kutusunda

  6. Sorgu sonucunuzu gözden geçirin ve doğrulayın.

    Sorgu arama sonuçları bir VS Code düzenleyicisi sekmesindedir.

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