Исключить элемент из ответа CLI AWS - PullRequest
0 голосов
/ 15 декабря 2018

ПРИМЕЧАНИЕ. На самом деле я пытаюсь сделать это в Python и библиотеке Boto3, но я собираюсь использовать интерфейс командной строки AWS, чтобы объяснить, что я пытаюсь сделать.

Я составляю список-объект-версии обращаются к моему ведру в AWS ...

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

Ответ выглядит следующим образом ...

{
    "DeleteMarkers": [

       ...snip...

    ],
    "CommonPrefixes": [

       ...snip...

    ],
    "Versions": [

       ...snip...

    ]
}

ЧТО я хотел бы сказать AWS не делатьвозвращать любые результаты с помощью DeleteMarkers.

Есть какие-либо идеи относительно того, как я могу использовать --query и JMESPath для удаления DeleteMarkers, но сохранить в ответе CommonPrefixes & Versions?

1 Ответ

0 голосов
/ 15 декабря 2018

Как Майкл - sqlbot , указывает, что aws cli --query - это то, что выполняется на стороне клиента, поэтому он не спасет вас, если вы удалите DeleteMarkers.Тем не менее, вы могли бы использовать --query '{CommonPrefixes: CommonPrefixes, Versions: Versions} из CLI ... но в Python / boto3 имеет гораздо больше смысла просто посмотреть на то, что вас интересует, или, если вы действительно хотите сделать Python del или создать новый словарь(определенно нет причин использовать jmespath).

...