У меня проблема, аналогичная упомянутой >здесь. Я использую конфигурации spring xml. У меня указаны учетные данные глобального контекста AWS. Я использую адаптер исходящего канала S3 для загрузки файла с S3. Мои ключи указаны в файле config.properties. Я до сих пор не вижу учетные данные, используемые для связи с S3.
s3-read.xml
<int-aws:s3-outbound-channel-adapter
transfer-manager="transferManager"
bucket-expression="'${s3.bucket}'"
command-expression="'DOWNLOAD'"
key-expression="headers.S3Key"
progress-listener="progressListener" />
aws-credentials.xml
<aws-context:context-credentials>
<aws-context:simple-credentials access-key="${aws.accesskey}"
secret-key="${aws.secretkey}"/>
</aws-context:context-credentials>
<!-- Define global region -->
<aws-context:context-region region="${aws.region}"/>
config.properties
aws.accesskey=accesskey
aws.secretkey=secretkey
aws.region=us-west-2
Исключение:
com.amazonaws.SdkClientException: Unable to load AWS credentials from any
provider in the chain
Я провел с этим много времени. Когда я пытался выполнить отладку, он, кажется, ищет цепочку поставщиков учетных данных по умолчанию, которая ищет переменные среды или файлы ~/.aws/credentials. У меня ничего не указано.
Как связать S3, чтобы использовать эти учетные данные? Спасибо за помощь.