使用boto3按子网_id查找路由表_id

2024-06-01 06:44:31 发布

您现在位置:Python中文网/ 问答频道 /正文

我想知道如何使用boto3根据子网_id(在vpc中)找到route_table_id。boto3(v1.3.1)、ec2.RouteTableAssociation(id)中有api。在正确的route_table_关联_id的情况下,尝试访问资源的属性route_table_id,会出现如下异常:

In [19]: rta.route_table_id
---------------------------------------------------------------------------
ResourceLoadException                     Traceback (most recent call last)
<ipython-input-19-a7f51e66ef03> in <module>()
----> 1 rta.route_table_id

/usr/local/lib/python2.7/site-packages/boto3/resources/factory.pyc in property_loader(self)
    341                 else:
    342                     raise ResourceLoadException(
--> 343                         '{0} has no load method'.format(self.__class__.__name__))
    344
    345             return self.meta.data.get(name)

ResourceLoadException: ec2.RouteTableAssociation has no load method

我在寻找失败的线索。在

詹姆斯


Tags: nonameinselfidtableloadboto3
2条回答

想办法这样做:

response = client.describe_route_tables(
    Filters=[
        {
            'Name': 'association.subnet-id',
            'Values': [
                source_subnet_id
            ]
        }
    ]
)


print(response['RouteTables'][0]['Associations'][0]['RouteTableId'])

试试describe_route_tables。在

所有必需的信息都在响应的JSON['RouteTables'][*][“Associations”]

相关问题 更多 >