如何在 Azure Logic App "Get Files" 操作中为路径执行 OData 查询筛选器?

How to do a OData query filter for a path in the Azure Logic App "Get Files" action?

“获取文件(仅限属性)”操作正在返回 SharePoint 文档库特定目录中所有文件的属性。在检查输出时,我看到 ODATA json 是一个字段:

"{Path}":"Report/xxx/Finalized_Reports/2014/2014_01/"

使用此过滤器查询设置: 我收到此警告:

{
"status": 400,
"message": "Column 'Path' does not exist. It may have been deleted by another user."
}

如果我这样做 substringof('text', {Path}) 错误是

{
"status": 400,
"The expression \"substringof('test', {Path})\" is not valid. Creating query failed."
}

substringof('test', ''{Path}'' 也给我“表达式无效”错误。

substringof('test', '{Path}') 这给了我这个错误

{
  "status": 400,
  "message": "The function operator 'substringof' is not supported or its usage is invalid."
}

如果我susbstringof('text', Author)查询不会失败。所以,这个功能好像是支持的。

目前 SharePoint Online 连接器不支持 OData 过滤器。但是我们可以通过其他解决方案来实现您的要求,我在下面提供了一个示例供您参考。

我们可以先使用“获取文件(仅限属性)”,然后使用“Filter array”进行过滤。

上面截图中item()的表达式为:

item()?['{Path}']

对不起,我不得不收回我对答案的决定。 同时我找到了解决方案:可以传递的参数不是这个动作的历史输出link中看到的参数。您必须传递的参数是 SharePoint 文档库的 internal field names

正确的过滤器查询是这样的:

substringof('test',FileLeafRef)