Сначала я положил изображение на хранение:GAE Python: как использовать delete_serving_url
import cloudstorage as gcs ... path = '/bucket/folder/image.jpg' with gcs.open(path, 'w') as f: f.write(data)
Тогда я получаю выступающей URL:
url = images.get_serving_url(None, filename='/gs{}'.format(self.path), secure_url=True)
сервировки URL в целом работает, как и ожидалось, вещь Я не использую blob_key, только имя файла (путь в хранилище).
Интересно, как удалить serving_url сейчас, так как метод SDK принимает только blob_key
def delete_serving_url(blob_key, rpc=None): """Delete a serving url that was created for a blob_key using get_serving_url. Args: blob_key: BlobKey, BlobInfo, str, or unicode representation of BlobKey of blob that has an existing URL to delete. rpc: Optional UserRPC object. Raises: BlobKeyRequiredError: when no blobkey was specified. InvalidBlobKeyError: the blob_key supplied was invalid. Error: There was a generic error deleting the serving url. """
ответ
Using the Blobstore API with Google Cloud Storage пример показывает, как получить эквивалентную blob_key для ГКС:
blob_key = CreateFile(main.BUCKET + '/blobstore_serving_demo')
С этой ссылкой:
Примечание: После получения BlobKey для объекта Google Cloud Storage, вы можете передать его вокруг, сериализовать его, а в противном случае использовать взаимозаменяемые в любом месте вы можете использовать BlobKey для объектов, хранящихся в Blobstore. Это позволяет использовать, когда приложение хранит некоторые данные в blobstore, а некоторые - в облачном хранилище Google, но обрабатывает данные , иначе идентично остальной части приложения. (Тем не менее, BlobInfo объектов недоступны для объектов Google Cloud Storage.)
Таким образом, вы должны быть в состоянии генерировать BlobKey для вашего файла и вызвать get_serving_url
и delete_serving_url
с ним.
Вы также можете использовать объекты GCS для предотвращения доступа к файлу, см. Setting object permissions and metadata.
Спасибо! Звучит солидно, я попробую, а затем приму ответ – glmvrml
Так что 'delete_serving_url' удаляет весь файл на gcs правильно? –
Нет, я удаляю serve_url для изображения, поэтому его недоступно через этот url – glmvrml