如何使用BOTO3 VPC端点服务使用过滤器



我需要从python脚本获取VPC端点服务ID,但是我不明白如何使用boto3,vpc-id的过滤器或子网

我如何使用过滤器?

boto3的这一部分

> (dict) --
A filter name and value pair that is used to return a more specific list of results from a describe operation. Filters can be used to match a set of resources by specific criteria, such as tags, attributes, or IDs. The filters supported by a describe operation are documented with the describe operation. For example:
DescribeAvailabilityZones
DescribeImages
DescribeInstances
DescribeKeyPairs
DescribeSecurityGroups
DescribeSnapshots
DescribeSubnets
DescribeTags
DescribeVolumes
DescribeVpcs
Name (string) --
The name of the filter. Filter names are case-sensitive.
Values (list) --
The filter values. Filter values are case-sensitive.
(string) --

最简单的方法是在没有过滤器的情况下调用它,并观察回来的内容:

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代码中过滤结果,也可以使用Filters的CC_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]
        },
    ])

相关内容

最新更新