Wie der Inhalts-Typ der ein S3-Objekt über das SDK?
Ich versuche, AWS Api, um die Art des Inhalts, der mehrere Objekte und fügen Sie einen "content-encoding: gzip" - header, um Sie. Hier mein code dafür:
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);
}
Wenn ich dieses jedoch führt zu dem folgenden Ergebnis:
Wie Sie sehen können, das Präfix x-amz-meta
wurde Hinzugefügt, um meine custom-Header, und Sie waren niedriger verkleidet. Und die content-type
header-wurde ignoriert, stattdessen legte er www/form-encoded
wie der Kopf.
Was kann ich tun, damit es zu akzeptieren mein header-Werte?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Das problem gefunden.
ObjectMetadata
Bedarf der content-type /encoding explizit eingestellt werden, anstatt überaddUserMetadata()
. Ändern Sie die folgenden:zu:
behoben.