使用 Dataverse 中的低程式碼外掛程式 (預覽版)

[本主題是發行前版本文件,並可能在未來變更。]

Microsoft Dataverse 提供功能強大的解決方案,可讓您獲得更有效率的資料架構,並透過低程式碼外掛程式減少用戶端工作負載。這些外掛程式是可重複使用的即時工作流程,它會在 Dataverse 中執行一組特定的命令,在伺服器端執行,並會由個人化事件處理程式觸發。

重要

  • 這是預覽功能。
  • 預覽功能不供生產時使用,而且可能功能受限。 這些功能是在正式發行前先行推出,讓客戶能夠搶先體驗並提供意見反應。

外掛程式通常是建立為編譯成 .NET Framework 組譯碼的自訂類別,然後在 Dataverse 中上載並註冊。 不過,隨著低程式碼外掛程式的引進,使用者可以使用最少或無需編寫程式碼就能建立這些事件處理程式,且不需要手動註冊。

低程式碼外掛程式會儲存在 Dataverse 資料庫中,而且可以無縫整合入 Power Apps 和 Power Automate。 工作流程的行為是使用 Power Fx 運算式語言定義,而且可以透過 Power Platform 連接器直接連接至 Dataverse 商務資料和外部資料來源。 透過低程式碼外掛程式,製作者只需使用最少的編碼專業技能,就能快速構建複雜的工作流程,得到更加簡化和有效率的資料架構。

伺服器端邏輯的優點

定義伺服器端商務規則可提供幾項好處,包括:

  • 更多的安全性。 因為伺服器端邏輯是在伺服器上執行,所以可協助防止未經授權的敏感性資料或程式存取。
  • 提升的效能。 透過在伺服器上執行,商務規則可以減少需要在客戶與伺服器之間傳輸的資料量,造就較快的處理時間。
  • 一致性和可靠性。 伺服器端邏輯可確保商務規則一致套用在所有用戶端,減少錯誤或不一致的風險。
  • 更容易維護和更新。 讓商務規則集中在伺服器上,會更容易維護和更新,因為可以在單一位置進行變更,不需更新多個用戶。
  • 可擴縮性。 伺服器端邏輯比用戶端邏輯更容易調整大小,能提供更好的效能和處理較大量的工作負載。

低程式碼外掛程式

Dataverse 中支援兩種低程式碼外掛程式:

類型​ 觸發程序 支援參數 支援的 範圍
即時 手動執行 .是 全域與表格
已自動化 Dataverse 表格事件 資料表

所有低程式碼外掛程式都有下列共同屬性:

屬性 Description
Display name 外掛程式的人類可讀名稱。 一旦建立後,就無法變更。
姓名 外掛程式的內部名稱。 它是平台用來識別程式碼和資料庫作業中的元件。 一旦建立後,就無法變更。
Description 用來提供關於外掛程式的其他上下文 (目的、行為或其他重要詳細資料)。
方案 用來歸類元件並匯出至其他環境。 瞭解有關解決方案的更多資訊
運算式 這是可用來執行動作或計算的自訂函數,使用 Power Fx 運算式語言定義。 Power Fx 是畫布應用程式中使用的 Power Apps 公式語言,並已擴展為在低程式碼外掛程式中使用。有關更多詳細資訊,請參閱 支援的函數

即時低程式碼外掛程式是由使用者手動觸發的自訂程式碼邏輯。 可以使用自訂輸入和輸出參數。

唯一的屬性:

屬性 Description
Scope 用來建立外掛程式與特定表格之間的關聯性。 它可以設置為 table (顯示為實體) 或 global,其中 table (entity) scope 表示外掛程式是使用特定 table 記錄的上下文觸發的,而 global scope 表示操作不與表關聯 (瞭解更多)。
參數 參數讓您可以在外掛程式和執行它的上下文之間傳遞資訊,更容易設計可以在不同情況下重複使用的的商務規則。

輸入參數 用於向外掛程式提供數據,並允許您通過傳入您在公式中指定的 Power Fx 不同值來控制函數的行為方式。

輸出參數 允許您檢索函數或方法的結果,以便在程式中進一步使用。

支援的資料類型:
  • 布林值
  • 字串
  • 自由流通股
  • 小數點
  • 日期時間
  • Integer

有關如何從畫布應用或在 a Power Automate 雲端流程 :整合低程式碼外掛程式中整合的詳細資訊

外掛程式權限

設計時

