procedura attuale per servire immagine è la seguente:GAE ancora in servizio immagine dal cloud storage di Google dopo aver chiamato delete_serving_url e l'eliminazione di file
- immagine Store su cloud storage Google
- Get blob_key:
google.appengine.ext.blobstore.create_gs_key(filename)
- Get url :
google.appengine.api.images.get_serving_url(blob_key,size=250,secure_url=True)
Per rimuovere l'immagine, dopo aver ottenuto il blob_key:
- Delete url di servizio:
google.appengine.api.images.delete_serving_url(blob_key)
- Cancella file di cloud storage di Google: 'cloudstorage.delete (nome del file)'
Problema
Il problema è che l'URL sia continua a funzionare per un periodo di tempo indefinito, anche se l'immagine sottostante non esiste più su Google Cloud Storage. La maggior parte delle volte l'url restituisce 404 in ~ 24 ore, ma ho visto anche 1 immagine che ora sta ancora servendo (~ 2wks).
Quali sono le aspettative sulla tempestività della chiamata delete_serving_url
? Qualche alternativa per cancellare l'url più velocemente?
Hai impostato l'intestazione Cache-Control sull'oggetto? – jterrace
Sto utilizzando la funzione GCS Client Library (gcs.open) per creare l'oggetto [link] (https://developers.google.com/appengine/docs/python/googlecloudstorageclient/functions#open), ma non è stato possibile specificare il cache-Control. Lo supporta? – legrisdev
Errore da parte mia, stavo usando l'opzione come 'x-goog-cache-control', mentre aveva bisogno di' cache-control'. Tuttavia, quando si crea il file usando 'cloudstorage.open (filename, 'w', content_type = mimetype, options = {'cache-control': 'no-cache'})', e quindi passando attraverso la procedura descritta sopra l'url funziona ancora dopo 1 ora. Pensieri? – legrisdev