2012-05-11 31 views
4

私はappengineでdjangoアプリケーションを起動して実行しており、ユーザーがアップロードしたときにファイルを作成しています。私が持っている問題は、それらを削除する方法を見つけることです。それらを作成するための私のコードは、次のようになります。Google Cloud Storageからファイルを削除する

from google.appengine.api import files 

file = request.FILES['assets_thumbnail'] 
filename = '/gs/mybucketname/example.jpg' 
writable_file_name = files.gs.create(filename, mime_type='image/jpeg', acl='public-read') 
with files.open(writable_file_name, 'a') as f: 
    f.write(file.read()) 
files.finalize(writable_file_name) 

これは正常に動作しますが、でマニュアルに:

https://developers.google.com/appengine/docs/python/googlestorage/functions

記載されている削除方法はありません。あなたは下のリンクでgoogle.appengine.api.filesのために実際のソースで(ライン504)を見ればしかし、

http://code.google.com/p/googleappengine/source/browse/trunk/python/google/appengine/api/files/file.py

は、私が呼び出すことができますdeleteメソッドがありますが、私は理解できません私の人生のために、それが望んでいる議論とまったく同じです。私は、バケツの名前とそのような組み合わせをたくさん試しました。/Blobstore /で始めることが望ましいと思われます。これは、これまでCloud Storageとやりとりしていたこととは異なるものです。私は、google.appengine.api.filesが上に書かれているが、項目を削除する方法を正確に把握することはできません基礎blobstoreのクラスを見てきました。私がアップロードしたアイテムのBlobKeysを見つける必要があるようです。 Googleのホストであるウェブベースのバケツマネージャーと、それらが提供するgsutilコマンドラインユーティリティを使用して、それらをうまく削除できます。

誰かが、アプリエンジンにデプロイされたPythonアプリケーション経由でGoogle Cloud Storageからファイルを削除しましたか?あらゆる手掛かりや思考/アイデアは大変に感謝しています。

答えて

5

AppEngineリリース1.7.0では、bigstore APIを使用してGoogle Storageオブジェクトを削除できます。

また、残りのAPIを使用してGoogleストレージに電話をかけてファイルを削除することもできます。

https://developers.google.com/storage/docs/reference-methods#deleteobject

+0

ありがとうスチュアート。私は何かが欠けていないことを知ってうれしいです。 –

関連する問題