如何查询AWS堆栈输出?



我的堆栈输出:

"Outputs": [
{
"OutputKey": "InstanceId",
"OutputValue": "i-0ed2834d95ae5bb98",
"Description": "Instance Id"
},
{
"OutputKey": "PrivateIp",
"OutputValue": "10.176.66.46",
"Description": "Private IP address"
},
{
"OutputKey": "EbsVolumeId",
"OutputValue": "vol-03837489a20032881",
"Description": "EbsVolume"
}

我尝试使用下面的命令来查询堆栈的PrivateIp,但是命令没有返回任何东西。

aws cloudformation describe-stacks --stack-name my-stack-01 --query "Stacks[0].Outputs[?OutputKey=="PrivateIp"].OutputValue" --output text

我做错了什么?

提前感谢!

您必须在查询的过滤器部分?OutputKey=="PrivateIp"中使用单引号。因此,将整个查询更改为:

aws cloudformation describe-stacks --stack-name my-stack-01 --query "Stacks[0].Outputs[?OutputKey=='PrivateIp'].OutputValue" --output text

这将工作。