w tym artykule dowiesz się, jak uzyskać dokumenty z dokumentu SharePoint library.In w tym przykładzie raz w miesiącu archiwizujemy dokumenty utworzone w ciągu ostatnich 30 dni w SharePoint za pomocą usługi Power Automate (Microsoft Flow).Użyjemy Get SharePoint Items By CAML Query action z plumsail SharePoint connector.
Załóżmy, że mamy folder w SharePoint z dokumentami i chcemy archiwizować tylko te, które zostały utworzone w ciągu ostatnich 30 dni, chcemy również zaplanować ten przepływ, aby działał co miesiąc.Możesz również użyć tej operacji do pracy z listami i elementami.
możesz użyć wyzwalacza w przepływie zamiast uruchamiać przepływ z określonym czasem, na przykład standardowe wyzwalacze SharePoint lub Outlook.
być może zauważyłeś ten błąd w MS Flow: „pole 'FieldName’ nie jest obsługiwane w zapytaniu. Lista wyszukiwania znajduje się w innej sieci”. W tej chwili MS flow ulega awarii podczas próby zapytania elementów listy z wyszukiwaniem między witrynami.Istnieją również inne ograniczenia dotyczące odczytywania niektórych pól za pomocą standardowej akcji MS flow, która wykorzystuje REST.In ten przypadek, nasze działanie, które pozwala uzyskać przedmioty przez zapytanie CAML działa lepiej.
Create power Automate (Microsoft Flow)¶
teraz przejrzyjmy przepływ i dowiedz się, jak jest on zaimplementowany:
WYZWALACZ przepływu¶
używamy wyzwalacza powtarzania, aby uruchomić przepływ raz w miesiącu.
Get SharePoint Items By CAML Query jest akcją ze złącza SharePoint Plumsail. Możesz go użyć, aby uzyskać różne informacje o przedmiotach lub dokumentach za pomocą zapytania CAML.
w tym zapytaniu CAML otrzymujemy dokumenty, które zostały utworzone w ciągu ostatnich 30 dni, a także otrzymujemy pole „FileRef” z tych dokumentów, które będziemy używać później w przepływie.
przejrzyjmy zapytanie w szczegółach. Używamy warunku < Geq>, co oznacza „wielki lub równy”. Następnie otrzymujemy” utworzone ” pole każdego dokumentu.Następnie otrzymujemy dzisiejszą datę i dokonujemy przesunięcia na 30 dni wstecz. Zapytanie porównuje te daty i otrzymuje wszystkie dokumenty, które pasują do powyższych warunków.
„FileRef” przechowuje względną ścieżkę do pliku. Będziemy potrzebować tej ścieżki później w przepływie. Musimy określić pole, które chcemy otrzymać pomiędzy znacznikiem <ViewFields>, abyśmy mogli użyć go jako zmiennej.
<View Scope="RecursiveAll"><Query> <Where> <Geq> <FieldRef Name='Created' /> <Value Type='DateTime'> <Today Offset='-30' /> </Value> </Geq> </Where></Query><ViewFields> <FieldRef Name="FileRef"/></ViewFields></View>
teraz musimy skopiować dokumenty, o których otrzymaliśmy informacje. Używamy akcji Copy SharePoint Document from Library z Plumsail SharePoint connector.
iterujemy wszystkie elementy z poprzedniej akcji w cyklu i kopiujemy je do folderu „Archive” w naszym SharePoint.Zwróć uwagę, jak używamy zmiennej „FileRef”, która automatycznie określa względną ścieżkę do bieżącego dokumentu.
wnioski¶
teraz powinieneś mieć pomysł, jak używać Get SharePoint Items By CAML Query action z Plumsail SharePoint connector for Power Automate (Microsoft Flow).Jeśli jeszcze z niego nie korzystałeś, pierwszym krokiem będzie rejestracja konta. Rozpoczęcie pracy jest dość łatwe.