«MissingRegion»: не удалось найти конфигурацию региона, но она есть в моем ~ / .aws.config - PullRequest
0 голосов
/ 23 сентября 2019

Мой код:

sess = session.Must(session.NewSessionWithOptions(session.Options{
    Profile: "gms-ai",
}))

Мой ~/.aws/config:

[default]
output = json
region = us-east-1

[profile gms-ai]
output = json
region = us-east-2

Но, например, это рабочий фрагмент из моего сценария развертывания:

AWS_PROFILE=gms-ai \
aws lambda update-function-code...

Похоже, aws cli читает region, но AWS SDK игнорирует его?

1 Ответ

0 голосов
/ 23 сентября 2019

Это ожидаемое поведение.См. Здесь:

По умолчанию SDK будет загружать только значения учетных данных файла общих учетных данных (~ / .aws / credentials), а все остальные конфигурации предоставляются переменными среды, значениями SDK по умолчанию и пользователемпредоставленные значения aws.Config.

Если установлена ​​переменная среды AWS_SDK_LOAD_CONFIG или для создания сеанса используется опция SharedConfigEnable, то будут загружены полные общие значения конфигурации.Это включает в себя учетные данные, регион и поддержку для принятия роли.Кроме того, сессия загрузит свою конфигурацию из общего файла конфигурации (~ / .aws / config) и файла общих учетных данных (~ / .aws / credentials).Оба файла имеют одинаковый формат.

Ссылка здесь .

Поэтому просто установите переменную среды AWS_SDK_LOAD_CONFIG для чтения конфигурации.

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