Проблема хранения данных в S3 с использованием аннотации @Lob - PullRequest
0 голосов
/ 28 февраля 2011

Для моего приложения я храню данные в simpleDB, но поскольку SimpleDB имеет максимум 1024 символа на атрибут, поэтому большие значения должны храниться в S3.

Я делаю что-то вроде этого: *

@ Basic (fetch = FetchType.LAZY)
@Lob
private byte [] multimedia;// для сохранения в s3

и @Lob на его методах получения и установки Запрос JPA не дает ошибок .... но НИКАКОЕ мультимедийное поле не создается ни в s3, ни в simpleDB.Пожалуйста, укажите, где искать решение этой проблемы

Также предложите, как заставить строки simpledb ссылаться на один и тот же мультимедийный объект в s3 (чтобы уменьшить избыточность данных), как когда я делал это вручную, создавая lobkey и пытаясьиспользуйте это значение в другом объекте ... он создал новую копию в s3 с новым ключом.

Спасибо

1 Ответ

1 голос
/ 17 марта 2011

Вы можете хранить свои мультимедийные файлы в Amazon s3 и хранить общедоступные URL-адреса этого мультимедийного файла в Amazon SimpleDB.

Давайте представим, что у вас есть изображение, скажем .. my_image.png . Загрузите это изображение в Amazon s3 в своем желании ... скажем my_bucket . Создайте публичный URL этого загруженного объекта s3. Это было бы. http://my_bucket.s3.amazonaws.com/my_image.png. Загрузите этот публичный URL в Amazon SimpleDB.

Это упростит вашу задачу, и вы сможете синхронизировать свои загруженные данные через Amazon Simple-db и Amazon s3.

...