了解在应用程序中嵌入 Power BI 内容所需的步骤。

Microsoft 最近发布了 Power BI Premium,这是一个基于容量的新许可模型,可提高用户访问、共享和分发内容方式的灵活性。 产品/服务还为 Power BI 服务提高其他可伸缩性和性能。

通过引入 Power BI Premium,Power BI Embedded 和 Power BI 服务开始进行融合以推动在应用中嵌入 Power BI 内容的进展。 这意味着,在嵌入内容时,将拥有一个 API 外围、一组一致的功能以及对最新 Power BI 功能(如仪表板、网关和应用工作区)的访问权限。 展望未来,你将能够从使用 Power BI Desktop 开始,移动到通过 Power BI Premium 实现的部署,这将在 2017 年第二个季度末公开发布。

本文将探讨如何为 Power BI 用户和非 Power BI 用户嵌入 Power BI 内容。 两者的步骤相似。 将会标注特定于为非 Power BI 用户嵌入内容的步骤。

为了实现此操作,你的应用程序需要完成以下几个步骤。 我们会完成所需的步骤,方便你在应用程序中创建和使用嵌入内容。

Note:

Power BI API 仍以组的形式引用应用工作区。 对组的任何引用都意味着正使用应用工作区工作。

步骤 1:设置嵌入式分析开发环境

在开始将仪表板和报表嵌入到应用程序中之前,需要确保环境已设置为允许嵌入。 在设置过程中,需要执行以下操作。

Note:

开发应用程序不需要 Power BI Premium。 应用程序的开发人员将需要具有 Power BI Pro 许可证。

Azure Active Directory 租户

需要一个 Azure Active Directory (Azure AD) 租户才可嵌入 Power BI 中的项目。 此租户必须至少有一个 Power BI Pro 用户。 还需要在租户内定义 Azure AD 应用。 可以使用现有 Azure AD 租户,也可创建一个专用于嵌入的新租户。

你将需要确定要使用的租户设置。

  • 使用现有公司 Power BI 租户?
  • 为应用程序使用单独的租户?
  • 为每个客户使用单独的租户?

如果决定为应用程序或每个客户创建一个新租户,请参阅创建 Azure Active Directory 租户如何获取 Azure Active Directory 租户

Note:

如果要为非 Power BI 用户嵌入,建议创建一个新的 Azure AD 租户。

创建 Power BI Pro 用户帐户

只需要一个 Power BI Pro 帐户即可嵌入内容。 但是,你可能想要有几个对各项目具有特定访问权限的不同用户。 下面介绍租户中可能需要考虑的用户。

租户中将需要存在以下帐户,并需要向其分配 Power BI Pro 许可证。

Note:

这些帐户需要具有 Power BI Pro 许可证才能使用应用工作区。

组织/租户管理员用户

不建议将组织/租户全局管理员用户作为应用程序使用的帐户。 这是为了使应用程序帐户在组织中拥有最小的访问权限。 建议此管理员用户成为为实现嵌入而创建的所有应用工作区的管理员。

将创建内容的分析师帐户

你可能有多个为 Power BI 创建内容的用户。 对于创建内容并将内容部署到 Power BI 的每个分析师,都将需要一个相应的 Power BI Pro 帐户。

非 Power BI 用户的应用程序主用户帐户

这是为非 Power BI 用户嵌入内容时,应用程序将使用的帐户。 这实际上是组织中仅需要的帐户。 此外可用作管理员和分析师帐户,但不建议这样做。 应用程序的后端将存储此帐户的凭据,并将其用于获取与 Power BI API 一起使用的 Azure AD 身份验证令牌。 此帐户将用于生成应用程序(用于非 Power BI 用户)的嵌入令牌。

此帐户必须是用于嵌入的应用工作区的管理员。

应用注册和权限

必须向 Azure AD 注册应用,才能执行 REST API 调用。 有关详细信息,请参阅注册 Azure AD 应用以便嵌入 Power BI 内容

创建应用工作区

若要为非 Power BI 用户(应用拥有数据)嵌入仪表板和报表,必须将这些仪表板和报表置于应用工作区中。 若要了解如何创建应用工作区,请参阅创建应用工作区

