API'leri ve Azure DevOps'ı kullanarak dağıtım işlem hattınızı otomatikleştirme

Microsoft Fabric dağıtım işlem hatları aracı, iş zekası ekiplerinin Doku içeriği için verimli ve yeniden kullanılabilir bir yayın süreci oluşturmasına olanak tanır.

Birçok kuruluş, sürekli tümleştirme ve sürekli içerik teslimi (CI/CD) elde etmek için Azure DevOps dahil olmak üzere otomasyon araçlarını kullanır. Azure DevOps kullanan kuruluşlar, dağıtım işlem hatları API işlemlerinin çoğunu destekleyen Power BI otomasyon araçları uzantısını kullanabilir.

Fabric'i kuruluşunuzun otomasyon süreciyle tümleştirmek için dağıtım işlem hatlarını Power BI REST API'lerini kullanabilirsiniz. API'leri kullanarak neler yapabileceğinize ilişkin birkaç örnek aşağıda verilmiştir:

  • İşlem hattı oluşturma, herhangi bir aşamaya çalışma alanı atama ve işlem hattını dağıtma ve silme dahil olmak üzere işlem hatlarını baştan sona yönetin.

  • İşlem hattına kullanıcı atama ve atamasını kaldırma.

  • Doku'yu Azure DevOps veya GitHub Actions gibi tanıdık DevOps araçlarıyla tümleştirin.

  • İşlem hattı dağıtımlarını belirli bir zamanda otomatik olarak gerçekleşecek şekilde zamanlayın.

  • Aynı anda birden çok işlem hattı dağıtın.

  • İşlem hattı dağıtımlarına bağlı olarak art arda ekleyin. İşlem hatları arasında bağlı içeriğiniz varsa, bazı işlem hatlarının diğerlerinden önce dağıtıldığından emin olabilirsiniz.

Dağıtım işlem hatları API işlevleri

Not

Dağıtım işlem hatları API'leri şu anda yalnızca Power BI öğeleri için çalışır.

Power BI REST API'leri dağıtım işlem hatları aşağıdaki işlevleri gerçekleştirmenizi sağlar:

  • İşlem hattı bilgilerini alma - İşlem hatlarınız ve bunların içeriği hakkındaki bilgileri alın. İşlem hattı bilgilerini almak, dağıtım API'sinin çağrılarını dinamik olarak oluşturmanıza olanak tanır. Ayrıca bir dağıtımın durumunu veya dağıtım geçmişini de de de kontrol edebilirsiniz.

  • Dağıt - REST çağrıları geliştiricilerin Doku hizmetinde kullanılabilir olan herhangi bir dağıtım türünü kullanmasına olanak tanır.

  • İşlem hatlarını oluşturma ve silme - bu işlemleri gerçekleştirmek için İşlem hattı oluşturma ve İşlem hattını silme işlemlerini kullanın.

  • Çalışma alanlarını yönetme - Çalışma alanı ata ve Çalışma alanının atamasını kaldır ile çalışma alanlarını belirli işlem hattı aşamalarına atayabilir ve atamasını kaldırabilirsiniz.

  • İşlem hattı kullanıcılarını - yönetme İşlem hattı kullanıcısını silme işlemi, bir kullanıcıyı işlem hattından kaldırmanıza olanak tanır. İşlem hattı kullanıcısını güncelleştirme, işlem hattınıza bir kullanıcı eklemenize olanak tanır.

API'ler hangi dağıtımları destekler?

API'ler aşağıdaki dağıtım türlerini destekler:

  • Tümünü dağıt - Çalışma alanındaki tüm içeriği işlem hattındaki bir sonraki aşamaya dağıtan tek bir API çağrısı. Bu işlem için Tüm API'yi dağıtın.

  • Seçmeli dağıtım - İşlem hattında yalnızca raporlar veya panolar gibi belirli öğeleri dağıtır. Bu işlem için Seçmeli dağıtım API'sini kullanın.

  • Geriye doğru dağıtım - Yeni öğeleri önceki aşamaya dağıtır. Geriye dönük dağıtım yalnızca dağıtılan öğeler hedef aşamada mevcut değilse çalışır. Bu işlem için Tümünü dağıtın veya Seçmeli dağıtım API'lerini kullanın ve isBackwardDeployment değerini olarak Trueayarlayın.

  • Uygulamayı Güncelleştir - Dağıtım API'sinin çağrısının bir parçası olarak, bu aşamayla ilgili uygulamanın içeriğini güncelleştirebilirsiniz. Güncelleştirilmiş öğeler, dağıtım tamamlandıktan sonra son kullanıcılarınız tarafından otomatik olarak kullanılabilir. Bu işlem için PipelineUpdateApp Ayarlar ile Tümünü dağıtın veya Seçmeli dağıtım API'lerini kullanın.

