2016-10-26 5 views
1

Используя AWS Golang SDK, я пытаюсь установить дату истечения срока действия для некоторых из объектов, которые я загружаю. Я уверен, что заголовок правильно настроен, однако при входе в S3 и просмотре свойств нового объекта у него нет даты истечения срока действия.Объекты S3, не истекающие с использованием Golang SDK

Ниже приведен фрагмент кода, как я загружаю объектов

exp := time.Now() 
exp = exp.Add(time.Hour * 24) 

svc := s3.New(session.New(config)) 
_, err = svc.PutObject(&s3.PutObjectInput{ 
    Bucket:  aws.String("MyBucketName"), 
    Key:   aws.String("201700689.zip"), 
    Body:   fileBytes, 
    ContentLength: aws.Int64(size), 
    ContentType: aws.String(fileType), 
    Expires:  &exp, 
}) 

И вот что я вижу при входе на сайт enter image description here

Любая идея, что здесь происходит? Благодаря

ответ

4

Ну, Expires просто неправильно поле:

// Дата и время, когда объект больше не кэшируется.

Что вы хотите, это Object Expiration, который может быть установлен как правило ведра, а не для каждого объекта.

В принципе, можно добавить правило Lifecycle (о свойствах ковша) с указанием:

Каждое правило имеет следующие атрибуты:

Префикс - начальная часть имени ключа (например, журналы /) , или полное имя ключа. Любой объект в ведре с соответствующим префиксом будет подчиняться этому правилу истечения срока действия. Пустой префикс будет соответствовать всем объектам в ведре.

Статус - либо включен, либо отключен. Вы можете время от времени включать правила, чтобы выполнять удаление или сбор мусора на ваших ведрах и оставлять правила отключенными в другое время.

Истечение срока - указывает период истечения срока действия объектов, на которые распространяется правило, в течение нескольких дней с даты создания объекта.

Id - необязательно, дает название правилу.

Это правило будет оцениваться ежедневно, и любые истекшие объекты будут удалены.

См. https://aws.amazon.com/blogs/aws/amazon-s3-object-expiration/ для более подробного объяснения.

+0

Большое значение. Ненавижу быть парнем, который не читал/не понимал документы – tier1

 Смежные вопросы

  • Нет связанных вопросов^_^