Нужны ли расширения .ebextensions для использования ресурсов AWS, таких как DynamoDB или SNS? - PullRequest
0 голосов
/ 11 октября 2018

Я создавал веб-приложение Python с AWS Elastic Beanstalk, и мне было интересно, нужно ли создавать файл .ebextensions / xyz.config для использования таких ресурсов, как DynamoDB, SNS и т. Д.

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

db = boto3.resource('dynamodb', region_name='us-east-1')
table = db.Table('StudentInfo')

оцените ваши входные данные

Ответы [ 2 ]

0 голосов
/ 12 октября 2018

Вам необходимо перейти на использование ролей IAM.Подробнее здесь .

Я предполагаю, что вы не меняли роль по умолчанию, которая присваивается экземпляру Elastic Beanstalk (EB) во время создания.Роль профиля экземпляра по умолчанию позволяет EB использовать другие службы AWS, необходимые для создания различных компонентов.

Пока вы не разберетесь в IAM, создании ролей и назначении разрешений, которые вы можете присоединить к управляемому AWSразрешения на эту роль для тестирования вашего приложения (просто найдите Dynamo и SNS).

0 голосов
/ 12 октября 2018

Вам не нужно требовать .ebextensions для создания DynamoDB для работы с Beanstalk.Однако вы можете , как описано здесь .В этом примере используется синтаксис шаблона CloudFormation для указания ресурса DynamoDB.Если нет в файле .ebextensions, вы бы создали DynamoDB через консоль AWS SDK / Dynamo DB и сделали конечную точку доступной для вашего приложения Django.

Вы можете указать тему SNS для использования Beanstalk для публикации событий в или, как в приведенном выше примере DynamoDB, создайте его как ресурс CFN.Разница между этими двумя подходами заключается в том, что в первом случае среда Beanstalk владеет темой SNS, а во втором - базовый стек CloudFormation.Если вы хотите использовать тему SNS для других целей, кроме публикации событий состояния окружающей среды, используйте последний подход.Например, чтобы интегрировать тему SNS с DynamoDB, вы должны использовать последний подход (т. Е. Указать его в качестве ресурса в файле ebextensions, а не в качестве параметра).

...