API와 Azure DevOps를 사용하여 배포 파이프라인 자동화

Power BI 배포 파이프라인 도구를 사용하여 BI 팀은 Power BI 콘텐츠에 대해 효율적이고 재사용이 가능한 릴리스 프로세스를 빌드할 수 있습니다.

콘텐츠의 CI/CD(연속 통합 및 지속적인 업데이트)를 위해 많은 조직에서는 Azure DevOps를 비롯한 다양한 자동화 도구를 사용합니다.

배포 파이프라인 Power BI REST API를 활용하여 Power BI를 조직의 자동화 프로세스에 통합할 수 있습니다. API를 사용하여 수행할 수 있는 작업에 대한 몇 가지 예는 다음과 같습니다.

  • 파이프라인 만들기, 원하는 단계에 작업 영역 할당, 파이프라인 배포 및 삭제 등 파이프라인을 처음부터 끝까지 관리합니다.

  • 파이프라인에 사용자를 할당하고 파이프라인에서 사용자를 할당 해제합니다.

  • Azure DevOps 또는 GitHub Actions와 같은 익숙한 DevOps 도구에 Power BI를 통합합니다.

  • 지정된 시간에 자동으로 수행되도록 파이프라인 배포를 예약합니다.

  • 동시에 여러 파이프라인을 배포합니다.

  • 종속 파이프라인 배포 계단식 진행 - 파이프라인 간에 연결된 콘텐츠가 있는 경우 일부 파이프라인이 다른 파이프라인보다 먼저 배포되도록 할 수 있습니다.

배포 파이프라인 API 함수

배포 파이프라인 Power BI REST API를 사용하여 다음 기능을 수행할 수 있습니다.

  • 파이프라인 정보 가져오기 - 파이프라인 및 해당 콘텐츠에 대한 정보를 검색합니다. 파이프라인 정보를 가져오면 배포 API 호출을 동적으로 만들 수 있습니다. 배포 상태 또는 배포 기록을 확인할 수도 있습니다.

  • 배포 - REST 호출을 통해 개발자는 Power BI 서비스에서 사용할 수 있는 모든 유형의 배포를 사용할 수 있습니다.

  • 파이프라인 만들기삭제 - 파이프라인 만들기파이프라인 삭제를 사용하여 해당 작업을 수행합니다.

  • 작업 영역 관리 - 작업 영역 할당작업 영역 할당 해제를 사용하여 특정 파이프라인 단계에 작업 영역을 할당하고 할당 해제할 수 있습니다.

  • 파이프라인 사용자 관리 - 파이프라인 사용자 삭제를 사용하면 파이프라인에서 사용자를 제거할 수 있습니다. 파이프라인 사용자 업데이트를 사용하면 파이프라인에 사용자를 추가할 수 있습니다.

API에서는 어떤 배포가 지원되나요?

다음은 API에서 지원하는 다양한 배포 유형 목록입니다.

  • 모두 배포 - 작업 영역의 모든 콘텐츠를 파이프라인의 다음 단계에 배포하는 단일 API 호출입니다. 이 작업의 경우 모두 배포 API를 사용합니다.

  • 선택적 배포 - 파이프라인에서 특정 Power BI 항목(예: 보고서 또는 대시보드)만 배포합니다. 이 작업의 경우 선택적 배포 API를 사용합니다.

  • 역방향 배포 - 이전 단계에 새 Power BI 항목을 배포하는 데 사용합니다. 역방향 배포는 배포된 Power BI 항목이 대상 단계에 아직 없는 경우에만 작동합니다. 이 작업의 경우 isBackwardDeploymentTrue로 설정하여 모두 배포 또는 선택적 배포 API를 사용합니다.

  • 앱 업데이트 - 배포 API 호출의 일부로 해당 단계와 관련된 앱의 콘텐츠를 업데이트할 수 있습니다. 이 기능을 사용할 경우 배포가 완료되면 최종 사용자는 새 또는 업데이트된 Power BI 항목을 자동으로 사용할 수 있게 됩니다. 이 작업의 경우 PipelineUpdateAppSettings를 사용하여 모두 배포 또는 선택적 배포 API를 사용합니다.

시작하기 전에

배포 파이프라인 API 사용을 시작하기 전에 다음이 있는지 확인합니다.

Azure DevOps와 파이프라인 통합

PowerShell을 사용하여 Power BI 배포 파이프라인을 Azure DevOps에 통합할 수 있습니다. 이 스크립트는 서비스 주체 또는 사용자 를 사용하여 Power BI에 로그인하고 Azure DevOps의 릴리스 파이프라인에서 Power BI 배포 프로세스를 자동화할 수 있도록 합니다. 다른 Power BI REST API 호출을 사용하여 PBIX를 파이프라인으로 가져오고, 데이터 원본을 업데이트하고, 매개 변수를 업데이트하는 것과 같은 관련 작업을 완료할 수도 있습니다.

PowerShell 샘플 액세스

아래의 PowerShell 스크립트를 사용하여 여러 자동화 프로세스를 수행하는 방법을 이해할 수 있습니다. PowerShell 샘플의 텍스트를 보거나 복사하려면 이 섹션의 링크를 사용합니다.

전체 PowerBI-Developer-Samples GitHub 폴더를 다운로드할 수도 있습니다.

PowerShell 예제

이 섹션에서는 개발 단계에서 테스트 단계로 데이터 세트, 보고서, 대시보드를 배포하는 예제 PowerShell 스크립트에 관해 설명합니다. 그런 다음, 스크립트는 성공적으로 배포되었는지 여부를 확인합니다.

배포를 수행하는 PowerShell 스크립트를 실행하려면 아래 나열된 구성 요소가 필요합니다. Azure 파이프라인 단계에서 이러한 파트를 작업에 추가할 수 있습니다.

  1. 로그인 - 콘텐츠를 배포하기 전에 서비스 주체 또는 사용자 를 사용하여 Power BI에 로그인해야 합니다. Connect-PowerBIServiceAccount 명령을 사용하여 로그인합니다.

  2. 요청 본문 빌드 - 이 스크립트 부분에서는 배포 중인 Power BI 항목(예: 보고서 및 대시보드)을 지정합니다.

    $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 artifact if needed on the Test stage workspace
            allowCreateArtifact = $TRUE
    
            # Allows overwriting existing artifact if needed on the Test stage workspace
            allowOverwriteArtifact = $TRUE
        }
    } | ConvertTo-Json
    
  3. 배포 - 여기에서 배포를 수행합니다.

    $url = "pipelines/{0}/Deploy" -f "Insert you pipeline ID here"
    $deployResult = Invoke-PowerBIRestMethod -Url $url  -Method Post -Body $body | ConvertFrom-Json
    
  4. (선택 사항) 배포 완료 알림 - 배포 API가 비동기식이므로 배포가 완료되면 알리도록 스크립트를 프로그래밍할 수 있습니다.

    $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
    }
    

고려 사항 및 제한 사항

  • API를 사용하는 배포에는 Power BI 배포 파이프라인 사용자 인터페이스와 동일한 제한이 적용됩니다.

  • 서비스 주체OAuth 자격 증명을 구성할 수 없습니다. 새 항목을 배포하고 나면 로그인한 서비스 주체 가 페이지가 매겨진 배포된 보고서 및 데이터 세트의 소유자가 됩니다. 이러한 경우 새로 고침을 완료할 수 없습니다.

  • '서비스 주체'를 사용하여 데이터 흐름을 배포하는 것은 지원되지 않습니다.

  • 단일 배포로 배포할 수 있는 Power BI 항목은 최대 300개입니다.

다음 단계