Используя Python-клиент GCS, удаление большого двоичного объекта не вызывает никаких исключений. Но выполнение GET для только что удаленного URI все равно возвращает ресурс. Следующий код является частью одного файла приложения Flask.
from google.cloud import storage as gstorage
storage_client = gstorage.Client()
storage_bucket = storage_client.get_bucket(app.config['STORAGE_BUCKET'])
@bp.route('/verify', methods=['POST'])
def post_verification_photo():
...
crs.execute('SELECT uri FROM photo WHERE id=%s', (photoId,))
photoUri = crs.fetchone()[0]
storage_bucket.delete_blob(photoUri[photoUri.rindex('/')+1:])
Обратите внимание, что объект был создан с заголовком Cache-Control: public, max-age=9999999
, а также стал общедоступным и не возобновляемым в метаданных.
После выполнения ошибки не возникает, но ПОЛУЧЕНИЕ полного URI с префиксом URI корзины все еще возвращает объект. Я смущен фактическим использованием этих методов? Или API занимает некоторое время, чтобы удалить его из своей сети? Или что-то еще?