google.appengine.ext.ndb.blobstore モジュール

概要

Blobstore の NDB インターフェース。

これは現在、google.appengine.ext.blobstore をベースに構築されており、同様の API を提供しています。API の主な違いは以下のとおりです。

  • BlobInfo は、擬似モデルクラスではなく、実際の Model サブクラスです。照会するには、BlobInfo.query() とその文書化されたプロパティを使用してください。その他の変更: - 種類は ‘__BlobInfo__’ (BLOB_INFO_KIND) です。 - key() は、BlobKey インスタンスを返すメソッドです。 - put() と friends は無効です。 - クラスメソッド get() および friends が追加されました。 - インスタンス メソッド delete() および friends、さらには open() が追加されました。

  • BlobReferenceProperty の代わりに、BlobKeyProperty があります。

  • create_rpc() 関数はありません。代わりに、関数とメソッドには、期限、コールバック、および(場合によっては)データストア オプションを指定するためのキーワード引数を指定可能です。

  • ext.blobstore で blob キーまたは blob キーのリストいずれかを取る API(get() および delete())は、blob キーを取るものと blob キーのリストを取るものの 2 つに分割されます。後者の名前は、_multi で終わります。

  • 次の API には、同期バージョンと非同期バージョンがあります。 - BlobInfo.get() - BlobInfo.delete() - create_upload_url() - get() - get_multi() - delete() - delete_multi() - fetch_data()

内容

exception google.appengine.ext.ndb.blobstore.BlobFetchSizeTooLargeErrorソース

ベース: google.appengine.api.blobstore.blobstore.Error

ブロックが大きすぎてフェッチできませんでした。

class google.appengine.ext.ndb.blobstore.BlobInfo(*args, **kwds)ソース

ベース: google.appengine.ext.ndb.model.Model

Blobstore 内の blob に関する情報。

これは Model のサブクラスであり、書き込み不可に修正されています。

プロパティ: - content_type: blob のコンテンツ タイプ。 - creation: blob がアップロードされたときの作成日。 - filename: 自分のマシンから選択されたファイル名のユーザー。 - size: 未圧縮の blob のサイズ。 - md5_hash: アップロードされた blob の md5 ハッシュ値(16 進数)。

その他の API:

クラスメソッド: - get(): キーで BlobInfo を取得する - get_multi(): キーで BlobInfo のリストを取得する - get_async()、get_multi_async(): get() および get_multi() の非同期バージョン

インスタンス メソッド: - delete(): この blob を削除する - delete_async(): delete() の非同期バージョン - key(): この blob の BlobKey を返す - open(): この blob の BlobReader インスタンスを返す

BlobInfo インスタンスは Blobstore と同期されるため、クラス キャッシュ ポリシーはオフになります。

このクラスをサブクラス化しないでください。

content_type

値の長さが制限されたテキスト文字列である、インデックスに登録されたプロパティ。

creation

値が datetime オブジェクトであるプロパティ。

注: Django とは異なり、auto_now_add はエンティティを書き込む前に値を設定することによってオーバーライドされます。以前の db とは異なり、auto_now はデフォルト値を提供しません。また、以前の db とは異なり、エンティティが書き込まれるとき、書き込まれた値と一致するようにプロパティ値が更新されます。最後に、これはインプロセス キャッシュの値も更新し auto_now_add はトランザクションの再試行に異常な影響を与える可能性があるので注意してください(auto_now_add セットを持つプロパティの再試行は、最初の試行で設定された値を再利用します)。

delete(**options)ソース

Blobstore からこの blob を永久に削除します。

パラメータ

**options – create_rpc() のオプション。

delete_async(**options)ソース

delete() の非同期バージョン。

filename

値の長さが制限されたテキスト文字列である、インデックスに登録されたプロパティ。

classmethod get(blob_key, **ctx_options)ソース

キーで BlobInfo を取得します。

パラメータ
  • blob_key – blob キー。これは、str、unicode、または BlobKey インスタンスです。

  • **ctx_options – Model().get_by_id() のコンテキスト オプション。

戻り値

指定されたキーに関連付けられた BlobInfo エンティティ。そのようなエンティティがなかった場合は、None を返します。

classmethod get_async(blob_key, **ctx_options)ソース

get() の非同期バージョン。

classmethod get_multi(blob_keys, **ctx_options)ソース

get() のマルチキー バージョン。

パラメータ
  • blob_keys – blob キーのリスト。

  • **ctx_options – Model().get_by_id() のコンテキスト オプション。

戻り値

項目が BlobInfo エンティティまたは None のいずれかであるリスト。

classmethod get_multi_async(blob_keys, **ctx_options)ソース

get_multi() の非同期バージョン。

key()ソース

blob のキーを取得します。

戻り値

この blob を識別する BlobKey インスタンス。

md5_hash

値の長さが制限されたテキスト文字列である、インデックスに登録されたプロパティ。

open(*args, **kwds)ソース

この blob の BlobReader を返します。

パラメータ

**kwargs (*args,) –

BlobReader コンストラクタに渡されます。

戻り値

BlobReader インスタンス。

put_async(**ctx_options)ソース

BlobInfo エンティティを読み取り専用にするための簡単な方法。

size

値が Python int または long(または bool)のプロパティ。

exception google.appengine.ext.ndb.blobstore.BlobInfoParseErrorソース

ベース: google.appengine.api.blobstore.blobstore.Error

CGI パラメータに有効な BlobInfo レコードが含まれていません。

class google.appengine.ext.ndb.blobstore.BlobKey(blob_key)ソース

ベース: オブジェクト

Blobstore の blob を識別するために使用されるキー。