在 Power Platform 環境中擁有系統自訂者或系統管理員資訊安全角色成員資格的製作者,可以存取該環境中的所有外掛程式。 自訂資訊安全角色可用來限制低程式碼外掛程式的存取。

運行時間

叫用外掛程式時,它會存取與外掛程式定義相關的表格資料 (屬於公式一部分的表格,或如果該表格與自動化外掛程式的設定有關),該定義位於叫用該外掛程式之使用者的上下文中。

連接

使用 安全角色,可以將外掛程式中的連接器訪問許可權限制為組織內的一組特定使用者。 指定具有建立、讀取、更新或刪除權限的角色。

建立低程式碼外掛程式的先決條件

  • Power Platform 環境中的系統管理員或系統自訂員資訊安全角色成員資格。
  • 存取 Dataverse加速器應用程式。

提示

所有新環境自 2023 年 10 月 1 日起都會自動安裝 Dataverse 加速器應用程式。 如果您已經安裝 Dataverse 加速器,您可以手動更新 Dataverse 加速器。

Dataverse 更新加速器

  1. 跟隨說明查看 環境 中的許可應用程式。
  2. Dataverse 如果已安裝 Accelerator 並且有可用的更新,則會在專案旁邊的表中指示更新。
  3. 選擇 Dataverse 加速器,然後在命令列上選擇 更新

提示

Microsoft - Power CAT 發行者啟用 自動應用程式更新 ,以便在可用時自動接收更新 (對於 2023 年 10 月 1 日之後創建的新環境不是必需的)。

注意

如果您之前安裝了可選的 低程式碼 Plug-ins for Connectors 解決方案,則當您在 2023 年 6 月 29 日之後更新時,它將自動刪除。 這些功能將會在主要解決方案中提供。

