Explore and share Fabric Notebooks to boost Power BI insights in the new community notebooks gallery.
Check it out now!Microsoft is giving away 50,000 FREE Microsoft Certification exam vouchers. Get Fabric certified for FREE! Learn more
场景:
使用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.