AWS S3 CopyObject сохраняет контроль кэша? - PullRequest
0 голосов
/ 06 июля 2018

Я использую .NET SDK для копирования объектов между двумя сегментами S3, например:

var request = new CopyObjectRequest
{
    SourceBucket = _sourceBucket,
    SourceKey = objectKey,
    DestinationBucket = _destinationBucket,
    DestinationKey = destinationKey
};

Я заметил, что заголовок Cache-Control присутствует на новом изображении.

Я вообще не хочу никакого кэширования на этих изображениях (например, Cache-Control: private).

Вопросы:

  1. Как туда попал Cache-Control? Настройка корзины S3 или поведение копирования по умолчанию? (больше любопытства с моей стороны)
  2. Как я могу убедиться, что целевые изображения не кэшируются? (я не вижу, как установить Cache-Control на копии)

Спасибо!

1 Ответ

0 голосов
/ 09 июля 2018

Нашел мои ответы.

1) " При копировании объекта вы можете сохранить все метаданные (по умолчанию) или указать новые метаданные .". Так что это поведение по умолчанию. исх

2) Вы можете установить заголовки после того, как вы создадите объект. Примечание: вам нужно установить все заголовки, так как вы выбираете REPLACE в директиве метаданных.

var request = new CopyObjectRequest
{
   MetadataDirective = S3MetadataDirective.REPLACE
};

request.Headers.CacheControl = "private";
request.Headers.ContentType = "image/jpeg";
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...