Azure DevOps görev Azure Veri Gezgini

Azure DevOps Services, yüksek performanslı işlem hatları, ücretsiz özel Git depoları, yapılandırılabilir Kanban panoları ve kapsamlı otomatik ve sürekli test özellikleri gibi geliştirme işbirliği araçları sağlar. Azure Pipelines, Azure DevOps, platform ve bulutla birlikte yüksek performanslı işlem hatlarıyla dağıtmak için CI/CD'yi yönetmenize olanak sağlayan bir özelliktir. Azure Veri Gezgini - İşlem Hattı Araçları, Azure Pipelines işlem hatları oluşturmanıza ve veritabanı değişikliklerinizi veritabanı değişikliklerinizi Azure Veri Gezgini görevidir. Visual Studio Market'te ücretsiz olarak kullanılabilir. Bu uzantı 3 temel görev içerir:

  • Azure Veri Gezgini Komutu - Yönetici Komutlarını bir Azure Veri Gezgini çalıştırma

  • Azure Veri Gezgini Sorgu - Azure Veri Gezgini kümesinde Sorgular Çalıştırma ve sonuçları ayrıştırma

  • Azure Veri Gezgini Sunucusu Geçidi - Sorgu sonucuna bağlı olarak Geçit yayınları için aracısız görev

    Görev Türleri.

Bu belgede şema değişikliklerinizi veritabanınıza dağıtmak için Azure Veri Gezgini - İşlem Hattı Araçları görevinin kullanımına basit bir örnek açıktır. Tam CI/CD işlem hatları için, Azure DevOps bakın.

Önkoşullar

İçeriğinizi yayına hazırlama

, bir görevde kümeye karşı yönetici komutlarını çalıştırmanın üç yolu vardır.

Komut kaynağı denetim seçenekleri.

  • Yerel bir aracı klasöründen birden çok komut dosyası almak için arama deseni kullanma (Derleme kaynakları veya Yayın yapıtları)

    Yerel klasör seçeneği.

  • Satır içi komut yazma

    Satır içi komut seçeneği.

  • Komut dosyalarını doğrudan git kaynak denetiminden almak için bir dosya yolu belirtin (önerilir)

    Git dosyaları seçeneği.

    Git deponda aşağıdaki örnek klasörleri (İşlevler,İlkeler, Tablolar) oluşturun. Buradan dosyaları aşağıda görülen ilgili klasörlere kopyalayın ve değişiklikleri işleyebilirsiniz. Aşağıdaki iş akışını yürütmek için örnek dosyalar sağlanır.

    Repo için klasörler oluşturun.

    İpucu

    Kendi iş akışınızı oluştururken kodunuzu bir etkili hale uygulamanızı öneririz. Örneğin, yerine .create-merge table kullanın ve işlev yerine işlevini .create table.create-or-alter.create kullanın.

Yayın işlem hattı oluşturma

  1. Azure DevOps oturum açma.

  2. Sol menüden PipelinesYayın'ı ve ardından Yeni işlem hattı'ı seçin.

    Yeni işlem hattı.

  3. Yeni yayın işlem hattı penceresi açılır. Şablon Pipelines bölmesinde Boş iş'iseçin.

    Bir şablon seçin.

  4. Aşama düğmesini seçin. Aşama bölmesinde Aşama adını ekleyin. İşlem hattınızı kaydetmek için Kaydet'i seçin.

    Aşamayı olarak ad girin.

  5. Yapıt ekle düğmesini seçin. Yapıt ekle bölmesinde kodunuzun bulunduğu depoyu seçin, ilgili bilgileri doldurun ve Ekle'ye tıklayın. İşlem hattınızı kaydetmek için Kaydet'i seçin.

    Yapıt ekleyin.

  6. Değişkenler sekmesinde +Ekle'yi seçerek görevde kullanılacak Uç Nokta URL'si için bir değişken oluşturun. Uç noktanınAdını ve Değerini yazın. İşlem hattınızı kaydetmek için Kaydet'i seçin.

    Değişken oluşturma.

    Kümenizi bulmak Endpoint_URL, Azure Veri Gezgini Kümenizin genel bakış sayfasında Azure portal küme URI'Azure Veri Gezgini içerir. URI'yi aşağıdaki biçimde https://<Azure Data Explorer cluster URI>?DatabaseName=<DBName> oluşturun. Örneğin, https://kustodocs.westus.kusto.windows.net?DatabaseName=SampleDB

    Azure Veri Gezgini URI'sı.

