0

У меня есть модель свойства, содержащая поле image_url.перенос изображений в datastore или blobstore в Google App Engine

class Property(ndb.Model): 
    date_created=data.UTCDateTimeProperty(auto_now_add=True) 
    # some other fields here 
    image_url = ndb.StringProperty(indexed=False) 

и модель изображения,

class Image(ndb.Model): 
    property = ndb.KeyProperty() 
    file = ndb.KeyProperty(indexed=False) 
    # some other fields 
    image_url = ndb.StringProperty(indexed=False) 

Теперь у меня есть «п» число изображений для каждого свойства в моей локальной машине. Имя каждого изображения сопоставляется с соответствующим идентификатором свойства в файле csv. Я хочу, чтобы загружать все эти изображения с моего локального компьютера в хранилище данных google app engine или blobstore. Я пытался сделать Google, но чувствую, что я застрял, любая помощь или ссылка были бы высоко оценены.

+0

Blobstore становится устаревшим в пользу облачного хранилища Google (GCS) - используйте последнее, как сказал Хайме **, а не ** первый в любом новом приложении. И данные ** ** изображения лучше всего хранить в GCS, используя хранилище данных только для структурированных ** мета-данных, как правило, информацию, которую вам нужно запросить. –

ответ

1

Google Cloud Storage может быть лучшим вариантом для вас:

  • Вы получаете хорошую программу для работы с ним, gsutil, который позволит вам загружать легко с консоли, так что вы можете написать свои собственные сценарии:)

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

Пример из ссылки выше, о том, как вы бы в конечном итоге загружать изображения:

gsutil cp *.jpg gs://images 

Команда ф ведет себя так же, как команды ср Unix с рекурсией (-R), позволяя вам копировать целые каталоги или просто содержимое каталогов. gsutil также поддерживает подстановочные знаки, что облегчает вам копирование или перемещение файлов.

+0

В настоящее время я загрузка изображений с использованием Blobstore для field_storage в self.request.POST.itervalues ​​(): файла = File.build_by_field_storage (field_storage) to_put.append (файл) изображения = Image.build (файл = файл, свойство = property.key) to_put.append (изображение) results.append (self.get_image_result (изображение)) Не могу ли я что-то подобное, но делаю это навалом. –

+0

Спасибо за ответ. Также можно загрузить изображения в blobstore с консоли? Если да, то дайте мне несколько фрагментов или ссылок. –

+0

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

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