#node.js #amazon-web-services #express #aws-sdk #environment
#node.js #amazon-веб-сервисы #экспресс #aws-sdk #Окружающая среда
Вопрос:
Я задаю этот вопрос, потому что я долго тралил Google, пытаясь найти на него ответ, и, наконец, наткнулся на одну строку в документе AWS, которая указала мне на правильный ответ, но это не очевидно, поэтому надеюсь, что это поможет кому-то сэкономить время.
Проблема: я пытаюсь вызвать службы AWS через AWS SDK в моем приложении NodeJS Express, но SDK не загружает профиль и ключевые данные, которые у меня есть в файлах ~/.aws/credentials и ~/.aws/config . Когда я пытаюсь зарегистрировать объект учетных данных, он пуст. Я пытаюсь использовать профиль, который я установил с помощью переменной среды AWS_PROFILE, заданной в файле .env. Просматривая документы AWS, SDK должен искать эти файлы в разделе ~/.aws, но, похоже, он этого не делает.
Ответ №1:
Итак, ответ заключается в одной строке в одном из документов AWS: http://docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide/getting-started-nodejs.html
Аналогичным образом, если вы правильно указали свой регион в файле конфигурации, вы можете отобразить это значение, установив для переменной среды AWS_SDK_LOAD_CONFIG значение true
Добавление AWS_SDK_LOAD_CONFIG=true
в мой файл .env привело к тому, что SDK начал использовать учетные данные, хранящиеся в файлах ~/.aws/config и ~/.aws/credentials .
Я не знаю, почему в документах не указано более четко, что вам нужно это сделать (на этой странице предлагается, что вам нужно только установить это, чтобы передать регион), все, что я прочитал, предполагало, что эти файлы будут проверяться SDK независимо.
Надеюсь, это поможет избавить кого-то еще от множества разочарований и поиска в Google!