Я пытаюсь загрузить File
в AWS, где у меня уже есть большая часть информации, которую SDK сгенерирует, которая хранится в Map<String, String>
(они были предоставлены API):
"Content-Type": "application/pdf",
"bucket": "bucket-name",
"acl": "private",
"key": "xxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"policy": "xxxxxxxx==",
"x-amz-algorithm": "AWS4-HMAC-SHA256",
"x-amz-credential": "ASIAxxxxxxxxx/20180202/eu-west-2/s3/aws4_request",
"x-amz-signature": "xxxx"
"x-amz-date": "yyyyMMddThhmmssZ",
"x-amz-meta-a": "some meta data",
"x-amz-meta-b": "some meta data"
Пока у меня есть:
AmazonS3 s3 = AmazonS3ClientBuilder.standard().build();
ObjectMetadata metadata = new ObjectMetadata();
metadata.setContentType(map.get("Content-Type"));
metadata.setSSEAlgorithm(map.get("x-amz-algorithm"));
Map<String, String> userMetadata = new HashMap<String, String>();
userMetadata.put("a", map.get("x-amz-meta-a"));
metadata.setUserMetadata(userMetadata);
s3.putObject(new PutObjectRequest(
map.get("bucket"),
map.get("ket"),
new FileInputStream(file),
metadata
))
Как мне теперь установить поля credential
и signature
?
Если имеет смысл , а не , использовать SDK для этого, тогда некоторые примеры были бы весьма полезны, мне пока не удалось заставить его работать с простым HTTP post
.