Başlamadan önce

Dağıtım işlem hatları API'lerini kullanmadan önce aşağıdakilere sahip olduğunuzdan emin olun:

İşlem hattınızı Azure DevOps ile tümleştirme

Dağıtım işlemlerini Azure DevOps'taki yayın işlem hattınızdan otomatikleştirmek için şu yöntemlerden birini kullanın:

  • PowerShell - Betik, hizmet sorumlusu veya kullanıcı kullanarak Doku'da oturum açar.

  • Power BI otomasyon araçları - Bu uzantı bir hizmet sorumlusu veya kullanıcıyla çalışır.

İşlem hattına .pbix içeri aktarma, veri kaynaklarını ve parametreleri güncelleştirme gibi ilgili işlemleri tamamlamak için diğer Power BI REST API çağrılarını da kullanabilirsiniz.

Power BI otomasyon araçları uzantısını kullanma

Power BI otomasyon araçları uzantısı, Azure DevOps'ta gerçekleştirilebilecek bir dizi dağıtım işlem hattı işlemi sağlayan açık kaynak bir Azure DevOps uzantısıdır. Uzantı, işlem hatlarını yönetmek için API'ler veya betikler gereksinimini ortadan kaldırır. Her işlem, işlem hattı oluşturma gibi bir görevi gerçekleştirmek için ayrı ayrı kullanılabilir. İşlem hattı oluşturma, işlem hattına çalışma alanı atama, kullanıcı ekleme ve dağıtma gibi daha karmaşık bir senaryo oluşturmak için Azure DevOps işlem hattında işlemler birlikte kullanılabilir.

Power BI otomasyon araçları uzantısını DevOps'a ekledikten sonra bir hizmet bağlantısı oluşturmanız gerekir. Aşağıdaki bağlantılar kullanılabilir:

  • Hizmet sorumlusu (önerilen) - Bu bağlantı bir hizmet sorumlusu kullanarak kimlik doğrulaması yapar ve Microsoft Entra uygulamasının gizli dizisini ve uygulama kimliğini gerektirir. Bu seçeneği kullandığınızda, hizmet sorumlusu için hizmet yöneticisi ayarlarının etkinleştirildiğini doğrulayın.

  • Kullanıcı adı ve parola – Kullanıcı adı ve parola ile genel bir hizmet bağlantısı olarak yapılandırılır. Bu bağlantı yöntemi çok faktörlü kimlik doğrulamasını desteklemez. Azure DevOps'ta kullanıcı kimlik bilgilerinin depolanması gerekmediğinden hizmet sorumlusu bağlantı yöntemini kullanmanızı öneririz.

Not

Power BI otomasyon araçları uzantısı, kimlik bilgilerini depolamak için bir Azure DevOps hizmet bağlantısı kullanır. Daha fazla bilgi için bkz . Azure DevOps Services için kimlik bilgilerinizi nasıl depolarız?

Azure DevOps Power BI otomasyon araçlarınız için bir hizmet bağlantısını etkinleştirdikten sonra işlem hattı görevleri oluşturabilirsiniz. Uzantı aşağıdaki dağıtım işlem hatları görevlerini içerir:

  • Yeni ardışık düzen oluşturma

  • İşlem hattı aşamasına çalışma alanı atama

  • Dağıtım işlem hattına kullanıcı ekleme

  • Çalışma alanına kullanıcı ekleme

  • Dağıtım işlem hattına içerik dağıtma

  • Çalışma alanını dağıtım işlem hattından kaldırma

  • İşlem hattını silme

