The serving url will be available until you cancel it using delete_serving_url
. It would be in your best interest to keep both the gs_key
and the serving url.
class Picture(ndb.Model):
cdate = ndb.DateTimeProperty(auto_now_add=True)
filename = ndb.StringProperty(required=True)
gs_key = ndb.StringProperty(required=True)
_serving_url = ndb.StringProperty(indexed=False)
@property
def serving_url(self):
if self.gs_key:
if not self._serving_url:
self._serving_url = images.get_serving_url(self.gs_key,48,True)
self.put()
return self._serving_url
return ''
Each call to get_serving_url
creates an RPC request so minimizing these would be ideal. Keeping the gs_key
will let you delete the serving url at a later time if required, or let you do alternate operations with the uploaded file (e.g. creating more than one size thumbnail)