我遇到了与此处提到的类似的问题。我正在使用 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}"/>
配置属性
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 以使用这些凭据?感谢帮助。