2010-07-02 2 views
3

Я разрабатываю приложение в движке Google, которое будет иметь профили пользователей. Я просматривал онлайн-учебник Google App, где обнаружил, что максимальное количество статических файлов (файлов приложений и статических файлов) не должно превышать 3000. Я боюсь, сможет ли пользователь загружать свои изображения, когда число пользователей увеличивается , Это ограничение только для бесплатной квоты или даже после выставления счетов. В документе он упоминается как дополнительный предел, чем Свободная квота.Двигатель Google для приложений, максимальное количество статических файлов?

Просьба предложить.

Заранее спасибо.

ответ

5

Добро пожаловать в переполнение стека!

Одним из ограничений в App Engine является то, что вы не можете напрямую писать в файловую систему из своего приложения. Статические файлы будут такими, как HTML, CSS, javascript и изображения, которые являются глобальными для вашего приложения, и загружаются вручную при развертывании. Они загружаются и обслуживаются с разных серверов, чем те, которые обрабатывают динамический контент.

Поскольку вы не можете писать в файловую систему из своего приложения, файлы, загруженные пользователями, должны быть сохранены в хранилище данных как капли. Они не считаются статическими файлами. Как отмечали другие, вы можете использовать S3 или API Blobstore, однако для обоих из них требуется биллинг. При наличии свободных квот каждый объект может быть до 1 МБ, и каждый HTTP-запрос и ответ могут быть до 10 МБ. Используя стандартные объекты с BlobProperty, вы можете легко хранить и загружать файлы с динамической загрузкой до 1 МБ или 10 МБ, если вы хотите получить фантазию и сохранить свой блок в срезах для нескольких объектов.

+0

Спасибо за подробное описание .. –

2

Существует новая служба, называемая BlobStore, которая позволяет вам хранить двоичные данные в базе данных. Также вы можете посмотреть в Amazon S3 как хранилище данных. Если пользователь загружает изображения, они не могут быть сохранены как статические файлы. Статические файлы - это файлы, включенные в ваш проект GAE, например html и png/jpg/gif.

+0

Спасибо за ваш ответ Brenna. Но я сомневаюсь в твоей должности. Это прекрасно, если мы используем blobstore для хранения двоичных файлов. Но если мы сохраним их в каталоге/папке в качестве файла, это следует рассматривать как статический файл. Поправьте меня, если я ошибаюсь. В любом случае, я бы подумал о сохранении изображений в базе данных. –

+0

Вы не можете записать в файловую систему на GAE. –

+0

Спасибо, Brenna .. Получил вашу точку –

0

Как уже упоминалось, для более динамического контента, такого как загруженные пользователем файлы, они должны входить в хранилище данных в виде блоков, или если они больше, в качестве объектов Blobstore (максимальный размер 2 ГБ).

3000 статических файлов несколько разумно, если у вас много статических активов (например, изображений, HTML, CSS и JS-файлов). для источника Python, тем не менее, у вас есть другой способ обхода, и вы должны выбросить все ваши .py-файлы в один ZIP-файл, чтобы они не так сильно ударили по этому счету. вот статья, которая описывает, как это сделать:

Using Django 1.0 on App Engine with Zipimport

Просто следует помнить, что эта статья говорит о том, как связать источник Джанго с App Engine; однако это не нужно, если вы не делаете 1.3 или используете вилку. У систем App Engine уже есть версии 0.96 или 1.2.5 для вас бесплатно.

UPDATE (Mar 2011): В SDK 1.4.3 команда App Engine выпустила API файлов, который позволяет вам программно читать/записывать файлы/данные с помощью Blobstore. Это относится как к Python, так и к Java. Более подробную информацию можно найти в соответствующем blogpost. В дополнение к Blobstore, public roadmap показывает будущую функцию, интегрируемую в Google Storage.

UPDATE (сентябрь 2011 г.): В команде SDK 1.5.4 команда App Engine удалила ограничение размера файлов Blobstore с 2 ГБ, чтобы разрешить файлы неограниченного размера. Однако вы платите за ГБ хранилища.

UPDATE (октябрь 2011 г.): В команде SDK 1.5.5 команда App Engine расширила максимальное количество файлов с 3000 до 10000, что является большим стимулом для пользователей. Кроме того, максимальный индивидуальный размер файла был увеличен с 10 МБ до 32 МБ. Еще одним улучшением, связанным с хранением, является то, что users can now write to Google's Cloud Storage directly from their App Engine app.

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