PowerShell örneklerine erişme

Çeşitli otomasyon işlemlerinin nasıl gerçekleştirilebileceğini anlamak için aşağıdaki PowerShell betiklerini kullanabilirsiniz. PowerShell örneğindeki metni görüntülemek veya kopyalamak için bu bölümdeki bağlantıları kullanın.

GitHub klasörünün tamamını PowerBI-Developer-Samples da indirebilirsiniz.

PowerShell örneği

Bu bölümde, geliştirme aşamasından test aşamasına bir anlam modeli, rapor ve pano dağıtan örnek bir PowerShell betiği açıklanmaktadır. Betik daha sonra dağıtımın başarılı olup olmadığını denetler.

Dağıtım gerçekleştiren bir PowerShell betiğini çalıştırmak için aşağıdaki bileşenlere ihtiyacınız vardır. Bu bölümlerden herhangi birini Azure işlem hattı aşamalarınızdaki görevlere ekleyebilirsiniz.

  1. Oturum açma - İçeriğinizi dağıtabilmeniz için önce hizmet sorumlusu veya kullanıcı kullanarak Doku'da oturum açmanız gerekir. Oturum açmak için Bağlan-PowerBIServiceAccount komutunu kullanın.

  2. İstek gövdenizi oluşturun - Betiğin bu bölümünde dağıtacağınız öğeleri (raporlar ve panolar gibi) belirtirsiniz.

    $body = @{ 
        sourceStageOrder = 0 # The order of the source stage. Development (0), Test (1).   
        datasets = @(
            @{sourceId = "Insert your dataset ID here" }
        )      
        reports = @(
            @{sourceId = "Insert your report ID here" }
        )            
        dashboards = @(
            @{sourceId = "Insert your dashboard ID here" }
        )
    
        options = @{
            # Allows creating new item if needed on the Test stage workspace
            allowCreateArtifact = $TRUE
    
            # Allows overwriting existing item if needed on the Test stage workspace
            allowOverwriteArtifact = $TRUE
        }
    } | ConvertTo-Json
    
  3. Dağıt - Burada dağıtımı gerçekleştirirsiniz.

    $url = "pipelines/{0}/Deploy" -f "Insert you pipeline ID here"
    $deployResult = Invoke-PowerBIRestMethod -Url $url  -Method Post -Body $body | ConvertFrom-Json
    
  4. (İsteğe bağlı) Dağıtım tamamlama bildirimi - Dağıtım API'sinin zaman uyumsuz olması nedeniyle, betiği dağıtım tamamlandığında size bildirecek şekilde programlayabilirsiniz.

    $url =  "pipelines/{0}/Operations/{1}" -f "Insert you pipeline ID here",$deployResult.id
    $operation = Invoke-PowerBIRestMethod -Url $url -Method Get | ConvertFrom-Json    
    while($operation.Status -eq "NotStarted" -or $operation.Status -eq "Executing")
    {
        # Sleep for 5 seconds
        Start-Sleep -s 5
        $operation = Invoke-PowerBIRestMethod -Url $url -Method Get | ConvertFrom-Json
    }
    

Dikkat edilecekler ve sınırlamalar

  • API'leri kullanarak dağıtım, dağıtım işlem hatları kullanıcı arabirimiyle aynı sınırlamalara tabidir.

  • Hizmet sorumlusu OAuth kimlik bilgilerini yapılandıramaz. Yeni öğeleri dağıttıktan sonra, oturum açan hizmet sorumlusu dağıtılan sayfalandırılmış raporların ve anlamsal modellerin sahibi olur. Böyle durumlarda yenileme tamamlanamaz.

  • Hizmet sorumlusu kullanarak veri akışlarının dağıtılması desteklenmez.

  • Tek bir dağıtımda dağıtılacak en fazla öğe sayısı 300'dür.

  • Dağıtım işlem hatları API'leri şu anda yalnızca Power BI öğelerini destekler.

  • 2-10 aşamadan oluşan özelleştirilmiş bir işlem hattı oluşturmak şu anda yalnızca kullanıcı arabirimi aracılığıyla desteklenmektedir.