Creating s3 presigned url

时间:2016-08-31 17:49:42

标签: java amazon-web-services amazon-s3 aws-sdk

I am attempting to create presigned urls's to documents for a client that will be downloading them via a browser. We are using aws kms signing.

After searching in vain for a way to generate these via the cli, I settled on using the java sdk using the example here. It generates a link but I get the following error.

<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>

However, my profile has that specification:

[default]
region = us-west-2
output = json
s3 =
    signature_version = s3v4

I'm not sure what other options I need to specify. I found a few options including setting the following and passing it to the client constructor:

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

To no avail. Any guidance would be greatly appreciated.

0 个答案:

没有答案