Загрузка в Amazon S3 с использованием предварительно созданных учетных данных - PullRequest
0 голосов
/ 31 декабря 2018

Я пытаюсь загрузить 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.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...