Споделяне чрез


Използване на списъци с редове в потоци

Използвайте действието Списък редове , за да извлечете няколко реда наведнъж от Microsoft Dataverse структурирана заявка.

Получаване на списък с редове

Следвайте тези стъпки, за да добавите действието Редове за списък към потока си, за да върнете до 5,000 акаунта от таблицата Акаунти . Dataverse

Бележка

Power Automate използва или класическия дизайнер на облачни потоци, или дизайнера на облачни потоци с Copilot. За да определите кой дизайнер използвате, отидете в секцията Бележка в Разбиране на дизайнера на облачни потоци с възможности за втори пилот.

  1. Изберете Нова стъпка , за да добавите действие към потока си.
  2. Въведете редове от списък в полето за търсене на конектори за търсене и действия в картата Избор на операция .
  3. Изберете Microsoft Dataverse , за да филтрирате резултатите от търсенето, за да се показват само действия и тригери за. Microsoft Dataverse
  4. Изберете Списъчни редове.
  5. Изберете таблицата Сметки от списъка Име на таблица.
  6. Запишете и стартирайте потока си, за да потвърдите, че не са върнати повече от 5,000 реда.

Включете пагинацията, за да заявите повече от 5 000 реда

За да получите автоматично повече от 5 000 реда от заявка, включете функцията за страниране от Настройки.

Когато пагинацията е зададена и броят на редовете надвишава този брой от конфигурирания праг, отговор няма да включва параметъра @odata.nextLink за заявка за следващия набор от редове. Изключете пагинацията, така че отговор да включва параметъра @odata.nextLink , който може да се използва за заявяване на следващия набор от редове. Отидете на Пропускане на токена , за да научите как да го използвате.

Ограниченията за трафик на съдържание и размера на съобщенията се прилагат, за да се осигурят общи гаранции за обслужване.

  1. В горния десен ъгъл на картата Списъчни редове изберете менюто (...).

  2. Изберете Настройки.

  3. Преместете плъзгача за пагинация в позиция Включено , ако все още не е включен.

  4. В Праг въведете максималния брой заявени редове. Максималният конфигурируем праг е 100 000.

    Вътрешно това число се закръглява на стъпки от размера на страницата по подразбиране. Например, ако този размер на страницата е 5 000 и въведете 7 000, броят на върнатите редове е 10 000.

Разширени опции

Разширените опции за действието Редове на списък ви позволяват да сортирате, филтрирате, подреждате и разширявате резултатите от заявка.

Можете да зададете разширени опции директно в картата Списъчни редове . За да видите опциите, изберете Показване на разширените опции. Когато го изберете, името се променя на Скриване на разширените опции.

Екранна снимка на разширените опции в картата Списъчни редове.

Изберете колони

Въведете списък със колони, разделени със запетаи, които да върнете, като например "име,създадено,предпочитан контактен код,имейладрес1,телефон1" за таблицата Акаунт.

Филтриране на редовете

Използвайте за дефиниране на израз на филтър в стил OData, за да стесните набора от редове, които Dataverse връщат, като например "createdon ge 2021-01-01T00:00:00-00:00" за редове с createdon , по-голям или равен на годината 2021.

Научете как да използвате стандартни оператори за филтриране и функции за заявки за създаване на изрази на заявка за филтриране.

Някои знаци, като &, #, и + трябва да бъдат заменени с техния еквивалент, кодиран в URL адрес. Повече информация: URL кодиране на специални знаци

Важно

Филтърните изрази не могат да съдържат този низ, $filter=, тъй като той се прилага само когато използвате API директно.

Сортиране по

Използвайте, за да дефинирате израз в стил OData, който определя реда, в който се връщат елементите, като например "name desc". Използвайте наставката asc или desc , за да посочите съответно възходящ или низходящ ред. Редът по подразбиране е възходящ.

Разгъване на заявката

Използвайте, за да зададете израз в стил OData, който дефинира данните, които Dataverse се връщат от свързаните таблици, като например primarycontactid($select=contactid,fullname) да използвате primarycontactid на акаунта, за да извлечете колоната с пълно име от свързания контакт с идентификатор contactid в отговора.

Има два типа свойства за навигация, които можете да използвате в Expand Query:

  1. Еднозначните свойства за навигация съответстват на търсещи колони, които поддържат релации "много към едно" и ви позволяват да зададете препратка към друга таблица.

  2. Свойствата за навигация със стойност на колекцията съответстват на релации "един към много" или "много към много".

Ако включите само името на свойството за навигация, ще получите всички свойства за свързаните редове. За да научите повече, вижте Извличане на свързани редове на таблица със заявка.

За да го използвате в стъпка на поток, въведете този израз Odata в полето Разгъване на заявката : primarycontactid(contactid,fullname). Ето как да получите колоните contactid и пълно име за основния contactid на всеки акаунт .

Брой редове

Използвайте, за да посочите конкретния брой редове за Dataverse връщане. Ето пример, който показва как да заявите 10 реда.

Fetch XML заявка

Заявките за агрегиране в момента не се поддържат, когато използвате действието Списъчни редове със FetchXML заявки. Поддържа се обаче отделният оператор.

Използвайте заявка Dataverse в стил FetchXML А, която позволява по-голяма гъвкавост при изграждането на персонализирани заявки. Тези заявки могат да бъдат полезни, когато работите с таблица, която има множество свързани таблици, или когато обработвате пагинация. Следващата екранна снимка показва как да използвате FetchXML.

Въведете следното в полето Извличане на XML заявка .

Списък акаунти пример с FetchXML.

Тъй като операторът отделен в момента не се поддържа директно в FetchXML заявки от действието Списък редове, функцията за обединяване може да се използва за премахване на дублиращи се редове. Например, можете да използвате действието Избор , за да трансформирате отговора на връзката на редовете на списъка в конкретния формат на масива, от който се нуждаете, след което да създадете променлива с израза union(body('Select'),body('Select'))), за да получите масив с различни редове.

Маркер за пропускане

Тъй като Power Automate се прилагат ограничения за трафик на съдържание и ограничения за размера на съобщенията, за да се гарантират общи гаранции за обслужване, често е полезно да се използва пагинация , за да се върне по-малък брой редове в партида, а не ограниченията по подразбиране за броя на върнатите редове в таблицата.

Ограничението за страници по подразбиране от 5,000 реда се прилага, ако не използвате страниране.

За да го използвате, имплементирайте цикъл за анализиране на стойността @odata.nextLink в JSON отговор, извлечете маркера за пропускане и след това изпратете друга заявка, докато не изброите броя на редовете, от които се нуждаете.

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"
}

ИД на дял

Опция, указваща partitionId при извличането на данни за таблици от NoSQL. За да научите повече, вижте Подобряване на производителността с помощта на дялове за съхранение при достъп до данни от таблица.