Как установить тип содержимого объекта S3 через SDK?
Я пытаюсь использовать AWS Api, чтобы установить тип содержимого нескольких объектов и добавить к ним заголовок «content-encoding: gzip». Вот мой код для этого:
for (S3ObjectSummary summary : objs.getObjectSummaries() )
{
String key = summary.getKey();
if (! key.endsWith(".gz"))
continue;
ObjectMetadata metadata = new ObjectMetadata();
metadata.addUserMetadata("Content-Encoding", "gzip");
metadata.addUserMetadata("Content-Type", "application/x-gzip");
final CopyObjectRequest request = new CopyObjectRequest(bucket, key, bucket, key)
.withSourceBucketName( bucket )
.withSourceKey(key)
.withNewObjectMetadata(metadata);
s3.copyObject(request);
}
Однако, когда я запускаю это, результат будет следующим:
Как видите, префиксx-amz-meta
был добавлен в мои собственные заголовки, и они были в нижнем регистре. Иcontent-type
заголовок был проигнорирован, вместо этого он поставилwww/form-encoded
как заголовок.
Что я могу сделать, чтобы он принял мои значения заголовка?