[Power Automate] SharePoint list の item を全削除する


はじめに

ファイル管理のために Power Automate を使ってみましたが、いろんな Q&A サイトやブログを検索しながらかなりの試行錯誤してしまったので、備忘録として調べた内容をまとめておきます。他に良い方法などあれば教えてください。

SharePoint list の item を全削除する flow

まずは全体像から。Get items で list のアイテムを読み込んで、Apply to each で 1 つずつ Delete Item で削除します。なんとなく効率が悪い気がするが・・。

変数定義(オプション)

削除した個数を後で確認できるように変数を定義するのも良し。削除されるたびに Increment variable で値を 1 ずつ増やすことにします。

Get items

Site Address と List Name を指定するだけ。これはドロップダウンメニューで出てくるので簡単。それぞれ変数で定義することも可能。

最大取得可能数

どうやらデフォルトでは 100 までしか取得しないとの情報もあり。右上の [・・・] から Settings を選んで、Pagination を On にし、Threshold を設定します。5000 以上の値は設定できないとの情報もあり。

Apply to each からの Delete item

ここも Get items と同様、Site Address と List Name を指定する。Get item との設定違いが発生しないように、それぞれ変数で定義したほうが分かりやすいかも。また、value と ID を選択していますが、それぞれ Dynamic Content から選択するだけ。

処理が複雑になって Action 数が増えてくると Dynamics Content の一覧に表示が出てこない・・など発生することがありました。その時は Expression 側で設定も可能。例えば今回のケースだと value と ID はそれぞれ

また、value と ID を選択していますが、それぞれ Dynamic Content から選択するだけ。

outputs('Get_items')?['body/value']
items('Apply_to_each')?['ID']

() の中身は各アクションの名前、そして [] 内にプロパティ名を入れる感じです。

参考にしたサイト