2016-04-07 3 views
0

Есть ли способ создать обработчик с подписанными URL-адресами в Google Cloud Storage с помощью Google App Engine (Java)?Google Cloud Storage + App Engine подписанный обработчик загрузки URL

Я могу успешно загружать файлы в ведра с подписанными URL-адресами в моем приложении Android (Java), но у меня нет текущего способа выполнения дополнительной серверной части кода при завершении загрузки.

Я уже возился с API Blobstore и создавал загрузочные URL-адреса, которые обрабатываются сервлетом в приложении, но я не могу заставить его работать в моем проекте App Engine для объектов Cloud Endpoints.

Кроме того, подписанные URL-адреса выглядят благоприятными для меня, потому что я могу установить для них истечение.

+0

Есть уведомления об изменении объекта (https: //cloud.google.com/storage/docs/object-change-notification), если вы помните подписанный URL-адрес, который вы создали, он должен быть способен отфильтровать события, которые вас не интересуют. – konqi

+0

@konqi. используется вместо загрузочных обработчиков в GCS? – Micro

+0

Может быть? Я не знаю. Возможно: да. – konqi

ответ

0

Похоже, что единственный способ сделать это прямо сейчас - object change notifications. Что на самом деле не так уж плохо.

настроить сервлет в моем Cloud Endpoints App проекта двигателя и в его doPost() я прочитал в JSon теле запроса, и разбор его вы получите всю необходимую информацию: https://cloud.google.com/storage/docs/object-change-notification#_Type_AddUpdateDel

Имейте в виду, предупреждение от docs хотя:

из-за механизма повтора выше, возможно, что уведомления доставляются более чем один раз. Убедитесь, что ваше приложение является идемпотентным в отношении обработки уникального уведомления .

Поэтому убедитесь, что все, что операции, которые вы принимаете после того, как уведомление посылается идемпотентно (например, делают работу более одного раза не влияет на первый результат операции)

Смежные вопросы