Klasörleri dağıtmak için görevler oluşturma

  1. İşlem Hattı sekmesinde, görev eklemek için 1 iş, 0 göreve tıklayın.

    Görev ekleme.

  2. Tablolar, İşlevler ve İlkeler klasörlerinden dosyaları dağıtmak için komut görevleri oluşturmakiçin aşağıdaki adımları tekrarlayın:

    Yönetici komutları ekleyin.

    1. Görevler sekmesinde Aracı işi'ne göre öğesini seçin ve Azure Veri Gezgini.

    2. Komut Çalıştır Azure Veri Gezgini AltındaEkle'yi seçin.

    3. Kusto Komutu'nı seçin ve görevi aşağıdaki bilgilerle güncelleştirin:

      • Görünen ad:Görevin adı. Örneğin, Deploy <FOLDER><FOLDER> burada, oluşturmakta olan dağıtım görevinin klasörünün adıdır.

      • Dosya yolu:Her klasör için, görevin ilgili klasörü olduğu yolu <FOLDER> belirtin.

      • Uç noktaURL'si: Önceki adımda oluşturulan değişkeni belirtin.

      • Hizmet Uç Noktası Kullan:Bu seçeneği belirleyin.

      • Hizmet UçNoktası: Var olan bir hizmet uç noktasını seçin veya Hizmet bağlantısı ekle penceresinde aşağıdaki bilgileri sağlayarak yeni bir Azure Veri Gezgini (+Yeni ) oluşturun:

        Ayar Önerilen değer
        Bağlantı adı Bu hizmet uç noktasını tanımlamak için bir ad girin
        Küme Url'si Değer, Azure Veri Gezgini Kümenizin genel bakış bölümünde Azure portal
        Hizmet Sorumlusu Kimliği Uygulama AAD (önkoşul olarak oluşturulur) girin
        Hizmet Sorumlusu Uygulama Anahtarı AAD App Key (önkoşul olarak oluşturulur) girin
        AAD kiracı kimliği Kiracınızı AAD (örneğin, microsoft.com veya contoso.com)

      Tüm işlem hatlarının bu bağlantıyı kullanmasına izin ver onay kutusunu ve ardından Tamam'ı seçin.

      Hizmet bağlantısı ekleme.

  3. Kaydet'i seçin ve görevler sekmesinde üç görev olduğunu doğrulayın: TablolarıDağıt, İşlevleriDağıt ve İlkeleri Dağıt.

    Tüm klasörleri dağıtın.

Sorgu görevi oluşturma

Gerekirse, kümeye karşı sorgu çalıştırmak için bir görev oluşturun. Derleme veya Yayın işlem hattında sorgu çalıştırma, bir veri kümesi doğrulamak ve sorgu sonuçlarına göre bir adımın başarılı veya başarısız olması için kullanılabilir. Görevlerin başarı ölçütleri, sorgunun döndürtleri değere bağlı olarak satır sayısı eşiğine veya tek bir değere göre olabilir.

  1. Görevler sekmesinde Aracı işi'ne göre öğesini seçin ve Azure Veri Gezgini.

  2. Sorguyu Çalıştır Azure Veri Gezgini Ekle'yiseçin.

  3. Kusto Sorgusu'nı seçin ve görevi aşağıdaki bilgilerle güncelleştirin:

    • Görünen ad:Görevin adı. Örneğin, Sorgu kümesi.
    • Tür:Satır içi öğesini seçin.
    • Sorgu:Çalıştırmak istediğiniz sorguyu girin.
    • Uç noktaURL'si: Daha önce oluşturulan değişkeni belirtin.
    • Hizmet Uç Noktası Kullan:Bu seçeneği belirleyin.
    • Hizmet UçNoktası: Bir hizmet uç noktası seçin.

    Sorgu görevi.

  4. Görev Sonuçları'nın altında, sorgunun sonuçlarına göre görevin başarı ölçütlerini aşağıdaki gibi seçin:

    • Sorgunuz satır döndürürse Satır Sayısı'nı seçin ve gerekli ölçütleri ekleyin.

      Sorgu görevi satır sayısı.

    • Sorgunuz bir değer döndürürse Tek Değer'i seçin ve beklenen sonucu sağlar.

      Sorgu görevi tek değeri.

Sorgu Sunucusu Geçidi görevi oluşturma

