Java 创建s3预签名url

Java 创建s3预签名url,java,amazon-web-services,amazon-s3,aws-sdk,Java,Amazon Web Services,Amazon S3,Aws Sdk,我正在尝试为将通过浏览器下载的客户端创建指向文档的预签名URL。我们正在使用aws kms签名 在徒劳地搜索通过cli生成这些代码的方法之后,我决定使用示例中的JavaSDK。它生成一个链接,但我得到以下错误 <Error> <Code>InvalidArgument</Code> <Message> Requests specifying Server Side Encryption with AWS KMS managed keys requi

我正在尝试为将通过浏览器下载的客户端创建指向文档的预签名URL。我们正在使用aws kms签名

在徒劳地搜索通过cli生成这些代码的方法之后,我决定使用示例中的JavaSDK。它生成一个链接,但我得到以下错误

<Error>
<Code>InvalidArgument</Code>
<Message>
Requests specifying Server Side Encryption with AWS KMS managed keys require AWS Signature Version 4.
</Message>
<ArgumentName>Authorization</ArgumentName>
<ArgumentValue>null</ArgumentValue>
<RequestId>blah</RequestId>
<HostId>blah
</HostId>
</Error>
但是,我的个人资料具有以下规格:

[default]
region = us-west-2
output = json
s3 =
    signature_version = s3v4
我不确定还需要指定哪些选项。我找到了一些选项,包括设置以下内容并将其传递给客户端构造函数:

ClientConfiguration clientConfiguration = new ClientConfiguration();
clientConfiguration.setSignerOverride("AWSS3V4SignerType");

无济于事。任何指导都将不胜感激。

这里有一些示例:可能将您的代码与该页面上的示例预签名GET进行比较?这里有一些示例:可能将您的代码与该页面上的示例预签名GET进行比较?