Установка нескольких ресурсов AWS в качестве атрибутов для объекта приложения фляги - PullRequest
0 голосов
/ 10 октября 2019

Я работаю над приложением с колбой, в которое встроено так много сервисов AWS, таких как SQS , S3 , Redshift , RDS etc

Для работы с этими ресурсами в приложении я делаю следующее. Когда создается приложение-колба, я присоединяю эти ресурсы в виде атрибутов, как показано ниже.

def create_app():
    application = Flask(__name__)
    application.s3_service = **S3 resource created using boto3 library**
    application.sqs_queue = **SQS queue resource created using boto3 library**
    application.redshift = **Redshift resource created using boto3 library**
    return application

и запускаю приложение.

Всякий раз, когда я хочу использовать эти ресурсы в представлениях, я 'я просто импортирую current_app из globals globals как app , а затем app.s3_service и так далее и вызываем соответствующие функции boto3 этихСервисы AWS.

Я хочу знать, является ли это лучшим способом сделать это или есть какой-либо другой эффективный способ сделать это.

1 Ответ

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

Это хороший подход,

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