Ладно, что случилось?
Примерно 17 октября 2018 года вы можете найти "Feature / load shared config" в aws-sdk-js истории коммитов.Это версия v2.337.0 +.Я не читал код, но похоже, что с того времени (и версии) приоритет получения учетных данных AWS изменился.До этого, похоже, переменные окружения имели больший приоритет, чем конфигурационный файл.Но не больше!Что это значит?
Ну, в моем случае, у меня есть несколько профилей в .aws/credentials
, и мой профиль по умолчанию НЕ тот, который имеет полные права доступа.Если в вашем профиле по умолчанию есть политика AdministratorAccess, эта проблема для вас не актуальна!
Я использую профили в файле конфигурации для aws-cli, а не для скрипта.В своем сценарии я использую переменные среды AWS_ACCESS_KEY_ID и AWS_SECRET_ACCESS_KEY.
Вы видите проблему сейчас? До смены SDK это работало, потому что SDK сначала выбирал переменные среды.Но так как некоторая логика изменилась в SDK, он выбрал профиль по умолчанию из файла конфигурации.И, как я писал ранее, мой профиль по умолчанию не может получить доступ к SQS!
Итак, мое решение состояло в том, чтобы удалить (переименовать) профиль по умолчанию из файла конфигурации.И поскольку больше не было профиля по умолчанию, SDK снова начал использовать мои переменные окружения.
Слава SDK!