如何避免AWS CLI查询DynamoDB无数据时输出None改为输出空字符串
解决方案
有两种常用实现方式,你可以根据使用场景选择:
- 方式一:直接调整AWS CLI的
--query参数(推荐,无需额外管道处理)
利用JMESPath的默认值运算符,当Item.value为null时直接返回空字符串字面量,调整后命令如下:
aws dynamodb get-item --table-name table --key '{"name": {"S":"test"}}' --output text --query 'Item.value || ``'
注:
--query参数值里的两个反引号是JMESPath语法中空字符串字面量的写法,在外层用单引号包裹参数的场景下不需要额外转义。
- 方式二:通过shell管道替换输出
如果需要兼容旧版本AWS CLI,也可以直接把输出的None字符串替换为空,命令如下:
aws dynamodb get-item --table-name table --key '{"name": {"S":"test"}}' --output text --query Item.value | sed 's/^None$//'
内容的提问来源于stack exchange,提问作者Alexander Pravdin
相关产品推荐
相关产品推荐

