Движок приложений Google, максимальное количество статических файлов? - PullRequest
3 голосов
/ 02 июля 2010

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

Пожалуйста, предложите.

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

Ответы [ 3 ]

5 голосов
/ 02 июля 2010

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

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

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

2 голосов
/ 02 июля 2010

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

0 голосов
/ 03 июля 2010

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

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

Использование Django 1.0 в App Engine с Zipimport

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

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

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

ОБНОВЛЕНИЕ (октябрь 2011 г.): в SDK 1.5.5 команда App Engine увеличила максимальное количество файлов с 3000 до 10000, что является большим стимулом для пользователей. Кроме того, максимальный размер отдельного файла был увеличен с 10 МБ до 32 МБ. Еще одно улучшение, связанное с хранилищем, заключается в том, что пользователи теперь могут писать в облачное хранилище Google прямо из приложения App Engine .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...