행 나열 작업을 사용하여 구조화된 쿼리를 통해 Microsoft Dataverse에서 한 번에 여러 행을 검색합니다.
행 목록 가져오기
다음 단계에 따라 흐름에 행 나열 작업을 추가하여 Dataverse의 계정 테이블에서 최대 5000개의 계정을 반환합니다.
Power Automate를 사용하면 새 디자이너 또는 클래식 디자이너를 사용하여 클라우드 흐름을 구성할 수 있습니다. 두 디자이너 모두에서 단계는 비슷합니다. 새 디자이너와 클래식 디자이너의 차이점 파악에서 자세히 알아보세요(예시 포함).
- 더하기 기호(+) >작업 추가를 선택합니다.
- 작업 추가 화면의 검색필드에 행 나열을 입력합니다.
- Microsoft Dataverse에서 행 나열(프리뷰)을 선택합니다.
- 왼쪽에 있는 매개 변수 탭의 테이블 이름 드롭다운 메뉴에서 계정을 선택합니다.
- 선택하여 화면을 닫습니다(<<).
페이지 매김을 켜서 5000개 이상의 행을 요청합니다.
쿼리에서 자동으로 5,000개 이상의 행을 가져오려면 설정에서 페이지 매김 기능을 켭니다.
페이지 매김이 설정되고 행 수가 구성된 임계값 수를 초과하면 다음 행 집합을 요청하기 위한 @odata.nextLink 매개 변수가 응답에 포함되지 않습니다. 응답에 다음 행 집합을 요청하는 데 사용할 수 있는 @odata.nextLink 매개 변수가 포함되도록 페이지 매김을 끕니다. 사용 방법을 알아보려면 토큰 건너뛰기로 이동하세요.
일반적인 서비스 보장을 위해 콘텐츠 처리량 제한 및 메시지 크기 제한을 적용합니다.
행 나열 카드를 선택합니다.
왼쪽 창에서 설정 탭 >네트워킹을 선택합니다.
페이지 매김 슬라이더가 아직 켜져 있지 않은 경우 On 위치로 이동합니다.
임계값에 요청된 최대 행 수를 입력합니다. 구성 가능한 최대 임계값은 100,000입니다.
내부적으로 이 숫자는 기본 페이지 크기의 증분으로 반올림됩니다. 예를 들어 해당 페이지 크기가 5,000이고 7,000을 입력하면 반환되는 행의 수는 10,000입니다.
고급 옵션
행 나열 작업에 대한 고급 옵션을 사용하면 쿼리 결과를 정렬, 필터링, 배열 및 확장할 수 있습니다.
작업 구성 창에서 옵션을 설정할 수 있습니다.
옵션을 보려면 행 나열 카드를 선택하세요.
매개 변수 탭의 새 매개 변수 추가 드롭다운 메뉴에서 고급 옵션을 선택합니다.
열 선택
계정 테이블에 대해 "name,createdon,preferredcontactmethodcode,emailaddress1,telephone1"과 같이 반환할 열의 쉼표로 구분된 목록을 입력합니다.
행 필터
"createdon ge 2021-01-01T00:00:00-00:00"과 같이createdon이 2021년이거나 그 이상인 행에 대하여 Dataverse가 반환하는 행 집합의 범위를 좁히기 위해 OData 스타일 필터 표현식을 정의하는 데 사용합니다.
표준 필터 연산자 및 쿼리 함수를 사용하여 필터 쿼리 식을 구성하는 방법을 알아봅니다.
&, # 및 +와 같은 특정 문자는 URL로 인코딩된 해당 문자로 바꿔야 합니다. 추가 정보: URL 인코딩 특수 문자
중요
필터 식은 이 문자열 $filter=을 포함할 수 없습니다. 이는 API를 직접 사용할 때만 적용되기 때문입니다.
정렬 기준
"name desc"와 같이 항목이 반환되는 순서를 정의하는 OData 스타일 표현식을 정의하는 데 사용합니다. asc 또는 desc 접미사를 사용하여 각각 오름차순 또는 내림차순을 나타냅니다. 기본 순서는 오름차순입니다.
쿼리 확장
Dataverse가 관련 테이블에서 반환하는 데이터를 정의하는 OData 스타일 표현식을 지정하는 데 사용합니다(예: 계정의 primarycontactid를 사용하여 ID가 contactid인 관련 연락처에서 fullname 열을 검색하는 primarycontactid($select=contactid,fullname)).
다음에서 사용할 수있는 두 가지 유형의 탐색 속성이 있습니다. 쿼리 확장:
단일 값 탐색 속성은 다대일 관계를 지원하고 다른 테이블에 대한 참조를 설정할 수 있는 조회 열에 해당합니다.
컬렉션 값 탐색 속성은 일대다 또는 다대다 관계에 해당합니다.
탐색 속성의 이름만 포함하면 관련 행에 대한 모든 속성을 받게 됩니다. 자세한 내용은 쿼리를 사용하여 관련 테이블 행 검색을 참조하세요.
흐름 단계에서 이를 사용하려면 확장 쿼리 필드에 이 Odata 표현식 primarycontactid(contactid,fullname)을 입력합니다. 이는 각 계정의 primarycontactid에 대한 contactid 및 fullname 열을 가져오는 방법을 보여줍니다.
행 수
반환할 Dataverse에 대한 특정 행 수를 나타내는 데 사용합니다. 다음은 10개의 행을 요청하는 방법을 보여주는 예입니다.
XML 쿼리 가져오기
집계 쿼리는 현재 FetchXML 쿼리와 함께 행 나열 작업을 사용할 때 지원되지 않습니다. 그러나 다른 연산자는 지원됩니다.
사용자 지정 쿼리를 작성할 때 더 많은 유연성을 제공하는 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 쿼리에서 행 목록 작업의 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를 지정하는 옵션입니다. 자세한 내용은 테이블 데이터에 액세스할 때 스토리지 파티션을 사용하여 성능 향상을 참조하십시오.