App Engine documentation для Blobstore дает довольно подробное объяснение того, как загрузить файл, используя BlobstoreUploadHandler
, предоставленный инфраструктурой webapp
.Сохранение файла в App Engine Blobstore
Однако у меня есть экземпляр cgi.FieldStorage
, который я хотел бы хранить непосредственно в Blobstore. Другими словами, мне не нужно загружать файл, так как это позаботится другими средствами; Мне просто нужно его хранить.
Я просматривал модуль blobstore
source, чтобы попытаться понять, как обработчик загрузки создает/генерирует ключи blobstore и в конечном итоге записывает файлы в сам blobstore, но я теряюсь. Кажется, что CreateUploadURLResponse
в blobstore_service_pb
- это место, где будет происходить фактическая запись, но я не вижу компонент, который фактически реализует эту функциональность.
Update
Существует также реализация для хранения файлов непосредственно в файловую систему, которую я считаю, что обработчик загрузки делает в конце. Я не совсем уверен в этом, поэтому объяснение относительно того, следует ли использовать FileBlobStorage
, является правильным способом.
Что-то пишет в blobstore, когда мы используем 'BlobstoreUploadHandler', правда? Если это так, не можем ли мы использовать один и тот же процесс для хранения самого блоба? Я не говорю, что я не буду переключаться на GCS, но меня интересует, что я мог бы сделать, если бы мне пришлось придерживаться blobstore – nmagerko
. Я бы порекомендовал вам забыть о blobstore и использовать только GCS, если у вас нет много кода, который используется на blobstore. –
@DmitrySadovnychyi не слишком много кода зависит от blobstore. GCS это – nmagerko