2

使用 aws cli,我可以发送一个--query以仅返回 LastModified 以来的对象:

aws s3api list-objects --profile <profile> --bucket <bucket>  --query 'Contents[?LastModified>=`2017-01-19`][]'

效果很好,只返回对象>=的日期。

我正在尝试将其转换为 Java SDK,如下所示:

ListObjectsV2Request req = new ListObjectsV2Request();
req.putCustomQueryParameter("LastModified>=`2017-01-19`", null);

我已经尝试了查询和参数字符串的大量变体,但没有任何运气——查询总是返回所有对象。所以两个问题:

  1. 这应该工作吗?这就是 putCustomQueryParameter 应该做的事情吗?
  2. 如果#1 的答案是“是”,那么正确的语法是什么?

提前致谢。

4

1 回答 1

1

这在你想象的方式中是不可能的。

cli 实际上是列出所有对象并在本地过滤它们。API(这是 cli、SDK 和控制台都使用的)不支持这样的查询。

于 2017-01-23T23:17:04.810 回答