Прямая загрузка пользователя в GCS с указанным именем и параметрами

Я хочу, чтобы клиенты моего приложения Python GAE могли загружать файлы напрямую в GCS, используя определенное имя объекта и параметры GCS, которые я установил (например, управление кэшем и ACL), и выполнять некоторые действия после завершения загрузки.

В настоящее время я используюblobstore.create_upload_url за это. Однако, поскольку я не могу заранее указать параметры или имя объекта, мне нужно скопировать весь файл в новое место в GCS из обработчика обратного вызова «uploaded». Это время и (вычислительные) ресурсы, и, похоже, этого можно избежать.

Есть ли способ оптимизировать этот процесс?

Могу ли я создать URL для загрузки, который сразу же загрузит объект с правильным именем и правильными параметрами управления ACL + Cache? (Я кратко рассмотрел подписанные URL-адреса, но, похоже, они не поддерживают обработчик обратного вызова, как API Blobstore)Если нет, есть ли способ не копировать побайтовый файл в новое место и удалять его, когда я закончу? (было бы неплохо переместить файл и изменить его атрибуты)

Обновить: Я только что заметил, что клиентская библиотека GCS python имеетcopy2 сейчас. Я мог бы поклясться, что этого не было раньше, но, похоже, это отвечает на второй вопрос.

Ответы на вопрос(1)

Ваш ответ на вопрос