Sto cercando di utilizzare AWS Api per impostare il tipo di contenuto di più oggetti e aggiungere un'intestazione 'content-encoding: gzip' a loro. Ecco il mio codice per farlo:Come impostare il tipo di contenuto di un oggetto S3 tramite l'SDK?
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);
}
Quando eseguo questo però, il seguente è il risultato:
Come si può vedere, il prefisso x-amz-meta
è stato aggiunto ai miei intestazioni personalizzate, ed erano inferiori. E l'intestazione content-type
è stata ignorata, invece ha inserito www/form-encoded
come intestazione.
Cosa posso fare per farlo accettare i miei valori di intestazione?
ha funzionato per aws java android sdk –