我正在尝试使用Boto3从Cloudformation堆栈输出中打印出实例的私有IP地址。这应该是一个相当简单的过程。然而,我的代码就是无法工作。
describe_stacks响应的输出部分如下:
我已经测试了下面的代码,它没有输出任何内容。
describe_stacks响应的输出部分如下:
{'OutputKey': 'EC2IP', 'OutputValue': '192.168.10.10', 'Description': 'Web Server IP Address'},
{'OutputKey': 'ImageID', 'OutputValue': 'ami-0888888888888', 'Description': 'Web Server Image ID'}
我已经测试了下面的代码,它没有输出任何内容。
import boto3
cf_client = boto3.client('cloudformation')
stackname = 'test-instance-stack'
response = cf_client.describe_stacks(StackName=stackname)
outputs = response["Stacks"][0]["Outputs"]
for output in outputs:
keyName = output["OutputKey"]
if keyName is "EC2IP":
print(output["OutputValue"])
尽管我尝试
print(keyName)
它会打印出 EC2IP
和 ImageID
。在这种情况下,keyName 应该匹配 EC2IP 并打印出 IP 地址。但是我却什么都没有收到...