自動化範本應用程式安裝,以簡化客戶的 Power BI 部署程式。 範本應用程式提供連線到客戶資料的預先建置報告,但對於不熟悉連線詳細資訊的使用者來說,手動設定可能具有挑戰性。
本教學課程示範資料服務提供者如何使用 Azure Functions 將範本應用程式參數設定自動化。 當客戶點擊預先設定的連結時,自動化會收集必要的資訊、設定參數並重新導向他們以安裝應用程式,只需驗證即可完成設定。
當客戶登入您的入口網站時,他們會選取您準備的特殊連結。 此連結:
- 啟動自動化,以收集所需的資訊。
- 預先設定範本應用程式參數。
- 將客戶重新導向至其 Power BI 帳戶,讓他們可以安裝應用程式。
他們所要做的就是選取 [安裝] 並針對其資料來源進行驗證,然後就可以開始了!
此處說明客戶體驗。
在本教學課程中,您將使用我們建立的自動化安裝 Azure Functions 範例來預先設定及安裝範本應用程式。 為了示範目的,此範例已刻意保持簡單。 它包含 Azure 功能的設定,以使用 Power BI API 來安裝範本應用程式,並自動配置以符合使用者的需求。
如需應用程式使用之一般自動化流程和 API 的詳細資訊,請參閱 自動設定範本應用程式安裝。
我們的簡單應用程式會使用 Azure 函式。 如需 Azure Functions 的詳細資訊,請參閱 Azure Functions 檔。
基本流程
下列基本流程會列出客戶在入口網站中選取連結來啟動應用程式時所執行的功能。
- 使用者登入 ISV 的入口網站,然後選取提供的連結。 此動作將啟動流程。 ISV 的入口網站會在此階段準備使用者特定的設定。
- ISV 會根據在 ISV 租用戶中註冊的服務主體 (僅限應用程式權杖) 來取得僅限應用程式的權杖。
- 使用 Power BI REST API,ISV 會建立 安裝票證,其中包含 ISV 所準備的使用者特定參數設定。
- ISV 會使用
POST包含安裝票證的重新導向方法,將使用者重新導向至 Power BI。 - 系統會使用安裝票證將使用者重新導向至其Power BI帳戶,並提示您安裝範本應用程式。 當使用者選取 [安裝] 時,會為他們安裝範本應用程式。
Note
雖然ISV會在建立安裝票證的過程中設定參數值,但數據源相關認證只會由使用者在安裝的最後階段提供。 這種安排可防止它們暴露給第三方,並確保使用者與範本應用程式資料來源之間的安全連線。
先決條件
- 您自己的 Microsoft Entra 租戶設定。 如需如何設定的指示,請參閱 建立 Microsoft Entra 租戶。
- 在上述租用戶中註冊的服務主體(應用程式專用令牌)。
- 已準備好進行安裝的參數化 範本應用程式 。 範本應用程式必須在您在 Microsoft Entra ID 中註冊應用程式的相同租用戶中建立。 如需詳細資訊,請參閱 撰寫範本應用程式的秘訣 或 在Power BI 中建立範本應用程式。
- 若要能夠測試您的自動化工作流程,請將服務主體新增至範本應用程式工作區作為系統管理員。
- Power BI Pro 授權。 如果您尚未註冊 Power BI Pro,請在開始之前 註冊免費試用 。
設定自動化開發環境
繼續設定應用程式之前,請遵循 快速入門:使用 Azure 應用程式組態建立 Azure Functions 應用程式 來開發 Azure 函式以及 Azure 應用程式設定中的指示。 如本文所述,建立您的應用程式組態。
在 Microsoft Entra ID 中註冊應用程式
建立服務主體,如 使用服務主體和應用程式秘密內嵌Power BI內容中所述。
請務必將應用程式註冊為 伺服器端 Web 應用程式。 您可以註冊伺服器端 Web 應用程式以建立應用程式密碼。
儲存 應用程式識別碼 (ClientID) 和 應用程式秘密 (ClientSecret),以取得後續步驟。
將服務主體新增至範本應用程式工作區作為系統管理員,讓您可以測試自動化工作流程。
範本應用程式準備
建立範本應用程式並準備好進行安裝之後,請儲存下列資訊以取得後續步驟:
安裝 URL 中 應用程式識別碼、套件密鑰和 擁有者識別碼 的顯示方式是指在建立應用程式的過程中,於 定義範本應用程式屬性 過程結尾時顯示。
您也可以在範本應用程式的 [發行管理] 窗格中選取 [取得連結],以取得相同的連結。
參數名稱 ,因為它們在範本應用程式的語意模型中定義。 參數名稱是區分大小寫的字串。 當您定義範本應用程式的屬性或 Power BI 中的語意模型設定時,也可以從 [參數設定] 索引標籤取它們。
Note
如果範本應用程式已準備好安裝,您可以在範本應用程式上測試預先設定的安裝應用程式,即使它尚未在 AppSource 上公開提供也一樣。 若要讓租使用者外部的用戶能夠使用自動化安裝應用程式來安裝範本應用程式,必須在 AppSource中公開提供範本應用程式。 使用所建立的自動化安裝應用程式散發範本應用程式之前,請務必 將其發佈至合作夥伴中心。
安裝和設定範本應用程式
在本節中,您將使用我們建立的自動化安裝 Azure Functions 範例來預先設定及安裝範本應用程式。 為了示範目的,此範例已刻意保持簡單。 它可讓您使用 Azure 函式 和 Azure 應用程式組態 ,輕鬆地部署及使用範本應用程式的自動化安裝 API。
下載 Visual Studio
下載 Visual Studio (版本 2017 或更新版本)。 請務必下載最新的 NuGet 套件。
下載自動化安裝 Azure Functions 範例
從 GitHub 下載 自動化安裝 Azure Functions 範例 以開始使用。
設定您的 Azure 應用程式組態
若要執行此範例,您必須使用此處所述的值和索引鍵來設定 Azure 應用程式組態。 密鑰是 應用程式識別碼、 應用程式密碼,以及範本應用程式的 appId、 packageKey 和 ownerId 值。 如需如何取得這些值的相關信息,請參閱下列各節。
索引鍵也會定義在 Constants.cs 檔案中。
| 組態金鑰 | Meaning |
|---|---|
| TemplateAppInstall:Application:AppId | appId 來自 安裝 URL |
| TemplateAppInstall:Application:PackageKey | 來自安裝 URL 的 packageKey |
| TemplateAppInstall:Application:OwnerId | 來自安裝 URL 的 ownerId |
| TemplateAppInstall:ServicePrincipal:ClientId | 服務主體 應用程式識別碼 |
| TemplateAppInstall:ServicePrincipal:ClientSecret | 服務主體 應用程式金鑰 |
此處會顯示Constants.cs檔案。
取得範本應用程式屬性
填入所有相關範本應用程式屬性,因為它們會在建立應用程式時定義。 這些屬性是範本應用程式的 appId、 packageKey 和 ownerId 值。
若要取得上述值,請遵循下列步驟:
請登入Power BI。
移至應用程式的原始工作區。
開啟 [ 發行管理] 窗格。
選取應用程式版本,並取得其安裝連結。
將連結複製到剪貼簿。
此安裝 URL 會保存三個需要其值的 URL 參數。 使用應用程式的 appId、 packageKey 和 ownerId 值。 範例 URL 將類似此處所示的內容。
https://app.powerbi.com/Redirect?action=InstallApp&appId=66667...9cccc0000&packageKey=b2df4b...dLpHIUnum2pr6k&ownerId=aaaa...22222&buildVersion=5
取得應用程式識別碼
使用來自 Azure 的應用程式識別碼填入 applicationId 資訊。 應用程式會使用 applicationId 值,向要求許可權的用戶識別自己。
若要取得應用程式識別碼,請遵循下列步驟:
登入 Azure 入口網站。
從入口網站功能表中,選取 [所有服務]。
在 [所有服務] 頁面上的 [ 身分識別 ] 區段中,選取 [ >應用程式註冊]。
選取需要 應用程式識別碼的應用程式。
有一個應用程式識別碼被列為 GUID。 使用此應用程式識別碼作為應用程式的 applicationId 值。
取得應用程式秘密
從 Azure 中應用程式註冊區段的 [金鑰] 區段填入 ApplicationSecret 資訊。 當您使用 服務主體時,此屬性可運作。
若要取得應用程式密碼,請遵循下列步驟:
登入 Azure 入口網站。
從入口網站功能表中,選取 [所有服務]。
在 [所有服務] 頁面上的 [ 身分識別 ] 區段中,選取 [ >應用程式註冊]。
在 管理 下選擇憑證和秘密。
選取 [新用戶端密碼]。
在 [ 描述 ] 方塊中輸入名稱,然後選取持續時間。 然後選取 [新增 ] 以取得應用程式的值,您會在客戶端密碼的 [值 ] 標題底下看到此值。
在本機測試您的函式
請依照在 本機執行函 式中所述的步驟執行您的函式。
將您的入口網站設定為向函式的 URL 發出 POST 請求。 例如是POST http://localhost:7071/api/install。 要求本文應該是描述索引鍵/值組的 JSON 物件。 索引鍵是Power BI Desktop 中所定義的 參數名稱 。 值是範本應用程式中每個參數所要設定的所需值。
Note
在生產環境中,參數值會由入口網站的預期邏輯來推斷給每個使用者。
所需的流程應該是:
- 入口網站會為每個使用者或會話準備要求。
- 您的 Azure 函式會收到
POST /api/install要求。 要求主體是由鍵值對所組成。 鍵是參數名稱。 值是所要設定的值。 - 如果一切都已正確設定,瀏覽器應該會自動重新導向至客戶的Power BI 帳戶,並顯示自動化安裝流程。
- 安裝時,參數值會設定為步驟 1 和 2 中的設定。
將專案發佈至 Azure
若要將專案發佈至 Azure,請遵循 Azure Functions 檔中的指示。 然後,您可以將範本應用程式自動化安裝 API 整合到產品中,並開始在生產環境中進行測試。