0

注意:我实际上是在 Python 和 Boto3 库中尝试这样做,但我将使用 AWS CLI 来解释我正在尝试做什么。

我正在 AWS 中对我的存储桶进行 list-object-versions 调用...

aws s3api list-object-versions --bucket averyuniquebucketname --delimiter "/"

响应如下...

{
    "DeleteMarkers": [

       ...snip...

    ],
    "CommonPrefixes": [

       ...snip...

    ],
    "Versions": [

       ...snip...

    ]
}

我想告诉 AWS 不要使用 DeleteMarkers 返回任何结果。

关于如何使用 --query 和 JMESPath 消除 DeleteMarkers 但在响应中保留 CommonPrefixes & Versions 的任何想法?

4

1 回答 1

0

正如Michael - sqlbot指出的那样,aws cli --query 是在客户端运行的东西,因此它不会为您节省任何“删除”DeleteMarkers 的东西。不过,您可以--query '{CommonPrefixes: CommonPrefixes, Versions: Versions}从 CLI 使用...但是在 Python/boto3 中,只看您感兴趣的内容会更有意义,或者如果真的热衷于使用 Pythondel或构建一个新字典(绝对没有理由使用 jmespath)。

于 2018-12-15T05:29:30.623 回答