Don't miss your chance to take exam DP-600 or DP-700 on us!
Request nowFabric Data Days Monthly is back. Join us on March 26th for two expert-led sessions on 1) Getting Started with Fabric IQ and 2) Mapping & Spacial Analytics in Fabric. Register now
场景:
使用PowerShell获取数据集列表
我们可以使用 PowerShell 从 Power BI 服务中获取许多内容,例如工作区列表、数据集列表、报告列表等。此外,如果我们将 PowerShell 和 Rest API 结合起来,我们可以更简单地获取上述内容。有关更多信息,请参阅以下链接。
Working with PowerShell in Power BI | Microsoft Power BI 博客 | Microsoft Power BI
用于嵌入式分析和自动化的 Power BI REST API - Power BI REST API | Microsoft Learn
准备工作:
1.运行 PowerShell ISE
首先,以管理员身份启动 PowerShell ISE。Windows PowerShell 集成脚本环境 (ISE) 是 Windows PowerShell 的主机应用程序。在ISE中,您可以在单个基于Windows的图形用户界面中运行命令并编写、测试和调试脚本。
2.安装对应的PowerShell模块。
其次,为了管理与Power BI服务的连接,我们需要安装“MicrosoftPowerBIMgmt”。我们可以使用PowerShell ISE的可视化界面来添加此模块,也可以使用命令进行添加。请参阅以下链接
Power BI Cmdlet 参考 | Microsoft Learn
下载模块
以上脚本说明:
我们需要做的第一步是使用“Connect-PowerBIServiceAccount”命令连接到Power BI Service,然后使用“Get-PowerBIWorkspace”命令获取 Power BI 服务上的工作区信息,并将其分配给变量“Workspaces”。
Connect-PowerBIServiceAccount
$Workspaces = Get-PowerBIWorkspace –Al
其次,我们需要使用函数 “ForEach()” 来遍历参数 “$Workspaces” 和 “Get-PowerBIDataset -WorkspaceId $workspace。Id“,然后在相应的 Workspaces 中输出数据集列表。
ForEach ($workspace in $Workspaces)
{
ForEach ($dataset in (Get-PowerBIDataset -WorkspaceId $workspace.Id))
{
[pscustomobject]@{
WorkspaceName = $Workspace.Name
WorkspaceID = $workspace.Id
DatasetName = $dataset.Name
DatasetID = $dataset.Id
}
}
}
最后,将参数“$Datasets”的结果导出到本地.csv文件,并断开当前连接。
$Dir = "C:\Users\lionelch\Desktop\Sampledata\MyWorkspace.csv"
$DataSets | Export-Csv $Dir -NoTypeInformation -Encoding UTF8
Disconnect-PowerBIServiceAccount
2.在 PowerShell 中获取工作区和数据集的列表。
REST APIs 是应用程序接口 (API) 的一种架构样式,它使用 HTTP 请求来访问和使用数据。该数据可用于 GET、PUT、POST 和 DELETE 数据类型,这些数据类型是指读取、更新、创建和删除与资源有关的操作。对于 Power BI 服务,Microsoft 官方提供了许多 REST API 供开发人员使用。
Connect-PowerBIServiceAccount
$Workspace = Get-PowerBIWorkspace –All
ForEach($Workspace in $Workspace)
{
$Url = ' https://api.powerbi.com/v1.0/myorg/groups/'+ $Workspace.Id + '/datasets'
Invoke-PowerBIRestMethod -Url $Url -Method Get
}
Disconnect-PowerBIServiceAccount
以上脚本说明:
这里我们使用“获取数据集 API”。首先,我们仍然需要连接到 Power BI 服务,然后使用“Get-PowerBIWorkspace”命令获取工作区的数据并将其分配给参数“$Workspace”。
Connect-PowerBIServiceAccount
$Workspace = Get-PowerBIWorkspace –All
其次也是最重要的一点,我们需要使用“Invoke-PowerBIRestMethod”命令来访问 API 并返回 JSON 信息。请参阅下面的链接。
Invoke-PowerBIRestMethod (MicrosoftPowerBIMgmt.Profile) | Microsoft Learn
$Url = ' https://api.powerbi.com/v1.0/myorg/groups/'+ $Workspace.Id + '/datasets'
Invoke-PowerBIRestMethod -Url $Url -Method Get
最终结果:
总结:
以上内容介绍了如何使用PowerShell连接Power BI服务,如何通过命令代码获取Power BI服务中的内容,以及如何在PowerShell中使用Rest API。这些只是基本内容。事实上,PowerShell具有更丰富的功能,包括实现报表刷新、日志监控以及实现某些自动化功能。最后但并非最不重要的一点是,Power BI REST API 有一些限制,有关详细信息,请参阅此文档。
用于嵌入式分析和自动化的 Power BI REST API - Power BI REST API | Microsoft Learn
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.