Я перехожу из хранилища blobstore в Google Cloud Storage в своем приложении Python Google App Engine. Я хотел бы использовать API blobstore при загрузке в GCS. Это совершенно нормально, согласно документации Python GAE относительно blobstore.
Поток работает так же, как и при хранении в blobstore. Клиент запрашивает URL-адрес загрузки, blobstore.create_upload_url (...) создает его, клиент загружает файл через составной POST, а затем сервер перенаправляет обработчик загрузки в мое приложение GAE.
Проблема в том, что, хотя мне нужно выбрать ведро GCS (это один из параметров вызова create_upload_url), я не понимаю, как я могу выбрать имя файла. Я бы хотел разбить его по папкам. Вдохновение исходит от
Google App Engine Blobstore в Google Cloud Storage Migration Tool, где имя файла разорвано, чтобы можно было управлять просмотром "папок" GCS.
Я знаю только один способ назвать файл GCS - отказаться от API blobstore. Вместо этого клиент загрузит файл в обработчик GAE, который будет использовать lib.cloudstorage для записи данных файла в GCS - точно так же, как цитируемый инструмент миграции.
Я бы потерял полезные свойства GCS, такие как повторные попытки при ошибках во время загрузки.
Вопрос: есть ли способ загрузить файл непосредственно в GCS, влияя на способ наименования результирующего объекта GCS.