Как да зададете персонализиран ключ за файлове, качени в appengine с помощта на blobstore

Следвайки инструкциите за качване на blob на appengine, бях на разположение за качване/изтегляне изображения.

Но искам да намеря метод за предотвратяване на дубликати, затова бих искал да знам дали е възможно да имам персонализиран ключ за обектите blobstore или да използвам MD5 като Ключа, така че поне да мога да презапиша съществуващите файлове.

Има ли някаква кукичка или някакъв допълнителен параметър, който бих могъл да използвам в рамките на blobstore.create_upload_url, който би могъл да помогне за определяне на персонализиран ключ за качения обект?


person nbari    schedule 20.03.2014    source източник


Отговори (2)


Google се отдалечава от blobstore. Можете също да използвате клиентската библиотека на Cloudstorage.

Някои от предимствата:

  • от 1,9.0 безплатна квота в кофата на GCS по подразбиране
  • използвайте папки и имена на файлове и можете да презапишете (замените) съществуващи файлове.
  • създайте serving_url за изображения и други файлове, които ще бъдат обслужвани от Google
  • и още ..

Създадох това същност, за да покажа как да използвам GCS в Google App Engine.

person voscausa    schedule 20.03.2014

Blob ключовете са гарантирано уникални. Не е нужно да правите нищо за това.

РЕДАКТИРАНЕ:

Ако искате да пренапишете петното, трябва да знаете ключа на петното, което искате да актуализирате някъде във вашия модел. Ако искате, можете също да съхраните хеш или друг идентификатор (т.е. име на файл) във вашия модел. След това можете да сравните хеш на нов файл, например, с хешове на предишни съхранени файлове и да решите дали искате да изтриете дублиран запис.

person Andrei Volgin    schedule 20.03.2014
comment
Как мога да променя поведението, така че да мога да имам свои собствени Ключове?, например ако използвам md5 като ключ, мога да кача един и същ файл няколко пъти, но накрая ще има само един запис вместо много записи с едни и същи данни. Някакви идеи? - person nbari; 20.03.2014
comment
Не можете да промените това поведение. Трябва да запомните ключа на петно, което искате да пренапишете/изтриете. Актуализирах отговора си. - person Andrei Volgin; 20.03.2014