建立即時低程式碼外掛程式

  1. 播放 Dataverse 加速器應用程式。
  2. 選擇 Create instant plug-in (創建即時外掛程式卡片。 創建即時增效工具卡片
  3. 提供顯示名稱
  4. (可選)定義參數:
    • 選擇 New input parameter (新建輸入參數 ) 或 New output parameter (新建輸出參數),然後輸入標籤和數據類型。
    • 視需要新增其他輸入和輸出參數。
  5. Power Fx 在 Expression editor(運算式 編輯器) 中輸入表示式。
    • 在公式中依照標籤名稱來提及輸入參數。
    • 輸出參數必須在大括弧內引用,例如 { Out: "Return value" }
    • 使用數據收集函數 (如 Dataverse Filter() 和 LookUp() )引用表。
    • 如果範圍設置為 entity,則用於 ThisRecord 訪問與外掛程式運行關聯的表行中的列值,例如 ThisRecord.'Account Name'

    提示

    請注意 Expression (表達式 ) 框中 的 intellisense。 劃紅色底線的表示無效。 波浪形黃色表示您的邏輯可能會受委派限制的影響。 通過使用 可委派函數來避免委派問題

  6. (可選)展開 Advanced options (高級選項 ) 以修改 解決方案範圍描述
  7. 選取儲存
  8. 測試免安裝低程式碼外掛程式。

範例:計算兩個整數的和。

  • 創建兩個輸入參數 X and Y (均為 integer 類型)和一個輸出參數 ( Z type string)。
  • 使用以下公式: {Z: X + Y }

Accelerator 應用程式中的 Dataverse 即時外掛程式範例

建立自動化低程式碼外掛程式

  1. 播放 Dataverse 加速器應用程式。
  2. 選擇 Create automated plug-in 卡片。 創建自動化外掛程式卡片
  3. 提供以下值:
    • 名稱:輸入外掛程式的名稱,例如 Input validation (輸入驗證)。
    • :選擇要將外掛程式關聯到的表,例如 Account (帳戶)。
    • 當行為 時,運行此外掛程式規則。 指定叫用外掛程式的資料事件。
  4. Power Fx 在 Expression editor(運算式 編輯器) 中輸入表示式。
    • 使用數據收集函數 (如 Dataverse Filter() 和 LookUp() )引用表。
    • 用於 ThisRecord 訪問與外掛程式運行關聯的表行中的列值,例如 ThisRecord.'Account Name'
  5. (可選)展開 Advanced options 以修改 階段 (何時應運行)和 保存外掛程式的解決方案
  6. 選取儲存
  7. 測試您的自動化低程式碼外掛程式

使用低程式碼外掛程式中的 Power Platform 連接器

Power Platform 連接器可用於低程式碼外掛程式中,以輕鬆來自整合 Dataverse 外部系統 (例如 SQL Server、Salesforce 和 SharePoint) 的資料和功能,而不需要複雜的編碼或自訂開發。

在低程式碼外掛程式中使用連接器的先決條件

在低程式碼外掛程式中使用連接器動作

您可以在公式中輕鬆使用 低程式碼外掛程式中的 連接器 自定義連接器 Power Fx 。

  1. 建立連至您要使用之連接器的連線。
  2. 在環境中將連線參考 添加到連接 Dataverse 。
  3. 在低程式碼外掛程式 Power Fx 表示式編輯器中,鍵入連線參考的名稱 (帶前綴和下劃線的內部名稱,例如 new_connectorName,而不是顯示名稱)。
  4. Intellisense 會顯示可用的動作。 選取您要的動作,然後輸入必要參數。

在低程式碼外掛程式中使用連接器之前,請查看連接器的文件 ,以確保您正確傳遞輸入和輸出參數。

詳細資訊: 示例

注意

  • 目前並不支援所有的連接器。
  • 請勿使用 Dataverse 連接器從外掛程式運算式連接至 Dataverse 表格。 相反,請使用本機 Power Fx 函數與集合進行交互: Filter、Search、LookUpPatch、CollectSet,其中列被視為全域變數。

測試低程式碼外掛程式

測試即時外掛程式

  1. 在主螢幕中,從清單中選擇一個即時外掛程式,然後選擇 命令列上的測試 。 您也可以在儲存後,從命令列中的即時外掛程式編輯器進入此畫面。 選擇 Test (測試) 作為低程式碼外掛程式

  2. 為低程式碼外掛程式中定義的任何輸入參數提供值,然後選擇 Run ( 運行)。 選擇 Run 以測試低程式碼外掛程式

觀察回覆:

提示

使用輸出參數以協助驗證預期的行為與結果。 否則,測試時,您只會看到成功或失敗。

測試自動化外掛程式

叫用資料事件,以測試自動化外掛程式。 透過驗證在公式中定義的預期變更,觀察外掛程式是否順利運作。

提示

在預覽期間,您可以使用 Power Apps 中的表格編輯器來叫用相關的資料事件:

  1. 登錄 Power Apps,轉到 Tables 並選擇 Plug-in 表。
  2. 在命令列上選取編輯
  3. 從此視圖直接建立、更新或刪除列。 或者,通過選擇一行在預設表單中打開一行,然後選擇 命令列上的使用表單 編輯行。

整合低程式碼外掛程式

從畫布應用程式或自訂頁面叫用即時外掛程式

  1. Dataverse 在 Accelerator 應用程式中:
    1. 選取清單中的即時外掛程式。
    2. 選擇 命令列上的程式碼片段 複製代碼。 調用低程式碼外掛程式實例
    3. 將複製的公式貼至文字編輯器或記事本 (任何您可以輕易回頭參考的地方) 並儲存。
  2. Power Apps
    1. 在 Power Apps studio 中建立或編輯畫布應用程式 (或自訂頁面)。
    2. 在左側導航 的數據源 選項卡下,選擇 + 新建資料來源,然後從連接器中搜索 環境 選項 Dataverse 。
    3. 將下列元件插入至畫布:
    • 添加與每個參數的數據類型相對應的輸入控制項,例如 文本輸入 文字或數位切換 布林值。
    • 如果外掛程式的範圍與表格綁定,請新增與相同表格有關的組合方塊,這樣您就可以選擇輸入。
    • 添加一個 按鈕 來調用外掛程式。
  3. 將您複製的外掛程式公式粘貼到按鈕的屬性 OnSelect 中。
  4. 映射每個輸入參數 Value 以引用相應的輸入控制項:
    • 如果公式是 Environment.new_CalculateSum({ X: Value, Y: Value });,則可以將其重寫為: Environment.new_CalculateSum({ X: TextInput1.Text, Y: TextInput2.Text });
    • 如果公式已綁定,請替換為 Environment 表顯示名稱以訪問外掛程式。
  5. 如果為低程式碼外掛程式定義了輸出參數:
    1. 在 or 公式中 Set() 捕獲回覆: UpdateContext()Set( ActionResult, Environments.CalculateSum({ X: TextInput1.Text, Y: TextInput2.Text }) ); 在標籤中顯示變數。 或者, Notify() 使用公式在通知中顯示數據。
  6. 播放應用程式,並選取命令列上的命令以執行低程式碼外掛程式。

詳細瞭解如何 直接從 Dataverse 畫布應用中 Power Fx 調用操作。

從 Power Automate 雲端流程叫用即時外掛程式

  1. 在雲端流程中,從 Microsoft Dataverse 連接器新增動作。
  2. 選擇名為 Perform an unbound actionPerform a bound action 的操作。
  3. 選取您的外掛程式 (它具有包含前綴的唯一名稱)。
  4. 提供所有輸入參數的值 (如果有的話)。

從 Dataverse Web API 叫用即時外掛程式

跟隨的步驟從 Web API 調用自定義 API 文件中 的 Unbound action Function bound to table 部分 (取決於外掛程式的相應範圍)。

取得有關低程式碼外掛程式的協助

如果您在創建或運行低程式碼外掛程式時遇到問題,請轉到以下提示以瞭解可能發生的常見問題: Microsoft Dataverse 低程式碼外掛程式提示和已知問題

聯繫説明 + 支援

對於外掛程式提示中未涵蓋的 Dataverse Accelerator 解決方案安裝或低程式碼外掛程式問題低程式碼以及已知問題 Microsoft Dataverse (例如收到未記錄的錯誤),請使用「説明 + 支援」體驗 並包含 以下資訊:

  • 問題類型 - Dataverse Web API 和 SDK
  • 問題子類型 - 適用於 Dataverse 的加速器套件

您可以建立的範例低程式碼外掛程式

有關如何創建低程式碼外掛程式的幾個範例,請轉到 範例 Dataverse 低程式碼外掛程式(預覽版)

限制

  • 需要重新新增環境語言物件,才能存取現有畫布應用中的新外掛程式。 對於任何在您將環境表格資料來源新增到現有畫布應用程式後建立的外掛程式,您都必須刪除並重新新增 Power Fx 環境語言物件。 然後,您會看到低程式碼外掛程式成為動作的更新清單。

  • 如果您要參考公式中的任何表格,Intellisense 需要在自動化外掛程式中填入明顯標記。 使用以下消歧義語法,例如 [@Accounts],使用方括弧和 @ 符號 (not Accounts)。

  • 嵌入的支援。 外掛程式只能調用由 Microsoft 從 Power Fx 運算式發佈的第一方動作。

  • 某些 Collect 情況需要 Patch。 在某些情況下 Collect() 不起作用。 解決方法是使用 Patch() 下面填充相關列示例所示。 如果您正在建立自動化外掛程式,請在 Power Fx 公式中所參照的每個表格開頭添加 @。

    Patch(Faxes,
        Collect(Faxes, { Subject : "Sub1" } ),
        { Regarding : First(Accounts) }
    )
    
  • 當低程式碼外掛程式與連接器進行互動並使用 DLP 時,系統管理員會封鎖使用 DLP 建立的連線。 但是,Dataverse 環境中現有的連接參照會繼續運作。 如果管理員需要阻止所有低程式碼外掛程式與任何連接器的交互,他們可以禁用組織設置 Allowconnectorsonpowerfxactions。 此設定會預設啟用,並可透過一般的 SDK 方法 (WebAPI、SDK、PowerShell 等) 加以停用。 您可以使用低程式碼即時外掛程式來停用,如下所示:

    Patch(Organizations, First(Organizations), { 'Enable connectors on power fx actions.': 'Enable connectors on power fx actions. (Organizations)'.No })
    
  • 使用連接器的外掛程式只可以從特定欄位輸出結果。 因此,您必須將特定的基元值從連接器回覆對應至輸出值。

具備自訂連接器限制的低程式碼外掛程式

如果您有具備自訂連接器的低程式碼外掛程式,則必須在連接參考或流程之前先匯入自訂連接器。

如果您的環境在解決方案中不包含自訂連接器,請匯入只包含自訂連接器的單獨解決方案。 在匯入實際解決方案之前執行此匯入。 您需要先進行此匯入,因為 Azure 必須先註冊自訂連接器,其他解決方案元件才能被匯入 。

如果您匯入的是包含自訂連接器和流程的解決方案,則 Azure 無法在註冊您的連接參考或流程的同時,註冊自訂連接器。 這也適用於先前在個別解決方案中匯入的自訂連接器的連線參考。 如果 Azure 未註冊您的自訂連接器,則匯入作業將失敗,或您將無法開始匯入。

詳細資訊: 在解決方案中創建自定義連接器:已知限制

另請參閱

低程式碼外掛程式 Power Fx (預覽版)

在低程式碼 Dataverse 外掛程式中使用預構建的提示符 Power Apps