使用AmazonS3Client

时间:2015-08-10 03:44:29

标签: amazon-s3 spring-boot elastic-beanstalk bad-request

我有使用spring-boot的web应用程序,试图在tomcat服务器中运行的AWS S3中获取对象的元数据。我的存储区域为ap-southeast-1。当我在Elastic Beanstalk中部署我的应用程序时,它运行良好。但是,在几个小时内(通常是在晚上)没有任何要求的情况下运行后,我得到了AmazonS3Exception: Bad Request。重新启动tomcat后,我的应用程序将再次运行。

这是我在application.properties文件中放入的内容

cloud.aws.credentials.accessKey=[my-access-key]
cloud.aws.credentials.secretKey=[my-secret-key]
cloud.aws.region.static=ap-southeast-1
bucket.name=[my-bucket-name]

这就是我调用getObjectMetadata

的方式
public static ObjectMetadata getMeta(final String fileName) throws IOException {
    String key = prefix + "/" + fileName;
    ObjectMetadata meta = s3client.getObjectMetadata(bucketName, key);
    return meta;
}

我该怎么做才能解决这个问题?

更新:

以下是我设置凭据的方式:

private static AWSCredentialsProvider provider = new DefaultAWSCredentialsProviderChain();
private static AmazonS3 s3client = new AmazonS3Client(provider.getCredentials());

0 个答案:

没有答案