我了解到boto3
提供了两个抽象级别:一个名为client
的低级API,它是围绕AWS HTTP API的瘦包装器,以及一个名为{{1的高级客户端提供真正的Python对象。我的问题是,resource
API的API文档在哪里?
我发现了这个:
https://boto3.readthedocs.io/en/stable/reference/services/ec2.html#client
但是它描述的是resource
API,并且不是client
API的一对一映射。例如,枚举实例在resource
对象上称为describe_instances()
,在client
对象上称为instances.all()
。
接下来我发现了这个:
http://boto3.readthedocs.io/en/stable/reference/core/resources.html?highlight=resource
这描述了一组基类和工厂方法,但它没有描述EC2等特定服务的API。
在运行时,我打印出一个感兴趣的对象并发现它是resource
,但搜索boto3.resources.factory.ec2.ServiceResource
文档并没有向我显示该资源的任何人类可读文档。
是否有一个API文档可以解释所有不同的Python类是什么,以及它们具有哪些属性/方法?我可以在运行时打印出来,例如boto3
但这是发现API的一种非常繁琐的方法。
答案 0 :(得分:2)
感谢@jordanm在评论中回答。我正在扩展到一个更详细的答案。
client
文档包含一个名为“服务资源”的部分,我之前没有注意到。
突出显示目录中的服务资源:
单击此标题会显示EC2资源实例的方法和属性。
答案 1 :(得分:1)
希望这个答案对某些人来说还是有用的,尽管它已经很晚了。
相应地使用这两个链接
将第一个作为主要参考。这是其他答案中提供的链接 https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/ec2.html#service-resource
第二篇文章更详细地介绍了可用于实例,图像,VPC等特定资源的方法和属性
https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/ec2.html
^this is almost the same link -- all options below the service-resource provide detailed info on that particular resource such as instance,image etc.,