【发布时间】:2023-01-13 08:33:27
【问题描述】:
我正在尝试获取在 EC2 中创建的网络接口,因此我正在使用 boto3 中的“describe_network_interfaces”函数。这个函数的输出是一个像这样的结构:
{
'NetworkInterfaces': [
{
'Association': {
'AllocationId': 'string',
'AssociationId': 'string',
'IpOwnerId': 'string',
'PublicDnsName': 'string',
'PublicIp': 'string',
'CustomerOwnedIp': 'string',
'CarrierIp': 'string'
},
'Attachment': {
'AttachTime': datetime(2015, 1, 1),
'AttachmentId': 'string',
'DeleteOnTermination': True|False,
'DeviceIndex': 123,
'NetworkCardIndex': 123,
'InstanceId': 'string',
'InstanceOwnerId': 'string',
'Status': 'attaching'|'attached'|'detaching'|'detached',
'EnaSrdSpecification': {
'EnaSrdEnabled': True|False,
'EnaSrdUdpSpecification': {
'EnaSrdUdpEnabled': True|False
}
}
},
'AvailabilityZone': 'string',
'Description': 'string',
'Groups': [
{
'GroupName': 'string',
'GroupId': 'string'
},
],
'InterfaceType': 'interface'|'natGateway'|'efa'|'trunk'|'load_balancer'|'network_load_balancer'|'vpc_endpoint'|'branch'|'transit_gateway'|'lambda'|'quicksight'|'global_accelerator_managed'|'api_gateway_managed'|'gateway_load_balancer'|'gateway_load_balancer_endpoint'|'iot_rules_managed'|'aws_codestar_connections_managed',
'Ipv6Addresses': [
{
'Ipv6Address': 'string'
},
],
'MacAddress': 'string',
'NetworkInterfaceId': 'string',
'OutpostArn': 'string',
'OwnerId': 'string',
'PrivateDnsName': 'string',
'PrivateIpAddress': 'string',
'PrivateIpAddresses': [
{
'Association': {
'AllocationId': 'string',
'AssociationId': 'string',
'IpOwnerId': 'string',
'PublicDnsName': 'string',
'PublicIp': 'string',
'CustomerOwnedIp': 'string',
'CarrierIp': 'string'
},
'Primary': True|False,
'PrivateDnsName': 'string',
'PrivateIpAddress': 'string'
},
],
'Ipv4Prefixes': [
{
'Ipv4Prefix': 'string'
},
],
'Ipv6Prefixes': [
{
'Ipv6Prefix': 'string'
},
],
'RequesterId': 'string',
'RequesterManaged': True|False,
'SourceDestCheck': True|False,
'Status': 'available'|'associated'|'attaching'|'in-use'|'detaching',
'SubnetId': 'string',
'TagSet': [
{
'Key': 'string',
'Value': 'string'
},
],
'VpcId': 'string',
'DenyAllIgwTraffic': True|False,
'Ipv6Native': True|False,
'Ipv6Address': 'string'
},
],
'NextToken': 'string'
}
我怎样才能只从“NetworkInterfaceId”中获取值并将其放入列表中?我正在尝试使用正则表达式提取此值,但我还没有很好的技能。请你们帮帮我好吗?
【问题讨论】:
-
你试过什么了?
-
你知道听写是如何工作的吗? mydict["网络接口"]...
-
@Alex_X1 数据不是一个有效的字典
-
如果数据曾是你可能会做的有效字典
print([x["NetworkInterfaceId"] for x in data["NetworkInterfaces"]]) -
@JonSG 是的,这是真的,但他在标题中提到了一个字典,所以我猜这是一个有效的字典
标签: python list dictionary pyspark