やりたいこと
特定のSharePointライブラリ内で、ファイルを検索したい。
Power AutomateかLogic Appsで実装します。
使用するアクション
SharePointコネクタの「ファイルの取得(プロパティのみ)」アクションを使います。
フィルターをかける
フィルター画面の追加
「Add new parameters」ボタンからフィルタークエリ入力画面を追加します。
フィルターの書き方
フィルターの書き方はOData フィルター クエリで記載します。
等しい値を探すには Eq
、等しくない値を探すには Ne
を使います。
フィルターオプションは ODataのドキュメント(4.5. Filter System Query Option) に記載されています。
ODataバージョンは3が利用されています。
フィルターで使用するファイル名等
ファイル名等は下記のものをクエリで使用可能です。
フィルターで使用するときの名称 | 説明 | 例 |
---|---|---|
FileLeafRef | 拡張子を含めたファイル名 | ExampleFile.docx |
FileRef | サーバー相対パスを含めたファイル名 | sites/Playground/Shared Documents/20201231/ExampleFile.docx |
File_x0020_Type | ファイルタイプ | docx |
やってみる
とある案件コードから始まるファイルを探そうと思います。
startswith
を使ったところ期待通りの結果を得ることができました。
注意
- ファイルを探しに行っているドキュメントライブラリにアイテムが5000件以上存在する場合は、ファイルが見つからない場合があるそうです。
参考
ODataバージョン
SharePointのフィルターで使用しているODataバージョンは2023/5時点でversion3になります。
Version4では「○○を含む」のような contains
を使えますが、今のところSharePointでは利用できません。
参考リンク
SharePoint - Connectors | Microsoft Learn
Power Automate to filter files in SharePoint by file name
URI Conventions (OData Version 2.0) · OData - the Best Way to REST