google-datastore получает правильный ключ элемента BLOB для загрузки - PullRequest
0 голосов
/ 14 февраля 2020

В хранилище данных Google Appengine есть BlobKey (обозначается как csv). Ключ имеет следующий формат: encoded_gs_file: we1o5o7klkllfekomvcndhs345uh5pl31l. Я хотел бы предоставить кнопку загрузки для сохранения этой информации.

Веб-приложение запускается с использованием dev_appserver.py и использует python 2.7 (Django) в качестве бэкэнда. В настоящее время кнопка существует, но при нажатии на нее возвращается ошибка 404. Ссылка для скачивания, которую обеспечивает кнопка:

https://localhost:8080/data?key=encoded_gs_file:dwndjndwamwljioihkm

Интересно то, что когда я go на localhost: 8000 / datastore и затем перехожу к средству просмотра Blobstore, я могу перейти к виду объектов: GsFileInfo , и сгенерирован ключ. Проблема в том, что он дает 404. enter image description here enter image description here

Другой элемент BLOB рядом с ним - это png, и если я использую ключ для этого PNG, я получаю скачать. Что не так с ключом, как я могу получить ключ записи из хранилища данных.

1 Ответ

2 голосов
/ 14 февраля 2020

Я все еще почесываю голову в связи с вашей проблемой, но есть подозрение, что size - это None, а finalized - False для вашего CSV-файла.

Я оглянулся на ваш предыдущий вопрос ( Облако Google: загрузка в формате CSV ) и заметил, что вы не звоните .close() в свой файл GCS / blobstore после завершения sh писать на него.

Может быть, это исправит это.

...