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

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
- Azure aboneliği. Ücretsiz bir Azure hesabı oluşturun.
- Bir küme ve veritabanı oluşturun.
- Azure Veri Gezgini Kümesi kurulumu:
- Bir Azure Active Directory (Azure AD) uygulaması sarak bir Uygulama Oluşturma (Azure AD) uygulaması oluşturun.
- veritabanı izinlerini yöneterek Azure AD Uygulaması veritabanınıza Azure Veri Gezgini veritabanınıza Azure Veri Gezgini verin.
- Azure DevOps kurulumu:
- Uzantı Yüklemesi:
İçeriğinizi yayına hazırlama
, bir görevde kümeye karşı yönetici komutlarını çalıştırmanın üç yolu vardır.

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

Satır içi komut yazma

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

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.

İpucu
Kendi iş akışınızı oluştururken kodunuzu bir etkili hale uygulamanızı öneririz. Örneğin, yerine
.create-merge tablekullanın ve işlev yerine işlevini.create table.create-or-alter.createkullanın.
Yayın işlem hattı oluşturma
Azure DevOps oturum açma.
Sol menüden PipelinesYayın'ı ve ardından Yeni işlem hattı'ı seçin.

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

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.

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.

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.

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
Klasörleri dağıtmak için görevler oluşturma
İşlem Hattı sekmesinde, görev eklemek için 1 iş, 0 göreve tıklayın.

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

Görevler sekmesinde Aracı işi'ne göre öğesini seçin ve Azure Veri Gezgini.
Komut Çalıştır Azure Veri Gezgini AltındaEkle'yi seçin.
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.

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

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.
Görevler sekmesinde Aracı işi'ne göre öğesini seçin ve Azure Veri Gezgini.
Sorguyu Çalıştır Azure Veri Gezgini Ekle'yiseçin.
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.

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.

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

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.
Görevler sekmesinde Aracısız iş'e göre öğesini seçin ve Azure Veri Gezgini.
Sorgu Sunucusu Geçidini Azure Veri Gezgini altında Ekle'yiseçin.
Kusto Sorgu Sunucusu Geçidi'ne ve ardından Sunucu Geçidi Testi'ne seçin.

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.

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

Sürümü çalıştırma
Yayın oluşturmak için +Yayın Yayın Oluştur'a seçin.

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

Ü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

