2

我有问题,所以你会保护我的生命:-)

当我从 aws-shell 运行以下命令时

cloudformation describe-stacks --query Stacks[*].[StackName,StackId,CreationTime,LastUpdatedTime,Parameters[?ParameterKey==\`PARAM_NAME1\`].ParameterValue,Parameters[?ParameterKey==\`PARAM_NAME2\`].ParameterValue] --output text

结果分为 3 行:

自动化-X arn:aws:cloudformation:XX 无
PARAM_VALUE1
PARAM_VALUE2

但我的目标是只有一排(像这样)

自动化-X arn:aws:cloudformation:XX 无 PARAM_VALUE1 PARAM_VALUE2

也就是说,在第一行也是唯一一行上有 PARAM_VALUE1 和 PARAM_VALUE2。

谁能帮我?

我很感激,提前谢谢你

我忘了说明命令的结果是多行(超过1000行),每行由6个参数组成

4

1 回答 1

2

表达方式

Parameters[?ParameterKey==`PARAM_VALUE1`].ParameterValue

返回一个投影,该投影本身返回一个s数组ParameterValue即使该数组仅包含一项,该aws --output text模式仍将其解释为新行。要解决此问题,您需要使用管道将投影转换为单个值|以停止投影,然后选择数组中的第一项:

aws cloudformation describe-stacks --query 'Stacks[*].[StackName,StackId,CreationTime,LastUpdatedTime,Parameters[?ParameterKey==`PARAM_NAME1`].ParameterValue|[0],Parameters[?ParameterKey==`PARAM_NAME2`].ParameterValue|[0]]' --output text

您将看到|[0]添加到查询中的每个参数。

于 2019-02-06T17:38:22.257 回答