AWS лямбда получает «несанкционированное действие» при использовании MongoClient, отлично работает с mon goose, отлично работает при запуске команды из оболочки - PullRequest
0 голосов
/ 29 января 2020

Вот архитектура: у меня MongoDB работает на EC2. Когда я sh на EC2 и запускаю mongo dbname -u username -p password, я могу выполнить вставку в коллекцию, что должно означать, что у пользователя есть разрешение в dbname для выполнения вставки в коллекцию

С другой стороны, я у AWS лямбда, VP C настроен. Когда я использую mongodb.MongoClient для подключения, я проходил проверку подлинности, а client.isConnected () возвращает true, но db.collection (). InsertOne (...) вызывает ошибку, говоря, что я не авторизован для выполнения действия insert для dbname. Строка подключения, используемая для подключения, содержит те же имя пользователя и пароль, что и для подключения к оболочке mon go. Я попытался использовать те же опции для подключения к mongodb, но вместо этого использовал mon goose, и он не выдал никаких ошибок

1 Ответ

0 голосов
/ 29 января 2020

какая строка подключения используется? Можете ли вы попытаться смоделировать, что лямбда делает локально? Можете ли вы попробовать подключиться к вашей базе данных с помощью локального клиента mon go, используя ту же строку подключения, которую использует ваша лямбда?

Вы подключаетесь к нужной базе данных? Ваш пользователь настроен на свою базу данных или на базу данных администратора по умолчанию? ваши права обновления установлены на нужной базе данных?

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