Como faço para adicionar um Cache-Control cabeçalho HTTP para imagens que eu fazer o upload para Amazon S3?
-
05-07-2019 - |
Pergunta
Eu acho que estou provavelmente apenas faltando alguma coisa nos docs aqui, mas como faço para especificar que as imagens que eu fazer o upload para S3 tem um cabeçalho Cache-Control quando solicitado?
Esta resposta parece sugerir que você pode fazê-lo através da adição de metadados, mas o exemplo não é muito clara. Alguém pode me aponte para um trecho de código ou alguma documentação de como eu iria fazer isso em C #, por favor?
Solução 2
Bem, acontece que isso é possível usando a API REST para S3, mas não usando os métodos SOAP. Portanto, a resposta para mim é apenas 'não' -. A menos que reescrever todo o nosso código para usar a API REST
Outras dicas
Para aqueles que estão lendo esta pergunta, mais recentemente, você pode usar o TransferUtilityUploadRequest 's Headers.CacheControl alojamento (Nota: no momento de escrever a documentação AWS não o torna óbvio que esta é uma propriedade disponível).
ex
// Make the upload request with the required cache and header parameters
var fileTransferUtilityRequest = new TransferUtilityUploadRequest
{
BucketName = BucketName,
FilePath = fileName,
StorageClass = S3StorageClass.Standard,
Key = keyName,
CannedACL = S3CannedACL.PublicRead,
ContentType = contentType,
};
fileTransferUtilityRequest.Headers.CacheControl = "max-age=604800";
var fileTransferUtility = new TransferUtility(...);
fileTransferUtility.Upload(fileTransferUtilityRequest);