在流中使用行列表

使用列出行操作以通过结构化查询一次从 Microsoft Dataverse 检索多个行。

获取行列表

请按照以下步骤将列出行操作添加到流中,以从 Dataverse 内的帐户表中返回最多 5000 个帐户

备注

Power Automate 使用经典云端流设计器或带有 Copilot 的云端流设计器。 要确定您使用的是哪种设计器,请转至了解具有助手功能的云端流设计器中的注释部分。

  1. 选择新建步骤以向您的流中添加操作。
  2. 选择操作卡上的搜索连接器和操作搜索框中输入列表行
  3. 选择 Microsoft Dataverse 筛选搜索结果,以仅显示 Microsoft Dataverse 的操作和触发器。
  4. 选择列出行
  5. 表名称列表中选择客户表。
  6. 保存并运行流,以确认返回的行数不超过 5,000 行。

打开分页以请求超过 5000 行

要从查询中自动获取超过 5,000 行,请从设置中打开分页功能。

当设置分页并且行数超过配置的阈值时,响应将不包含 @odata.nextLink 参数,因此无法请求下一组行。 关闭分页,以便响应包含可用于请求下一组行的 @odata.nextLink 参数。 转到跳过标记以了解如何使用它。

应用内容吞吐量限制消息大小限制以确保常规服务保证。

  1. 列出行卡的右上角,选择菜单 (...)。

  2. 选择设置

  3. 如果分页滑块尚未打开,请将其移动到位置。

  4. 阈值中,输入请求的最大行数。 可配置的最大阈值为 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”。 分别使用 ascdesc 后缀表示升序或降序。 默认顺序是升序。

展开查询

用于指定 OData 样式的表达式,该表达式定义Dataverse从相关表中返回的数据,例如 primarycontactid($select=contactid,fullname) 使用帐户的 primarycontactid 从响应中 ID 为 contactid 的相关联系人中检索 fullname 列。

您可以在展开查询中使用两种类型的导航属性:

  1. 单值导航属性与支持多对一关系并允许您设置对另一个表的引用的查找列相对应。

  2. 集合值导航属性与一对多或多对多关系相对应。

如果仅包含导航属性的名称,您将收到相关行的所有属性。 要了解详细信息,请参阅使用查询检索相关表行

要在流步骤中使用,请在扩展查询字段primarycontactid(contactid,fullname)中输入此 Odata 表达式。 这就是如何获取每个帐户primarycontactidcontactidfullname 列。

行计数

用于指示 Dataverse 返回的特定行数。 这是一个显示如何请求 10 行的示例。

Fetch Xml 查询

对 FetchXML 查询使用列表行操作时,当前不支持聚合查询。 但是,支持不同运算符。

请使用 Dataverse 样式的 FetchXML 查询,它可以在构建自定义查询时提供更多灵活性。 当您使用具有多个相关表的表或处理分页时,这些查询可能很有用。 下面的屏幕截图显示了如何使用 FetchXML。

获取 Xml 查询字段中键入以下内容。

使用 FetchXML 列出客户示例。

由于“列出行”操作的 FetchXML 查询目前不直接支持 Distinct 运算符,union 函数可用于删除重复行。 例如,您可以使用选择操作将“列出行”连接的响应转换为您需要的特定数组格式,然后使用表达式 union(body(‘Select’),body(‘Select’)) 创建一个变量来获取包含不同行的数组。

跳过标记

由于 Power Automate 应用内容吞吐量限制消息大小限制来确保一般服务保证,因此在使用分页批量返回较少数量的行时通常很有用,而不是默认的返回的表行数量限制

如果您不使用分页,将适用 5,000 行默认页面限制。

要使用,请实现一个循环来分析 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"
}

分区 ID

用于在检索 NoSQL 表的数据时指定 partitionId 的选项。 若要了解详细信息,请参阅访问表数据时使用存储分区提高性能