在流程中使用資料列清單
使用清單資料列動作可透過結構化查詢從 Microsoft Dataverse 中一次擷取多個資料列。
取得資料列清單
按照以下步驟,將清單資料列動作新增至流程中,以從 Dataverse 中的帳戶資料表傳回多達 5000 個帳戶。
注意
- 選取加號 (+) >新增動作。
- 在新增動作畫面的搜尋欄位中輸入列出資料列。
- 在 Microsoft Dataverse 底下,選取列出資料列 (預覽版)。
- 在左邊的參數索引標籤中,選取資料表名稱下拉式功能表中的帳戶。
- 選取 (<<) 以關閉畫面。
打開分頁以要求超過 5000 個資料列
若要自動從查詢中取得 5,000 個以上的資料列,請開啟設定中的分頁功能。
當頁碼標註已設定且列數超過設定的閾值時,回覆將不包括 @odata nextLink 參數來要求下一組列。 關閉頁碼標註,這樣回覆將包含 @odata nextLink 參數,以用來要求下一組列。 請移至跳過權杖來了解使用方法。
這將套用內容輸送量限制和訊息大小限制以確保提供一般服務保證。
選取列出資料列卡片。
在左側窗格中,選取設定索引標籤>網路。
如果尚未開啟分頁滑桿,請將其移至開啟位置。
在閾值中,輸入要求的最大列數。 最大可設定的閾值為 100,000。
在內部,此數字以預設頁面大小的增量四捨五入。 例如,如果該頁面大小為 5,000,而您輸入 7,000,則傳回的資料列數為 10,000。
進階選項
清單資料列動作的進階選項可讓您排序、篩選、排列及擴充查詢結果。
選取資料行
輸入要傳回的資料行清單 (以逗號分隔),例如帳戶資料表的 "name,createdon,preferredcontactmethodcode,emailaddress1,telephone1"。
篩選資料列
用於定義 OData 樣式的篩選運算式,以縮小 Dataverse 傳回的資料列集,例如對於 createdon 大於或等於 2021 年的資料列,為 "createdon ge 2021-01-01T00:00:00-00:00"。
某些字元,例如 &、# 和 + 需要替換為其 URL 編碼的等效字元。 詳細資訊:URL 編碼特殊字元
重要
篩選運算式不能包含 $filter= 字串,因其僅適用於直接使用 API 的時候。
排序方式
用於定義 OData 樣式的運算式,該運算式定義傳回項目的順序,例如 "name desc"。 分別使用 asc 或 desc 尾碼指示遞增或遞減順序。 預設順序為遞增。
展開查詢
用於指定 OData 樣式的運算式,該運算式定義 Dataverse 從相關資料表傳回的資料,例如 primarycontactid($select=contactid,fullname)
,以使用帳戶的 primarycontactid 來擷取回覆中識別碼為 contactid 的相關連絡人全名資料行。
您可以在展開查詢中使用兩種類型的導覽屬性:
單一值導覽屬性對應查詢資料行,支援多對一關聯並可讓您設定另一個資料表的參照。
集合值導覽屬性對應至一對多或多對多關聯。
如果您僅包含導覽屬性的名稱,則會收到相關資料列的所有屬性。 若要了解更多資訊,請參閱使用查詢擷取相關資料表資料列。
若要在流程步驟中使用,請在展開查詢欄位 primarycontactid(contactid,fullname)
輸入此 Odata 運算式。 這就是取得每個帳戶primarycontactid 的 contactid 和 fullname資料行的方法。
資料列計數
用於表示 Dataverse 要傳回的特定資料列數。 以下範例顯示如何要求 10 個資料列。
擷取 Xml 查詢
將列出資料列動作與 FetchXML 查詢結合使用時,目前不支援彙總查詢。 但是,支援 distinct 運算子。
使用 Dataverse 樣式 FetchXML 查詢,讓您在建立自訂查詢時更具有靈活性。 當您使用具有多個相關資料表的資料表或處理分頁時,這些查詢可能很有用。 以下螢幕擷取畫面顯示如何使用 FetchXML。
帳戶資料表的 FetchXML 查詢範例:
<fetch count="10">
<entity name="account">
<attribute name="name" />
<attribute name="preferredcontactmethodcode" />
<attribute name="emailaddress1" />
<attribute name="telephone1" />
<link-entity name="contact" to="primarycontactid" from="contactid">
<attribute name="fullname" />
</link-entity>
<filter>
<condition attribute="createdon" operator="ge" value="2021-01-01T00:00:00-00:00" />
</filter>
<order attribute="name" descending="true" />
</entity>
</fetch>
因為目前不會從清單列動作的 FetchXML 查詢中直接支援獨立運算子,所以 union 函數可以用來移除重複的列。 例如,您可以使用選取動作,將清單列的回應轉換為您所需的特定陣列格式,然後建立一個帶有運算式 union(body(‘Select’),body(‘Select’)) 的變數,以取得含有獨特列的陣列。
跳過權杖
由於 Power Automate 會套用 內容輸送量限制和郵件大小限制,來確保一般服務保證,因此使用分頁來批次傳回較少量的資料列通常很有用,而不是使用預設的傳回資料表資料列的數量限制。
如果您不使用分頁,則會套用 5000 列的預設頁面限制。
若要使用,請執行迴圈以剖析 JSON 回覆中的 @odata.nextLink 值、擷取跳過權杖,然後傳送其他要求,直到您已列出所需的列數為止。
HTTP/1.1 200 OK
Content-Type: application/json; odata.metadata=minimal
OData-Version: 4.0
Content-Length: 402
Preference-Applied: odata.maxpagesize=3
{
"@odata.context":"[Organization URI]/api/data/v9.1/$metadata#accounts(name)",
"value":[
{
"@odata.etag":"W/\"437194\"",
"name":"Fourth Coffee (sample)",
"accountid":"7d51925c-cde2-e411-80db-00155d2a68cb"
},
{
"@odata.etag":"W/\"437195\"",
"name":"Litware, Inc. (sample)",
"accountid":"7f51925c-cde2-e411-80db-00155d2a68cb"
},
{
"@odata.etag":"W/\"468026\"",
"name":"Adventure Works (sample)",
"accountid":"8151925c-cde2-e411-80db-00155d2a68cb"
}
],
"@odata.nextLink":"[Organization URI]/api/data/v9.1/accounts?$select=name&$skiptoken=%3Ccookie%20pagenumber=%222%22%20pagingcookie=%22%253ccookie%2520page%253d%25221%2522%253e%253caccountid%2520last%253d%2522%257b8151925C-CDE2-E411-80DB-00155D2A68CB%257d%2522%2520first%253d%2522%257b7D51925C-CDE2-E411-80DB-00155D2A68CB%257d%2522%2520%252f%253e%253c%252fcookie%253e%22%20/%3E"
}
分割識別碼
用於在擷取 NoSQL 資料表的資料時指定 partitionId 的選項。 如要深入了解,請參閱存取資料表資料時使用儲存分頁提高效能。