Существует ли общий метод «описания» для объектов boto3?

#amazon-web-services #boto3

#amazon-web-services #boto3

Вопрос:

Я представляю что-то вроде этого… существует ли метод, который служит аналогичной цели? Это поможет мне быстро учиться.

 import boto3
session = boto3.Session(profile_name='my-cli-profile', region_name='us-east-1')
cf = session.resource('cloudformation')
print (cf.describe_attributes())
print (cf.describe_methods())
  

Комментарии:

1. Почему вы спрашиваете? Если вам нужен программный список вызовов API, вы могли бы извлечь его из проекта botocore .

2. на данный момент я просто изучаю boto3 SDK и методы, которые он поддерживает. Использование записной книжки jupyter для постепенного продвижения по мере того, как я узнаю о новом ресурсе или клиенте. Вместо того, чтобы переключаться между jupyter и сайтом документации boto3, я подумал, что было бы полезно получить доступ к документации программно. не могли бы вы любезно указать, как я мог бы получить программный доступ к документации botocore?

Ответ №1:

Вы могли бы использовать стандартную функцию dir в Python. Например:

 print(dir(cf))
  

выдает:

 ['Event', 'Stack', 'StackResource', 'StackResourceSummary', '__class__', '__delattr__', '__dict__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__le__', '__lt__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', 'create_stack', 'get_available_subresources', 'meta', 'stacks']
  

Также существует vars:

 print(vars(cf))
  

который дает:

 {'meta': ResourceMeta('cloudformation', identifiers=[])}
  

Комментарии:

1. Спасибо @Marcin — сегодня я узнал кое-что новое, хотя, похоже, по какой-то причине он не предоставляет все свойства или методы этого объекта. рассмотрим подробнее.

2. @Zoltar Нет проблем. Можете ли вы уточнить, какие методы dir не перечислены? dir является основным инструментом для проверки объектов в Python.