/ /リモートAPIを使用してBlobStoreにデータをアップロードする - python、google-app-engine

リモートAPIを使用してBlobStoreにデータをアップロードする - python、google-app-engine

リモートAPIを使用してBLOBをBLOBストアにアップロードすることは可能ですか(標準のアップロードスキームではありません)。

私は自分のアプリケーション用のバックアップ/復元スクリプトを書きたいのですが、blobstoreが動作しない唯一のものです。

回答:

回答№1は1

Remote 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