Important:

上文提到的主帐户必须是应用工作区的管理员。

创建并上传报表

可使用 Power BI Desktop 创建报表和数据集,然后将这些报表发布到应用工作区。 发布报表的最终用户需要拥有 Power BI Pro 许可证才可发布到应用工作区。

步骤 2:嵌入内容

在应用程序内,需要对 Power BI 进行身份验证。 如果为非 Power BI 用户嵌入内容,将需要在应用程序内存储主帐户的凭据。 有关详细信息,请参阅对用户进行身份验证并获取 Power BI 应用的 Azure AD 访问令牌

在应用内进行身份验证后,使用 Power BI 和 JavaScript API 将仪表板和报表嵌入应用。

若要为 Power BI 用户(用户拥有数据)嵌入内容,请参阅以下文章:

若要为非 Power BI 用户(应用拥有数据)嵌入内容(常见于 ISV 方案),请参阅以下文章:

为非 Power BI 用户(应用拥有数据)嵌入内容时,需要使用嵌入令牌。 有关详细信息,请参阅 GenerateToken

步骤 3:将解决方案提升到生产环境

准备好迁移到生产环境时,需要执行以下操作。

Power BI 用户(用户拥有数据)

如果要为 Power BI 用户嵌入,只需让用户知道如何访问应用程序。

免费版用户可以使用从组(应用工作区)嵌入的内容(如果此工作区有 Premium 容量作为技术支撑的话)。 需要将免费版用户列为组(应用工作区)的成员,否则将会看到 401 未授权错误。

非 Power BI 用户(应用拥有数据)

如果要为非 Power BI 用户嵌入,需要执行以下操作。

  • 虽然可使用组织生产租户,但建议为生产创建一个新的嵌入式分析环境。 有关详细信息,请参阅上面的步骤 1。

  • 如果要使用单独的租户进行开发,则需要确保应用工作区以及仪表板和报表在生产环境中可用。 还需要确保在 Azure AD 中为生产租户创建了应用程序,并按照步骤 1 中所述分配了适当的应用权限。

  • 购买符合需求的容量。 可通过下表了解可能需要的 Premium 容量 SKU。 有关详细信息,请参阅嵌入式分析容量规划白皮书。 准备好购买时,可在 Office 365 管理中心内执行此操作。

容量节点 总核心数
(后端 + 前端)
后端核心数 前端核心数 DirectQuery/实时连接限制 高峰时间的最大显示页数 是否支持
EM1 1 个虚拟核心 0.5 个核心,3GB RAM 0.5 个核心 1-300 2017 年 7 月
EM2 2 个虚拟核心 1 个核心,5GB RAM 单核 301-600 2017 年 7 月
EM3 4 个虚拟核心 2 个核心,10GB RAM 2 个核心 601-1,200 2017 年 7 月
P1 8 个虚拟核心 4 核,25 GB RAM 4 核 每秒 30 个 1,201-2,400 可用
P2 16 个虚拟核心 8 核,50 GB RAM 8 核 每秒 60 个 2,401-4,800 可用
P3 32 个虚拟核心 16 核,100 GB RAM 16 核 每秒 120 个 4,801-9600 可用
Note:

在租户中,只有作为全局管理员或帐单管理员才能购买 Power BI Premium。 有关如何购买 Power BI Premium 的信息,请参阅如何购买 Power BI Premium

  • 编辑应用工作区,并在“高级”下将其分配给 Premium 容量。

  • 将更新的应用程序部署到生产环境,并开始从 Power BI 服务嵌入报表。

管理员设置

全局管理员或 Power BI 服务管理员可以启用或禁用 REST API。 管理员可以为整个组织或各个安全组设定此设置。 默认情况下,为整个组织启用此功能。 此操作通过 Power BI 管理门户完成。

后续步骤

使用 Power BI 嵌入
如何将 Power BI Embedded 工作区集合内容迁移到 Power BI
什么是 Power BI Premium?
如何购买 Power BI Premium
JavaScript API Git 存储库
Power BI C# Git 存储库
JavaScript 嵌入示例
嵌入式分析容量规划白皮书
Power BI Premium 白皮书

更多问题? 尝试咨询 Power BI 社区