このオブジェクトは Blobstore API によって内部でアプリケーションの blob を識別するために使用される文字列をラップします。BlobKey は基盤となる BlobReference エンティティのエンティティの名前に対応します。

このクラスは google.appengine.ext.db と google.appengine.ext.blobstore の両方で API で公開されます。

ToXml()ソース
exception google.appengine.ext.ndb.blobstore.BlobNotFoundErrorソース

ベース: google.appengine.api.blobstore.blobstore.Error

blob が存在しません。

class google.appengine.ext.ndb.blobstore.BlobKeyProperty(*args, **kwds)ソース

ベース: google.appengine.ext.ndb.model.Property

値が BlobKey オブジェクトであるプロパティ。

class google.appengine.ext.ndb.blobstore.BlobReader(blob, buffer_size=131072, position=0)ソース

ベース: google.appengine.ext.blobstore.blobstore.BlobReader

blobstore blob への読み取り専用ファイルのようなインターフェースを提供します。

blob_info

このファイルの BlobInfo を返します。

exception google.appengine.ext.ndb.blobstore.DataIndexOutOfRangeErrorソース

ベース: google.appengine.api.blobstore.blobstore.Error

インデックスにアクセスできませんでした。

指定されたインデックスが範囲外か、または順序が間違っています。

exception google.appengine.ext.ndb.blobstore.PermissionDeniedErrorソース

ベース: google.appengine.api.blobstore.blobstore.Error

オペレーションは完了しませんでした。必要な権限を確認してください。

exception google.appengine.ext.ndb.blobstore.Errorソース

ベース: exceptions.Exception

ベース blobstore のエラータイプ。

exception google.appengine.ext.ndb.blobstore.InternalErrorソース

ベース: google.appengine.api.blobstore.blobstore.Error

内部エラーが発生しました。

google.appengine.ext.ndb.blobstore.create_upload_url(success_path, max_bytes_per_blob=None, max_bytes_total=None, **options)ソース

POST フォームのアップロード URL を作成します。

パラメータ
  • success_path - POST 呼び出しが成功してアップロードが完了したときに呼び出すアプリケーション内のパス。

  • max_bytes_per_blob - アップロードに含まれる 1 つの blob の最大サイズ(バイト単位)。最大サイズがない場合は None です。

  • max_bytes_total - アップロード内のすべての blob を集約したサイズが、なり得る最大サイズ(バイト単位)。最大サイズがない場合は None です。

  • **options – create_rpc() のオプション。

戻り値

アップロード URL。

発生
  • TypeError – max_bytes_per_blob または max_bytes_total が整数型でない場合。

  • ValueError – max_bytes_per_blob または max_bytes_total が正の値でない場合。

google.appengine.ext.ndb.blobstore.create_upload_url_async(*args, **kwds)ソース

create_upload_url() の非同期バージョン。

google.appengine.ext.ndb.blobstore.delete(blob_key, **options)ソース

Blobstore から blob を削除します。

パラメータ
  • blob_key – blob キー。これは、str、unicode、または BlobKey インスタンスです。

  • **options – create_rpc() のオプション。

google.appengine.ext.ndb.blobstore.delete_async(*args, **kwds)ソース

delete() の非同期バージョン。

google.appengine.ext.ndb.blobstore.delete_multi(blob_keys, **options)ソース

Blobstore から blob を削除します。

パラメータ
  • blob_keys – blob キーのリスト。

  • **options – create_rpc() のオプション。

google.appengine.ext.ndb.blobstore.delete_multi_async(*args, **kwds)ソース

delete_multi() の非同期バージョン。

google.appengine.ext.ndb.blobstore.fetch_data(blob, start_index, end_index, **options)ソース

blob のデータをフェッチします。

blob のフラグメントを長さが MAX_BLOB_FETCH_SIZE までフェッチします。blob の境界を越えて、さらにフラグメントをフェッチしようとすると、start_index から blob の終わりまでのデータ量が返されます。これは要求されたサイズよりも小さいサイズになります。blob の境界の外側にあるフラグメントをリクエストと、空の文字列が返されます。負のインデックスをフェッチしようとすると、例外が発生します。

パラメータ
  • blob - データをフェッチする blob の BlobInfo、BlobKey、str、または BlobKey の Unicode 表現。

  • start_index - フェッチする blob データの開始インデックス。負の値は使用できません。

  • end_index - フェッチする blob データの終了インデックス(終端を含む)。start_index 以上である必要があります。

  • **options – create_rpc() のオプション。

戻り値

blob の部分データを含む str。インデックスが適格であるが blob の境界の外側にある場合は、空の文字列が返されます。

発生
  • start_index または end_index がインデックスでない場合は TypeError。また、blob が文字列、BlobKey、または BlobInfo でない場合。

  • start_index が 0 より小さいか end_index < start_index の場合は、DataIndexOutOfRangeError。

  • リクエストされた blob フラグメントが MAX_BLOB_FETCH_SIZE より大きい場合、BlobFetchSizeTooLargeError。

  • blob が存在しない場合は BlobNotFoundError。

google.appengine.ext.ndb.blobstore.fetch_data_async(*args, **kwds)ソース

fetch_data() の非同期バージョン。

google.appengine.ext.ndb.blobstore.parse_blob_info(field_storage)ソース

ファイル アップロード field_storage から BlobInfo レコードを解析します。

パラメータ

field_storage – アップロードされた blob を表す cgi.FieldStorage。

戻り値

フィールド ストレージ インスタンスから解析された BlobInfo レコード。field_storage が存在しない場合は None。

発生
  • field_storage が BlobInfo オブジェクトを構築するのに十分な情報を含んでいない場合、BlobInfoParseError。

このページは役立ちましたか?評価をお願いいたします。

フィードバックを送信...

Python の App Engine スタンダード環境