Gerekirse, bir kümeye karşı sorgu çalıştırmak ve yayın ilerlemesini bekleyen Sorgu Sonuçları Satır Sayısı'nı kapacak bir görev oluşturun. Sunucu Sorgu Geçidi görevi aracısız bir iştir, yani sorgu doğrudan Azure DevOps Server.

  1. Görevler sekmesinde Aracısız iş'e göre öğesini seçin ve Azure Veri Gezgini.

  2. Sorgu Sunucusu Geçidini Azure Veri Gezgini altında Ekle'yiseçin.

  3. Kusto Sorgu Sunucusu Geçidi'ne ve ardından Sunucu Geçidi Testi'ne seçin.

    Sunucu Geçidi Görevi'ne seçin.

  4. Aşağıdaki bilgileri sağlayarak görevi yapılandırma:

    • Görünen ad:Geçidin adı.
    • Hizmet UçNoktası: Bir hizmet uç noktası seçin.
    • Veritabanı adı:Veritabanı adını belirtin.
    • Tür:Satır içi sorgu'ya seçin.
    • Sorgu:Çalıştırmak istediğiniz sorguyu girin.
    • Maksimum eşik:Sorgunun başarı ölçütleri için maksimum satır sayısını belirtin.

    Sunucu Geçidi Görevini yapılandırma.

Not

Sürümü çalıştırarak aşağıdakine benzer sonuçlar görüyor olun.

Sorgu Geçidi Görevi.

Sürümü çalıştırma

  1. Yayın oluşturmak için +Yayın Yayın Oluştur'a seçin.

    Yayın oluşturma.

  2. Günlükler sekmesinde dağıtım durumunun başarılı olup olduğunu kontrol edin.

    Dağıtım başarılı oldu.

Üretim öncesi dağıtım için yayın işlem hattının oluşturulmasını tamamladınız.

Yaml İşlem Hattı yapılandırması

Görevler hem web kullanıcı arabirimi Azure DevOps (yukarıda gösterildiği gibi) hem de işlem hattı şemasındaki Yaml kodu aracılığıyla ya yalıtabilir

Yönetici Komutu Örnek Kullanımı

steps:
- task: Azure-Kusto.PublishToADX.PublishToADX.PublishToADX@1
  displayName: '<Task Name>'
  inputs:
    script: '<inline Script>'
    waitForOperation: true
    kustoUrls: '$(CONNECTIONSTRING):443?DatabaseName=""'
    customAuth: true
    connectedServiceName: '<Service Endpoint Name>'
    serialDelay: 1000
  continueOnError: true
  condition: ne(variables['ProductVersion'], '') ## Custom condition Sample

Sorgu Örneği Kullanımı

steps:
- task: Azure-Kusto.PublishToADX.ADXQuery.ADXQuery@1
  displayName: '<Task Display Name>'
  inputs:
    script: |  
     let badVer=
     RunnersLogs | where Timestamp > ago(30m)
         | where EventText startswith "$$runnerresult" and Source has "ShowDiagnostics"
         | extend State = extract(@"Status='(.*)', Duration.*",1, EventText)
         | where State == "Unhealthy"
         | extend Reason = extract(@'"NotHealthyReason":"(.*)","IsAttentionRequired.*',1, EventText)
         | extend Cluster = extract(@'Kusto.(Engine|DM|CM|ArmResourceProvider).(.*).ShowDiagnostics',2, Source)
         | where Reason != "Merge success rate past 60min is < 90%"
         | where Reason != "Ingestion success rate past 5min is < 90%"
         | where Reason != "Ingestion success rate past 5min is < 90%, Merge success rate past 60min is < 90%"
         | where isnotempty(Cluster)
         | summarize max(Timestamp) by Cluster,Reason 
         | order by  max_Timestamp desc      
         | where Reason startswith "Differe"
         | summarize by Cluster
     ;   
      DimClusters | where Cluster in (badVer)
     | summarize by Cluster , CmConnectionString , ServiceConnectionString ,DeploymentRing
     | extend ServiceConnectionString = strcat("#connect ", ServiceConnectionString)
     | where DeploymentRing == "$(DeploymentRing)"
    kustoUrls: 'https://<ClusterName>.kusto.windows.net?DatabaseName=<DataBaneName>'
    customAuth: true
    connectedServiceName: '<Service Endpoint Name>'
  continueOnError: true