У меня есть CloudFront сайт промежуточной, которые получены из S3Как кэшировать до 1 минуты с S3 и CloudFront и Write-S3Object
Что я хотел бы сделать, это установить это так CloudFront кэшей только для одного а затем любой запрос после этого вернется к S3 для получения новых данных. Если возможно, мне также хотелось бы знать, как полностью отключить кеширование.
Я попытался это:
Write-S3Object -BucketName "xx-staging"
-Key "index.html"
-Metadata @{"Cache-Control" = "60000"}
-File "index.html"
Результат таков:
HTTP/1.1 200 OK
Content-Type: text/html
Content-Length: 24686
Connection: keep-alive
Date: Mon, 18 May 2015 14:14:21 GMT
x-amz-meta-cache-control: 60000
Last-Modified: Mon, 18 May 2015 13:45:46 GMT
ETag: "b2d38663e20237e056f8e507a2caa77a"
Accept-Ranges: bytes
Server: AmazonS3
Age: 1648
X-Cache: Hit from cloudfront
Via: 1.1 6d4df30b39d1e7ecggb0ecd7b8940b88.cloudfront.net (CloudFront)
X-Amz-Cf-Id: oNHGs5CK8hed2OJ_BPaeaf1zFzQE4w7tmnkOym5_1QAMvU6YjNwcfw==
Когда я попробовать другой запрос через пять минут я получаю аналогичный ответ с
X-Cache: Hit from cloudfront
Может кто-нибудь указывают на то, что я делаю неправильно.
Обратите внимание, что я ищу ответ, который использует Write-S3Object.
Обратите внимание, что я попробовал, добавив в портал:
CacheControl максимального возраста: 60000
Это дало мне следующее, который до сих пор говорит, что "Хит из CloudFront"
HTTP/1.1 200 OK
Content-Type: text/html
Content-Length: 24686
Connection: keep-alive
Date: Mon, 18 May 2015 15:34:11 GMT
x-amz-meta-cache-control: 60000
Cache-Control: 60000
Last-Modified: Mon, 18 May 2015 15:26:29 GMT
ETag: "b2d38663e20237e056f8e507a2caa77a"
Accept-Ranges: bytes
Server: AmazonS3
Age: 82
X-Cache: Hit from cloudfront
Via: 1.1 cf25d52fc78aeceb914fb4445fd00a15.cloudfront.net (CloudFront)
X-Amz-Cf-Id: JHXjHLaUUzN4L0M7rqkrr97c2glFlNT_avHASTxDuQw6ePeK4mQppg==
Большое спасибо за наконечник и секунды. Моя глупая ошибка. Я попробовал ваше предложение, но с помощью только-set -Metadata устанавливает: x-amz-meta-cache-control: public, max-age = 60, и это, похоже, ничего не делает. – Melina
ah, right @Melina, это не заголовок * метаданных *. Вместо этого используйте '-HeaderCollection' (http://stackoverflow.com/a/28225459/659298). – tedder42
Отлично работает. благодаря – Melina