AWS удаляет объект, когда предварительно подписанный URL теряет свою силу?

Мне было интересно, есть ли в AWS способ автоматического удаления объекта S3 после того, как предварительно подписанный URL-адрес, сгенерированный для доступа к данному объекту извне, теряет свою силу ...? В частности, я не особо смотрю на что-то необычное, вроде Lambdas (хотя, думаю, это был бы один из подходов?)

Итог: есть ли возможность присвоить значение «времени жизни» объекту S3, для которого был сгенерирован предварительно подписанный URL-адрес?

Ваше здоровье


person Spade Johnsson    schedule 29.06.2017    source источник
comment
это твое ведро или чужое? у вас есть к нему доступ? почему вы хотите присвоить значение срока действия?   -  person Arpit Solanki    schedule 29.06.2017
comment
Да, это мое Ведро. Ведро частное. когда я загружаю материалы для загрузки другими людьми, я генерирую предварительно подписанный URL-адрес со сроком действия 1 час. Когда час истечет и ссылка истечет, я бы хотел, чтобы объект S3 был удален одновременно, потому что в моем случае люди загружают контент «мгновенно», как только данные загружаются.   -  person Spade Johnsson    schedule 29.06.2017
comment
Вы спрашиваете, что в тот момент, когда пользователь загрузит файл, он должен быть удален из s3?   -  person Arpit Solanki    schedule 29.06.2017
comment
Желательно, когда срок действия ссылки истечет. Однако, как только произойдет загрузка, конечно, тоже будет возможно, но это не решит проблему в случае, когда пользователь не загружает объект и срок действия ссылки истекает.   -  person Spade Johnsson    schedule 29.06.2017
comment
в случае, если срок действия ссылки истекает, и вы хотите удалить объект, это будет легко, но решить другую проблему может быть сложно.   -  person Arpit Solanki    schedule 29.06.2017
comment
Вопрос как раз в случае удаления по истечении срока действия ссылки! Какой подход вы бы выбрали?   -  person Spade Johnsson    schedule 29.06.2017
comment
Не очень уверен, но установка политик жизненного цикла сработает для вас. Вы используете клиентские библиотеки для операций с s3?   -  person Arpit Solanki    schedule 29.06.2017
comment
Я использую aws java sdk   -  person Spade Johnsson    schedule 29.06.2017
comment
Нет, нет встроенной функции, позволяющей делать то, что вы хотите (как указано в вашем вопросе), но, как вы упомянули, вы, вероятно, могли бы создать что-то, используя запланированную Lambda.   -  person jarmod    schedule 29.06.2017


Ответы (1)


Нет возможности сделать это.

Наиболее важным является тот факт, что S3 не знает о существовании предварительно подписанных URL-адресов. Когда вы генерируете предварительно подписанный URL-адрес, никакого взаимодействия со службой не происходит. Все это делается в вашем местном коде. Служба проверяет подписанный URL-адрес при поступлении запроса.

И, конечно же, для каждого объекта может быть сгенерировано бесконечное количество предварительно подписанных URL-адресов ... так что для большинства приложений это будет не так уж и полезно из функции.

Политика жизненного цикла для вашего сегмента совместного использования файлов, удаляющая объекты по истечении фиксированного периода времени, вероятно, была бы самым простым решением. Это имеет степень детализации 1 день и погрешность + 1 / -0 дней, поскольку политики оцениваются только ежедневно. (Созданный сегодня объект, политика жизненного цикла которого удаляется через 1 день, не будет удален сегодня вечером, он будет удален завтра вечером.)

http://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html

person Michael - sqlbot    schedule 29.06.2017