我试图找出如何使用boto3基于subnet_id(在vpc中)找到route_table_id。 boto3(v1.3.1)中有api,ec2.RouteTableAssociation(id)。使用正确的route_table_association_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
我正在寻找线索失败的原因。
詹姆斯
答案 0 :(得分:3)
想办法这样做:
response = client.describe_route_tables(
Filters=[
{
'Name': 'association.subnet-id',
'Values': [
source_subnet_id
]
}
]
)
print(response['RouteTables'][0]['Associations'][0]['RouteTableId'])
答案 1 :(得分:0)
所有必填信息均在响应的JSON [&#39; RouteTables&#39;] [*] [&#34; Associations&#34;]
下