我有一个Boto3的响应(Python字典)如下:
{
'TagDescriptions': [{
'ResourceArn': 'arn:aws:elasticloadbalancing:eu-west-1:11111111111:loadbalancer/app/AXXX001PRO/e5ca75b7',
'Tags': [{
'Key': 'STACK',
'Value': 'ATENEA-ELB-TWRHL6'
}, {
'Key': 'APP_NAME',
'Value': 'XXX001_ATENEA'
}, {
'Key': 'Environment',
'Value': 'PRO'
}, {
'Key': 'NAT_PROFILE',
'Value': 'LOW'
}, {
'Key': 'Name',
'Value': 'AXXX004PROBELB01'
}]
}],
'ResponseMetadata': {
'RequestId': 'f5fba49b',
'HTTPStatusCode': 200,
'HTTPHeaders': {
'x-amzn-requestid': 'f5fba49b',
'content-type': 'text/xml',
'content-length': '1065',
'date': 'Mon, 27 Mar 2023 16:15:01 GMT'
},
'RetryAttempts': 0
}
}
需要迭代并只获取字符串等于APP_NAME
的键的值。但知道位置是无效的,因为它可以改变。我测试了不同的方法,但不知道如何做到这一点。
2条答案
按热度按时间2q5ifsrm1#
假设可以有多个标签描述和多个标签,您需要做的就是在嵌套的for循环中迭代它们:
在这个例子中,我将变量
app_name
初始化为None
,所以如果标签不存在,app_name
仍然是None
。oxf4rvwz2#
使用嵌套的理解来迭代所有的
TagDescriptions
和这些描述中的所有Tags
,然后过滤出匹配Key
的一个或多个: