Отличается между AWS boto3.session.Session () и boto3.Session () - PullRequest
0 голосов
/ 24 октября 2019

Я пытаюсь использовать библиотеку AWS python boto3 для создания сеанса. Я обнаружил, что мы можем сделать это либо

session = boto3.Session(profile_name='profile1')

, либо

session2 = boto3.session.Session(profile_name='profile2')

. Я проверил их документы , предполагается использовать boto3.session. Session () .

Почему оба способа работают? Какая разница в концепции позади них?

1 Ответ

1 голос
/ 24 октября 2019

Это просто для удобства; они оба относятся к одному и тому же классу . Здесь происходит то, что __init__.py для пакета python boto3 включает в себя следующее:

from boto3.session import Session

Это просто позволяет вам ссылаться на класс Session в вашем коде python как boto3.Session, а не boto3. session.Session.

Эта статья предоставляет больше информации об этой идиоме python:

Одна из общих вещей, которую нужно сделать в __init__.py, - импортировать выбранные классы. , функции и т. д. на уровне пакета, чтобы их можно было легко импортировать из пакета.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...