Java 不支持您提供的Scala AWS SDK S3授权机制

Java 不支持您提供的Scala AWS SDK S3授权机制,java,scala,amazon-web-services,amazon-s3,Java,Scala,Amazon Web Services,Amazon S3,我知道有一个话题与这类问题有关,但我的问题没有解决办法 我正在尝试使用AWS sdk从s3存储桶中获取文件 libraryDependencies += "com.amazonaws" % "aws-java-sdk" % "1.2.1" 守则: val accessKey = "" val secretKey = "" val bucketName = "" val urlPrefix = "https://s3-eu-north-1.amazonaws.com" val credenti

我知道有一个话题与这类问题有关,但我的问题没有解决办法

我正在尝试使用AWS sdk从s3存储桶中获取文件

libraryDependencies += "com.amazonaws" % "aws-java-sdk" % "1.2.1"
守则:

val accessKey = ""
val secretKey = ""
val bucketName = ""

val urlPrefix = "https://s3-eu-north-1.amazonaws.com"
val credentials = new BasicAWSCredentials(accessKey, secretKey)
val client = new AmazonS3Client(credentials)
client.setEndpoint("s3.eu-north-1.amazonaws.com")
client.getObject(bucketName, "test.txt")
出于安全原因,密钥已被删除。代码在最后一行失败,原因是:

[AmazonS3例外:不支持您提供的授权机制。请使用AWS4-HMAC-SHA256。]


我一整天都在和它斗争。设置端点对我也没有帮助。它与python的boto3一起工作,因此我的凭据没有问题。

您应该使用v4签名来连接v4 s3。我认为1.2.1应该自动使用sigv4,但如果没有,您可以使用它,您应该使用v4签名来连接v4 s3。我认为1.2.1应该自动使用sigv4,但如果没有,您可以使用它