Обновление набора данных Power BI с помощью Powershell - PullRequest
0 голосов
/ 08 октября 2018

Я использовал этот сценарий powershell для обновления набора данных в Power BI, который работал для меня, но проблема заключалась в том, что при запуске сценария всегда появлялось всплывающее окно для входа в мою учетную запись Power BI.Я действительно хочу знать, есть ли способ сделать сценарий автоматического входа для меня?Спасибо

скрипт: https://github.com/Azure-Samples/powerbi-powershell/blob/master/manageRefresh.ps1

1 Ответ

0 голосов
/ 23 января 2019

С помощью следующего вы можете легко получить доступ к информации о группе:

$pbiUsername = "< USERNAME >"
$pbiPassword = "< PASSWORD >"
$clientId = "< CLIENT-ID >"

$body = @{"resource" = "https://analysis.windows.net/powerbi/api";
    "client_id" = $clientId;
    "grant_type" = "password";
    "username" = $pbiUsername;
    "password" = $pbiPassword;
    "scope" = "openid"
    }

$authUrl = "https://login.windows.net/common/oauth2/token/"
$authResponse = Invoke-RestMethod -Uri $authUrl –Method POST -Body $body

$headers = @{
             "Content-Type" = "application/json";
             "Authorization" = $authResponse.token_type + " " + 
                                $authResponse.access_token
           }

$restURL = "https://api.powerbi.com/v1.0/myorg/groups"
$restResponse = Invoke-RestMethod -Uri $restURL –Method GET -Headers $headers

Здесь clientId - это Id из «собственного» клиента AAD, созданного с использованием https://dev.powerbi.com/apps

Для отправкикоманда обновления использует URL-адреса:

Если набор данных находится в вашей рабочей области:

$datasetId = "DATASET-ID"
$restUrl = "https://api.powerbi.com/v1.0/myorg/datasets/$datasetId/refreshes"

В противном случае, когда он находится в рабочей области группы:

$datasetId = "DATASET-ID"
$groupId = "GROUP-ID"
$restUrl = 
 "https://api.powerbi.com/v1.0/myorg/groups/$groupId/datasets/$datasetId/refreshes"

Теперь отправьте работу на сервер powerBI:

$body = @{
            "notifyOption"= "MailOnFailure"
         }

$restResponse = Invoke-RestMethod -Uri $restUrl –Method POST -Headers $headers -Body $body

См. Также запись в блоге: https://blog.gbrueckl.at/2017/08/refresh-powerbi-datasets-powershell-azure-runbooks/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...