0

Я планирую использовать Amazon S3 для хранения миллионов относительно небольших файлов (~ 100 кБ-2 мБ). Чтобы сохранить время загрузки, я структурировал их в каталогах (десятки/сотни файлов в каталоге) и решил использовать LoadDirectory TransferManager/uploadFileList. Однако после загрузки отдельного файла мне необходимо выполнить определенные операции на моем жестком диске и БД. Есть ли способ (желательно, чтобы наблюдатели/слушатели) уведомлять меня всякий раз, когда какой-либо конкретный файл завершил загрузку, или я проклят, только имея возможность проверить, удалось ли выполнить весь MultipleFileUpload?Amazon S3 - есть ли способ проверить, завершил ли загрузка один файл, который является частью MultipleFileUpload?

Для чего бы то ни было, я использую Java SDK, однако я должен иметь возможность адаптировать решение .NET/REST к моим потребностям.

ответ

0

Понимая, что это не совсем то, что вы просили, это довольно мило и кажется, как подходящее решение ...

S3 имеет уведомления, которые можно настроить, чтобы предупредить вас, когда объект был создан или удален (или если потерянный объект избыточности был потерян). Они могут отправляться в SQS, SNS или Lambda (которые потенциально могут даже запускать код, который обновляет базу данных), и, конечно, если вы отправляете их в SNS, вы можете развернуть их в нескольких местах назначения.

http://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html#notification-how-to-event-types-and-destinations

Не делайте ошибку, однако, выбирая только подтип загрузки вы предполагаете, используется; используйте событие s3:ObjectCreated:*, если у вас нет особых причин.

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