適用於:Azure Logic Apps (使用量 + 標準)
若要自動執行與 Microsoft Dataverse 資料庫搭配使用的工作,您可以將 Microsoft Dataverse 連接器 與 Azure Logic Apps 中的工作流程搭配使用。
例如,您可以建置建立資料列、更新資料列和執行其他作業的工作流程。 您也可以從 Dataverse 資料庫取得資訊,並將輸出提供給其他動作,以便在工作流程中使用。 例如,在 Dataverse 資料庫中新增、更新或刪除資料列時,您可以使用 Office 365 Outlook 連接器傳送電子郵件。
Dataverse 連接器以前稱為 Common Data Service 2.0 連接器,最初稱為 Dynamics 365 連接器。 您可以使用 Dataverse 連接器存取 Microsoft Dataverse for Microsoft Dynamics 365 Sales、Microsoft Dynamics 365 Customer Service、Microsoft Dynamics 365 Field Service、Microsoft Dynamics 365 Customer Insights - Journeys 和 Microsoft Dynamics 365 Project Service Automation。
本指南說明如何將 Dataverse 觸發器或動作加入你的工作流程,以及參數選項的運作方式。
這很重要
自 2023 年 10 月起,新工作流程必須使用目前的 Dataverse 連接器作業。 舊版 Dataverse 連接器作業不再可用於新工作流程。
為了支援回溯相容性,舊版 Dataverse 連接器作業從淘汰公告日期起有一年的時間可以繼續在現有工作流程中運作。 雖然沒有特定的關機日期,但請務必立即更新現有的工作流程,以使用目前的連接器作業。 如需詳細資訊,請參閱適用於 Azure Logic Apps 的 Microsoft Dataverse (舊版) 連接器將被取代,並由另一個連接器取代。
連接器參考
如需以連接器的 Swagger 描述為基礎的技術資訊,例如作業、限制和其他詳細資料,請參閱 受管理連接器參考頁面。
先決條件
Azure 帳戶和訂閱。 申請一個免費的 Azure 帳號。
Dataverse Data Service 環境和資料庫,這是您的組織在 Dataverse 資料庫中儲存、管理和共用商務資料的地方。
如需詳細資訊,請參閱:
備註
有些情境可能需要你對 Logic App 資源啟用存取限制,以控制來自公共網路的入站存取。 如果你允許 Power Platform 的入站通訊透過 PowerPlatformInfra 服務標籤觸發你的工作流程,務必使用非區域版本。
有關 Azure Logic Apps 的基本知識,以及您想要從何處存取 Dataverse 資料庫的「使用量」或「標準」邏輯應用程式資源及工作流程。 若要使用 Dataverse 觸發器,您需要一個空白工作流程。 若要使用 Dataverse 動作,您需要一個以適合您情境的觸發器開頭的工作流程。
如需詳細資訊,請參閱:
新增 Dataverse 觸發器
如果您有消耗型或標準邏輯應用程式工作流程,請遵循相關步驟:
在 Azure 入口網站中,在設計工具中開啟您的邏輯應用程式工作流程。
請依 照一般步驟 ,為你的情境新增適當的 Microsoft Dataverse 觸發器。
此範例繼續使用名為「新增、修改或刪除資料列時」的觸發程式。
在提示下,登入您的 Dataverse 環境或資料庫。
在觸發資訊框中,提供必要的參數值。
下列範例顯示範例觸發條件:
完成後,請儲存您的工作流程。 在設計師工具列上選取儲存。
現在,為您的工作流程新增至少一個動作,以便在觸發器觸發時執行。
例如,您可以新增 Dataverse 動作或根據觸發程式輸出傳送電子郵件的動作。
新增 Dataverse 動作
在 Azure 入口網站中,在設計工具中開啟您的邏輯應用程式工作流程。
請依 照一般步驟 ,為您的情境新增適當的 Microsoft Dataverse 行動。
此範例繼續使用名為 「新增列」的動作。
在提示下,登入您的 Dataverse 環境或資料庫。
在動作資訊框中,提供必要的參數值。
下列範例顯示範例動作:
完成後,請儲存您的工作流程。 在設計師工具列上選取儲存。
如果你想,可以加更多動作。
測試工作流程
若要執行工作流程,請遵循下列步驟:
在設計工具工具列上,選取 [執行>執行]。
重現觸發程序執行工作流程所需的條件。
根據過濾條件傳回資料列
對於回傳列的動作,例如 列表列動作 ,請使用 ODATA 查詢,根據指定的篩選條件回傳列。 例如,設定只傳回作用中帳戶資料列的動作。
如需詳細資訊,請參閱下列文件:
根據排序順序返回資料列
對於回傳列的動作,例如 列表列動作 ,請使用 ODATA 查詢以特定序列回傳列。 順序會根據動作回傳的列而有所不同。 例如,您可以設定動作以傳回依帳戶名稱組織的資料列。
如需詳細資訊,請參閱下列文件:
欄位資料類型
在觸發程序或動作中,欄位值的資料類型必須符合欄位的必要資料類型。 無論您手動輸入值,還是從動態內容清單中選取值,此需求都適用。
例如,假設您有一個名為 Tasks 的資料表。 此表格具有僅適用於該表格的欄位,而其他表格則有自己的欄位。 對於範例 [工作] 資料表,下表說明一些範例欄位類型,以及這些欄位值所需的資料類型。
| 領域 | 數據類型 | Description |
|---|---|---|
| 文字欄位 | 單行文字 | 需要單行文字或具有文字資料類型的動態內容,例如下列屬性: - 描述 - 類別 |
| 整數欄位 | 整數 | 需要具有整數資料類型的整數或動態內容,例如,這些屬性: - 完成百分比 - 期間 |
| 日期欄位 | 日期和時間 | 需要以 MM/DD/YYYY 格式的日期,或包含日期資料型別的動態內容,例如以下屬性: - 建立時間 - 開始日期 - 實際開始 - 實際結束 - 截止日期 |
| 參考另一個實體資料列的欄位 | 主要金鑰 | 需要資料列識別碼 (例如 GUID) 和查閱類型,這表示動態內容清單中的值無法運作,例如下列屬性: - 擁有者:必須是有效的使用者 ID 或團隊列 ID。 - 擁有者類型:必須是查閱類型,例如分別是 systemusers 或 teams。 - 相關:必須是有效的資料列識別碼,例如帳戶識別碼或連絡人資料列識別碼。 - 相關類型:必須是查閱類型,例如分別是 accounts 或 contacts。 - 客戶:必須是有效的資料列 ID,例如帳戶 ID 或連絡人資料列 ID。 - 客戶型別:必須是查閱型別,例如 accounts 或 contacts。 |
對於範例 [工作] 資料表,假設您使用 [新增資料列 ] 動作來建立與其他實體資料列相關聯的新資料列,特別是使用者資料列和帳戶資料列。 因此,在此動作中,您必須使用符合相關內容預期資料類型的值,指定這些實體資料列的識別碼和查閱類型。
根據Owner 屬性所指定的使用者 ID,及Owner Type 屬性所指定的
systemusers查詢類型,該動作會將新列與特定使用者相關聯。根據指定資料列識別碼的 「相關」 屬性,以及指定查閱類型的 「相關類型」
accounts,動作會將新資料列與特定帳戶連結。
產生的動作如下所示:
疑難排解問題
來自多個環境的呼叫
Dataverse 連接器會儲存邏輯應用程式工作流程的相關資訊,這些工作流程會使用 Dataverse 資料庫中的 callbackregistrations 實體來取得和要求有關資料庫實體變更的通知。 如果您複製一個 Dataverse 組織,所有的 webhooks 會自動被複製。 如果您在停用對應到您組織的工作流程前複製組織,任何複製的 Webhook 都會指向相同的邏輯應用程式工作流程。 這些工作流程接著會收到多個組織的通知。
若要停止不需要的通知,請遵循下列步驟,從傳送這些通知的組織中刪除 callbackregistrations 實體:
識別並登入您要從中移除通知的 Dataverse 組織。
在 Chrome 瀏覽器中,找出您要刪除的回呼註冊項。
檢閱下列 OData URI 提供的所有回撥註冊一般清單,以便檢視
callbackregistrations實體內的資料:https://{organization-name}.crm{instance-number}.dynamics.com/api/data/v9.0/callbackregistrations:備註
如果未傳回任何值,您可能沒有檢視此實體類型的權限,或您可能尚未登入正確的組織。
篩選觸發實體的邏輯名稱
entityname,以及符合邏輯應用程式工作流程的通知事件 (訊息)。 每個事件類型都會對映至訊息整數,如下所示:事件類型 訊息整數 Create 1 刪除 2 Update 3 建立或更新 4 建立或刪除 5 更新或刪除 6 創建或更新或刪除 7 下列範例示範如何使用範例組織的下列 OData URI,針對名為
Create的實體篩選nov_validation通知:https://fabrikam-preprod.crm1.dynamics.com/api/data/v9.0/callbackregistrations?$filter=entityname eq 'nov_validation' and message eq 1備註
如果相同實體或事件存在多個觸發程序,您可以使用其他篩選器 (例如 和
createdon_owninguser_value屬性) 來篩選清單。 擁有者使用者的名稱會顯示在/api/data/v9.0/systemusers({id})下。找到要刪除的回撥註冊 ID 後,請遵循下列步驟:
在 Chrome 瀏覽器中,開啟 Chrome 開發人員工具 (鍵盤:F12)。
在視窗頂端,選取 [主控台] 索引標籤。
在命令列提示字元上,輸入下列命令,以傳送刪除指定回呼註冊的要求:
fetch('http://{organization-name}.crm{instance-number}.dynamics.com/api/data/v9.0/callbackregistrations({ID-to-delete})', { method: 'DELETE'})這很重要
請確定您從非統一用戶端介面 (UCI) 頁面提出要求,例如,從 OData 或 API 回應頁面本身。 否則,app.js 檔案中的邏輯可能會干擾此作業。
若要確認回撥註冊不再存在,請檢查回撥註冊清單。
重複的 'callbackregistrations' 實體
在標準工作流程中,在特定條件下,例如實例重新配置或應用程式重新啟動,Microsoft Dataverse 觸發器會啟動重複執行。 這個重複執行會在你的 Dataverse 資料庫中建立一個重複 callbackregistrations 實體。 如果您編輯以 Dataverse 觸發程序開頭的標準工作流程,請檢查此 callbackregistrations 實體是否重複。 如果重複實體存在,請手動刪除重複 callbackregistrations 實體。