Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Средство конвейеров развертывания Microsoft Power BI позволяет группам бизнес-аналитики создавать эффективный и повторно используемый процесс выпуска для содержимого Power BI.
Примечание.
API конвейеров развертывания, перечисленные здесь, применяются только к элементам Power BI. Сведения об API Fabric см. в документации по API Fabric.
Для обеспечения непрерывной интеграции и непрерывной доставки содержимого (CI/CD) многие организации используют средства автоматизации, включая Azure DevOps. Организации, использующие Azure DevOps, могут использовать расширение средств автоматизации Power BI, которое поддерживает многие операции API конвейеров развертывания.
Вы можете использовать конвейеры развертывания REST API Power BI для интеграции Fabric в процесс автоматизации организации. Ниже приведены несколько примеров того, что можно сделать с помощью API:
Управление конвейерами от начала до завершения, включая создание конвейера, назначение рабочей области любому этапу и развертывание и удаление конвейера.
Назначение и снятие назначения пользователей на конвейер и с него.
Интеграция Fabric в знакомые средства DevOps, такие как Azure DevOps или GitHub Actions.
Планирование развертываний конвейеров выполняется автоматически в определенное время.
Разверните несколько конвейеров одновременно.
Каскад в зависимости от развертываний конвейеров. Если у вас есть содержимое, подключенное к конвейерам, можно убедиться, что некоторые конвейеры развертываются перед другими.
Предварительные условия
Прежде чем использовать API конвейеров развертывания, убедитесь в следующем:
Пользователь илислужебный принципал, вызывающий API, обладают разрешениями на конвейер и рабочую область и доступом к приложению Microsoft Entra.
Если вы используете скрипты PowerShell, установите командлеты Power BI PowerShell Install-Module MicrosoftPowerBIMgmt.
Функции API конвейеров развертывания
Конвейеры развертывания REST API Power BI позволяют выполнять следующие функции:
Получение информации о конвейерах - получение сведений о ваших конвейерах и их содержимом. Получение сведений о конвейере позволяет динамически создавать вызовы API развертывания. Вы также можете проверить состояние развертывания или историю развертывания.
Развертывание — вызовы REST позволяют разработчикам использовать любой тип развертывания, доступный в службе Fabric.
Создание и Удаление конвейеров - используйте Создать конвейер и Удалить конвейер для выполнения этих операций.
Управление рабочими областями — с помощью функций Назначить рабочую область и Отменить назначение рабочей области можно назначать и снимать назначения рабочих областей для конкретных этапов конвейера.
Управление пользователями конвейера - Удаление пользователя из конвейера позволяет удалить пользователя из конвейера. Функция "Пользователь конвейера" позволяет добавить пользователя в ваш конвейер.
Какие типы развертывания поддерживают API?
API поддерживают следующие типы развертывания:
Развернуть всё — один вызов API, который развертывает всё содержимое в рабочей области на следующем этапе в цепочке. Для этой операции используйте API Deploy all.
Выборочное развертывание — развертывает только определенные элементы, такие как отчеты или панели мониторинга, в конвейере. Для этой операции используйте API выборочного развертывания .
Обратное развертывание — развертывает новые элементы на предыдущем этапе. Обратное развертывание работает только в том случае, если развернутые элементы еще не существуют на целевом этапе. Для этой операции используйте либо API развертывания всего, либо API выборочного развертывания с
isBackwardDeployment
заданным значениемTrue
.Обновление приложения — в рамках вызова API развертывания можно обновить содержимое приложения, связанного с этим этапом. Обновленные элементы автоматически доступны конечным пользователям после завершения развертывания. Для этой операции используйте либо API Развёртывание всех или Развёртывание выборочно с PipelineUpdateAppSettings.
Интеграция конвейера с Azure DevOps
Чтобы автоматизировать процессы развертывания из конвейера выпуска в Azure DevOps, используйте один из следующих методов:
PowerShell — сценарий входит в Fabric с помощью субъекта-службы или пользователя.
Средства автоматизации Power BI. Это расширение работает с субъектом-службойили пользователем.
Вы также можете использовать другие вызовы REST API Power BI для выполнения связанных операций, таких как импорт PBIX в конвейер, обновление источников данных и параметров.
Использование расширения средств автоматизации Power BI
Расширение средств автоматизации Power BI — это расширение открытый код расширения Azure DevOps, которое предоставляет ряд операций конвейеров развертывания, которые можно выполнять в Azure DevOps. Расширение устраняет необходимость в API или скриптах для управления конвейерами. Каждую операцию можно использовать по отдельности для выполнения задачи, например создания конвейера. Операции можно использовать вместе в конвейере Azure DevOps для создания более сложного сценария, например создания конвейера, назначения рабочей области конвейеру, добавления пользователей и развертывания.
После добавления расширения инструментов автоматизации Power BI в DevOps необходимо создать соединение с сервисом. Доступны следующие подключения:
Учетная запись службы (рекомендуется) — это подключение выполняет аутентификацию с использованием учетной записи службы и требует секрета приложения Microsoft Entra и идентификатора приложения. При использовании этого параметра убедитесь, что параметры администратора службы для субъекта-службы включены.
Имя пользователя и пароль — настроено в качестве универсального подключения к службе с именем пользователя и паролем. Этот метод подключения не поддерживает многофакторную проверку подлинности. Рекомендуем использовать метод подключения через сервисный принципал, так как он не требует хранения учетных данных пользователя в Azure DevOps.
Примечание.
Расширение средств автоматизации Power BI использует подключение службы Azure DevOps для хранения учетных данных. Дополнительные сведения см. в статье о хранении учетных данных для Azure DevOps Services.
После того как вы включите подключение к службе для средств автоматизации Azure DevOps Power BI, можно создавать задачи в конвейере. Расширение включает следующие задачи конвейеров развертывания:
Создание нового конвейера
Назначение рабочей области этапу конвейера
Добавление пользователя в конвейер развертывания
Добавление пользователя в рабочую область
Развертывание содержимого в конвейере развертывания
Удалить рабочую область из конвейера развертывания
Удаление конвейера
Доступ к примерам PowerShell
Чтобы понять, как выполнять несколько процессов автоматизации, можно использовать следующие скрипты PowerShell. Чтобы просмотреть или скопировать текст в примере PowerShell, используйте ссылки в этом разделе.
Вы также можете скачать всю PowerBI-Developer-Samples
папку GitHub.
Пример с PowerShell
В этом разделе описывается пример скрипта PowerShell, который развертывает семантику модели, отчет и панель мониторинга с этапа разработки до этапа тестирования. Затем скрипт проверяет, выполнено ли развертывание успешно.
Чтобы запустить скрипт PowerShell, выполняющий развертывание, вам потребуется следующие компоненты. Вы можете добавить любую из этих частей в задачи на этапах конвейера Azure.
Войдите. Перед тем как развернуть содержимое, необходимо войти в Fabric с помощью учетной записи службы или пользователя. Используйте команду Connect-PowerBIServiceAccount для входа.
Создайте текст запроса. В этой части скрипта вы указываете, какие элементы (например, отчеты и панели мониторинга) развертываются.
$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
Развертывание — здесь выполняется развертывание.
$url = "pipelines/{0}/Deploy" -f "Insert you pipeline ID here" $deployResult = Invoke-PowerBIRestMethod -Url $url -Method Post -Body $body | ConvertFrom-Json
(Необязательно) Уведомление о завершении развертывания. Так как 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 подчиняется тем же ограничениям, что и пользовательский интерфейс конвейеров развертывания.
Служебный принципал не может настроить учетные данные OAuth. После развертывания новых элементов вошедший в систему субъект-служба становится владельцем всех развернутых отчетов с разбивкой на страницы и семантических моделей. В таких случаях обновление невозможно завершить.
Развертывание потоков данных с помощью субъекта-службы не поддерживается.
Максимальное количество элементов, которые можно развернуть в одном развертывании, равно 300.
API конвейеров развертывания в настоящее время поддерживают только элементы Power BI.
Создание настраиваемого конвейера из 2–10 этапов в настоящее время поддерживается только через пользовательский интерфейс.