gpt4 book ai didi

java - Spring AWS 上下文凭证 - 不起作用

转载 作者:太空宇宙 更新时间:2023-11-04 10:48:44 25 4
gpt4 key购买 nike

我遇到了与提到的类似的问题 here 。我正在使用 spring xml 配置。我已指定全局 AWS 上下文凭证。我正在使用 S3 出站 channel 适配器从 S3 下载文件。我在 config.properties 文件中指定了 key 。我仍然看不到用于与 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

异常(exception)是:

com.amazonaws.SdkClientException: Unable to load AWS credentials from any 
provider in the chain

我在这方面花了很多时间。当我尝试调试时,它似乎在寻找默认凭证提供程序链,它正在寻找环境变量或 ~/.aws/credentials 文件。我没有指定任何内容。

如何链接 S3 以使用这些凭据?感谢您的帮助。

最佳答案

在我的项目中,我使用了这样的“BasicAWSCredentials”

public S3StorageService(AmazonS3Config s3Configs) {
ClientConfiguration opts = new ClientConfiguration();
opts.setSignerOverride("S3SignerType");
BasicAWSCredentials credentials = new BasicAWSCredentials(s3Configs.getAccessKey(), s3Configs.getSecretKey());
AmazonS3 amazonS3 = AmazonS3ClientBuilder.standard().withCredentials(new AWSStaticCredentialsProvider(credentials))
.withEndpointConfiguration(new EndpointConfiguration(s3Configs.getServiceEndpoint(), ""))
.withClientConfiguration(opts).build();
String defaultBucket = s3Configs.getDefaultBucket();

}

@ConfigurationProperties(prefix = "ds31s3.amazon")
public class AmazonS3Config {
private String accessKey;
private String secretKey;
private String serviceEndpoint;
private String defaultBucket;

在 application.properties

#Amazon S3 Configs
ds31s3.amazon.accessKey=<KEY>
ds31s3.amazon.secretKey=<SECRETKEY>
ds31s3.amazon.serviceEndpoint=<ENDPOINT>
ds31s3.amazon.defaultBucket=bucket-karthik

效果很好。

关于java - Spring AWS 上下文凭证 - 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48083775/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com