Amazon Integration
У меня есть собственная CMS, в которой есть файловый менеджер.Многие файлы и форматы, которые могут создавать люди, хранятся локально в базе данных.Это тривиальные примеры, такие как CSS-файлы, базовый контент и т. Д.
Файловый менеджер может делать все то, что делает docs.google.com.Я фактически основал всю методологию и дизайн вокруг браузера Google Docs.
Теперь я добавляю Amazon S3, чтобы мой файловый менеджер также отображал файлы, загруженные в Amazon S3.
У меня есть несколько вопросов по логистике.
Все мои файлы и иерархическая структура хранятся в моей таблице assets
и folders
в моей базе данных mysql.Если я добавлю Amazon S3, файлы будут загружены в Amazon, и я хочу знать, как мне их интегрировать.
Я могу сделать одну из двух вещей.
1.Каждый раз посещая Amazon
Либо: всякий раз, когда пользователь просматривает какую-либо конкретную папку, мой скрипт также может отправиться в Amazon и делать что-то вроде:
$s3->listObjects();
Затем я могу объединить результаты моегозапрос к базе данных с результатами.Я мог бы даже кэшировать, чтобы предотвратить некоторые проблемы с производительностью.
2.Каждый раз заходить в мою базу данных локально.
В качестве альтернативы, поскольку я следую этой структуре для загрузки: Клиент -> Сервер -> Amazon, мне нужно обработать файлы.Это означает, что я могу хранить много деталей в моей базе данных.Там будет очень мало необходимости идти в Amazon, чтобы перечислить структуру, потому что я могу посмотреть локально.
Какой вариант вы считаете лучшим?Я думаю второй вариант.Это имеет несколько преимуществ.
Преимущества базы данных
- Я не запрашиваю Amazon постоянно.(В результате получается дешевле, так как я думаю, что вы должны платить за использование API на 1000 запросов).
- Это будет быстрее
- Мне не нужно объединять структуру
База данных Минусы
- Мне нужно убедиться, что моя версия базы данных является точной копией Amazon.Может быть трудно ??
- Мне нужно создать
syncronise
скрипт.Это не должно быть слишком сложно?