Есть ли причина, по которой Serverless не может найти мои учетные данные AWS в виртуальной среде Conda?

#python #amazon-web-services #aws-lambda #yaml #serverless-framework

Вопрос:

Я пытаюсь развернуть лямбда-функцию в AWS с помощью бессерверной платформы. Кажется, все работает нормально, однако, когда я запускаю команду для развертывания sudo sls deploy или sudo serverless deploy получаю следующую ошибку.

Я знаю, что в сообщении об ошибке говорится, что мои учетные данные AWS не найдены, но я не уверен, почему?

Я настроил их в соответствии с документацией на http://slss.io/aws-creds-setup с учетными данными конфигурации без сервера

Шаги, которые я предпринял, чтобы исправить это:

  1. Повторите serverless config credentials --provider aws --key key --secret secret
  2. Попытался добавить Profile: в свой файл YAML как «по умолчанию» и имя пользователя в AWS.
  3. Использовал экспорт AWS_ACCESS_KEY_ID= и экспорт AWS_SECRET_ACCESS_KEY= для установки учетных данных в моей среде.

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

Я что-то упускаю?

 [sudo] password for osboxes: 
Serverless: Generated requirements from /home/osboxes/spacy-med/requirements.txt in /home/osboxes/spacy-med/.serverless/requirements.txt...
Serverless: Installing requirements from /home/osboxes/spacy-med/.serverless/requirements/requirements.txt ...
Serverless: Packaging service...
Serverless: Excluding development dependencies...
Serverless: Injecting required Python packages to package...
 
 Serverless Error ----------------------------------------
 
  AWS provider credentials not found. Learn how to set up AWS provider credentials in our docs here: <http://slss.io/aws-creds-setup>.
 
  Get Support --------------------------------------------
     Docs:          docs.serverless.com
     Bugs:          github.com/serverless/serverless/issues
     Issues:        forum.serverless.com
 
  Your Environment Information ---------------------------
     Operating System:          linux
     Node Version:              14.17.4
     Framework Version:         2.53.1
     Plugin Version:            5.4.3
     SDK Version:               4.2.6
     Components Version:        3.14.2```


  [1]: https://www.serverless.com/framework/docs/providers/aws/guide/credentials#setup-with-serverless-config-credentials-command
 

Ответ №1:

Попробуйте запустить aws configure в своей среде conda:

https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-quickstart.html

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