Принудительно AWS библиотека для получения региона из среды внутри кластера docker - PullRequest
0 голосов
/ 04 марта 2020

Я пытаюсь протестировать приложение Java, работающее в контейнере docker на моем рабочем столе. Приложение работает нормально, если я запускаю его непосредственно из командной строки, но оно не работает, когда я пытаюсь запустить его внутри контейнера Docker на рабочем столе. Вывод ошибки показывает, что библиотека запрашивает информацию о регионе, а затем завершается с ошибкой:

com.amazonaws.SdkClientException: Unable to find a region via the region provider chain. Must provide an explicit region in the builder or setup environment to supply a region.

Я предоставляю регион в качестве переменной среды:

AWS_DEFAULT_REGION=us-east-2

Если я код региона, он работает нормально. (Библиотека успешно извлекает учетные данные из переменных среды.)

Ответы [ 2 ]

1 голос
/ 04 марта 2020

AWS несовместим в своей реализации для этого, так как иногда требуется AWS_DEFAULT_REGION, в других случаях требуется AWS_REGION. Для AWS API для Java используйте AWS_REGION. (Укажите оба варианта для работы в любых ситуациях.)

[h / t Джон Камерин , который показал этот ответ в комментариях к подобным вопросам.]

ср. 44151982 , 36354423 , Github aws / aws -sdk-go # 2103

1 голос
/ 04 марта 2020

Вам нужно установить AWS_REGION, а не AWS_DEFAULT_REGION. Цепочка провайдеров региона по умолчанию

...