リモートAPIを使用してBLOBをBLOBストアにアップロードすることは可能ですか(標準のアップロードスキームではありません)。
私は自分のアプリケーション用のバックアップ/復元スクリプトを書きたいのですが、blobstoreが動作しない唯一のものです。
回答:
回答№1は1Remote APIを介したBlobstoreアクセスが3日前に追加されました:
- リモートAPIはBlobstore APIをサポートするようになりました。 (変更ログ)
remote_apiは最低レベルで動作します のデータストアなので、設定したら スタブを上げても、心配する必要はありません。 あなたが「手術している」という事実について リモートデータストアで:いくつかの 警告、それは正確に同じように動作します データストアにアクセスしていた場合 直接。 (App Engineのヘルプ)
回答№2の場合は1
私はかつてプログラムでBLOBストアにアップロードする問題を解決し、私のブログに短いチュートリアル/説明を書きました。それが役に立つことを願っています: http://swizec.com/blog/programatically-uploading-to-blobstore-in-python/swizec/1423
回答№3の場合は0
新しいファイルAPIを使ったより良い解決策があります。 http://code.google.com/appengine/docs/python/blobstore/overview.html
これは私にとってはうまくいきます。サンプルコードは次のとおりです。
from __future__ import with_statement
from google.appengine.api import files
from google.appengine.ext import blobstore
def get_blob_key(self, data, _type):
# Create the file
file_name = files.blobstore.create(mime_type = _type)
# Open the file and write to it
with files.open(file_name, "a") as f:
f.write(data)
# Finalize the file. Do this before attempting to read it.
files.finalize(file_name)
# Get the file"s blob key
blob_key = files.blobstore.get_blob_key(file_name)
return blob_key