使用AWS CLI时如何在JMESPath查询中为空值设置默认值?

问题描述

我正在尝试通过带有查询的AWS CLI运行命令。该命令可能很简单,例如aws s3api list-buckets --query 'sum(Versions[*].Size)'

但是,有时某些值可能返回null。在上面的示例中,如果什么都没有,则size可以为null,该命令将返回以下错误

In function sum(),invalid type for value: None,expected one of: ['array-number'],received: "null"

如何给它提供认值?如果实际值为null,我想将其设置为0,以便结果中有一些值而不是错误

解决方法

基于评论。

解决方案是使用:

aws s3api list-buckets --query 'sum(Versions[*].Size || [`0`])'