我需要从python脚本获取vpc端点服务ID,但我不明白如何使用boto3从vpc-id或子网中过滤器
有人尝试使用过滤器吗?
boto3的这一部分
(dict)- 过滤器名称和值对,用于从describe操作返回更具体的结果列表。过滤器可用于根据特定条件(例如标签,属性或ID)来匹配一组资源。 describe操作支持的过滤器记录在describe操作中。例如: 描述可用性区域 描述图像 DescribeInstances 描述密钥对 描述安全组 描述快照 描述子网 描述标签 描述音量 描述Vpcs 名称(字符串)- 过滤器的名称。过滤器名称区分大小写。
值(列表)- 过滤器值。过滤器值区分大小写。
(字符串)-
非常感谢
答案 0 :(得分:1)
这取决于您要用来过滤结果的内容。就我而言,我在下面使用它来过滤特定的vpc-endpoint-id。
import boto3
vpc_client = boto3.client('ec2')
vpcEndpointId = "vpce-###"
vpcEndpointDetails = vpc_client.describe_vpc_endpoints(
VpcEndpointIds=[vpcEndpointId],
Filters=[
{
'Name': 'vpc-endpoint-id',
'Values': [vpcEndpointId]
},
])
答案 1 :(得分:0)
最简单的方法是在不使用过滤器的情况下调用它,然后观察返回的结果:
import boto3
ec2_client = boto3.client('ec2', region_name='ap-southeast-2')
response = ec2_client.describe_vpc_endpoint_services()
for service in response['ServiceDetails']:
print(service['ServiceId'])
然后您可以在Python代码中过滤结果,也可以使用Describe命令的Filters
功能。
随时print(response)
查看返回的数据。