如何使用 .NET AWS SDK 在从 AWS S3 检索时筛选、模式匹配文件



使用 ListObjects 请求 (.NET AWS SDK) 时,有没有办法只列出键与给定模式匹配的文件?或者,更广泛地说,有没有办法使用 .NET AWS 开发工具包中的任何请求类型根据密钥从S3查询文件?

我知道 AWS CLI 上可用的--query参数,但我无法在 .NET 上找到等效的方法。

我正在寻找一种运行查询服务器端的方法,以便ListObjects返回一组模式匹配的键。我想避免检索所有文件and then过滤它们。

AWS CLI 使用 JMESPath 作为查询表达式。有一个名为 JmesPath.NET 的 .NET 端口,它与相同的 API 兼容并且维护良好。可以使用 SDK 检索结果集,然后使用 JmesPath.NET 表达式对其进行筛选。它也可以作为 NuGet 包提供。

CLI 上的--query参数在输出时筛选结果集,类似于 JmesPath.NET 发生的情况。它不会影响 API 调用返回的内容。唯一可用于减少结果集的请求参数是 prefixdelimiter ,它们在逻辑上分组,就像文件夹结构在文件存储引擎中所做的那样。除非您的用例可以通过这些参数处理,否则您将无法在输出端进行过滤。

最新更新