python-3.x 使用Boto3对Amazon S3运行查询

628mspwn  于 2023-11-20  发布在  Python
关注(0)|答案(2)|浏览(178)

由于Glacier Deep's expensive support用于小对象,我正在编写一个归档程序。如果能够让boto3给予我一个bucket中尚未在所需存储类中的对象列表,那将对我很有帮助。感谢this answer,我知道我可以在shell中做到这一点:

aws s3api list-objects --bucket $BUCKETNAME --query 'Contents[?StorageClass!=`DEEP_ARCHIVE`]'

字符串
有没有一种方法可以将query参数传递到boto3中?我还没有深入研究源代码,但我认为它本质上是命令行工具上的一个 Package 器-但我找不到使用这种技术的文档或示例。

6ss1mwsb

6ss1mwsb1#

有没有办法把这个查询参数传递给boto3?
遗憾的是,你不能这样做,因为--query选项是特定于AWS CLI的。但是boto3是Python AWS SDK,所以你可以很容易地对其输出进行后处理,以获得与CLI相同的结果。
--query选项基于jmespath。所以如果你真的想在你的python中使用jmespath,你可以使用jmespath package

相关问题