google.appengine.ext.bulkload.bulkloader_config モジュール

概要

バルクローダー構成パーサーとランナー。

バルクローダー yaml 構成を読み込むライブラリ。バルクローダー ツールとコネクタのインターフェースと変換を提供するコード。

内容

class google.appengine.ext.bulkload.bulkloader_config.BulkloadState ソース

ベース: オブジェクト

一括読み込みを行う他のメソッドに渡される状態をカプセル化します。

インポート / エクスポートの変換関数に渡すこともできます。コネクタ オブジェクトに渡されます。

プロパティ:

filename: コマンドラインで渡される filename フラグ。 loader_opts: コマンドラインで渡される loader_opts フラグ。 exporter_opts: コマンドラインで渡される exporter_opts フラグ。 current_instance: 現在のエンティティまたはモデル インスタンス。 current_entity: エクスポート時の現在のエンティティ インスタンス。 current_dictionary: 現在の入力または出力辞書。

class google.appengine.ext.bulkload.bulkloader_config.DictConvertor(transformer_spec) ソース

ベース: オブジェクト

辞書を App Engine モデル インスタンスまたはエンティティに変換します。その逆の処理も行います。

コンストラクタは、単一のトランスフォーマーを表すトランスフォーマーの仕様を bulkloader.yaml で使用します。

DictConvertor オブジェクトには、dict_to_entity と entity_to_dict という 2 つのパブリック メソッドがあります。これらは、仕様に基づいて中間辞書(コネクタの入出力)とエンティティの間で変換を行います。

変換でエンティティの代わりにモデルクラスを使用することもできます。その場合、追加の検証などが実行されますが、パフォーマンスに影響を及ぼします。

dict_to_entity(input_dict, bulkload_state) ソース

辞書をモデルまたはエンティティ インスタンスに変換します。

パラメータ
  • input_dict – 1 つの入力レコードを表す中間入力辞書

  • bulkload_state – 状態を表す bulkload_state オブジェクト。

戻り値

アップロードされるエンティティまたはモデル インスタンス。あるいは、それらのコレクション。

entity_to_dict(entity, bulkload_state) ソース

エンティティを辞書に変換します。モデルを介して変換する場合もあります。

パラメータ
  • entity – エンティティ。

  • bulkload_state – グローバル状態を表す bulkload_state オブジェクト。

戻り値

出力に書き込まれるレコードを表す中間出力辞書。今後のリリースでは、ゼロまたは複数の出力辞書を返す可能性があります。

class google.appengine.ext.bulkload.bulkloader_config.GenericExporter(export_recorder, entity_to_dict, kind, sort_key_from_entity) ソース

ベース: オブジェクト

bulkloader.Exporter インターフェースと委任を実装します。

これにより、渡された entity_to_dict メソッドと ConnectorInterface にある export_recorder のメソッドに委任されます。

finalize() ソース

ダウンロード完了後に、ファイナライズ アクションを実行します。

initialize(filename, exporter_opts) ソース

出力ファイルの初期化と検証を行います。

パラメータ
  • filename – –filename フラグ引数として指定する文字列。

  • exporter_opts – –exporter_opts フラグ引数として指定する文字列。

output_entities(entity_iterator) ソース

ダウンロードされたエンティティを出力します。

パラメータ

entity_iterator – ダウンロードされたエンティティを並べ替えて返すイテレータ。

class google.appengine.ext.bulkload.bulkloader_config.GenericImporter(import_record_iterator, dict_to_entity, name, reserve_keys) ソース

ベース: オブジェクト

input->dict->model 変換の汎用的な Bulkloader インポート クラス。

バルクローダーは generate_records と create_entity を呼び出し、渡されたメソッドにこれらを委任します。

create_entity(values, key_name=None, parent=None) ソース

dict_to_entity メソッドを介して入力値からエンティティを作成します。

パラメータ
  • values – generate_records の中間辞書

  • key_name – generate_key のレコード番号

  • parent – このローダーの実装では常に None

戻り値

アップロードされるエンティティまたはモデル インスタンス。あるいは、それらのコレクション。

finalize() ソース

アップロード完了後に、ファイナライズ アクションを実行します。

インポート時に数値 ID を持つキーが使用された場合、AllocateIds が呼び出され、自動生成の ID とアップロードされたエンティティとの競合が回避されます。

generate_key(line_number, unused_values) ソース

キーを生成する Bulkloader メソッド。ここではほとんど使用しません。

これは、create_entity を呼び出す直前にバルクローダーによって呼び出されます。レコード辞書に渡すため line_number が返されます。それ以外の場合は、使用されません。

パラメータ
  • line_number – バルクローダーのレコード番号

  • unused_values – generate_records の中間辞書。ここでは使用しません。

戻り値

line_number。後で使用します。

generate_records(filename) ソース

コネクタ オブジェクトの中間辞書を返すイテレータ。

パラメータ

filename – コマンドラインで渡される Filename 引数。

戻り値

中間辞書を返すイテレータ。後で create_entity に渡されます。

get_keys_to_reserve() ソース

バルクローダーのローダー インターフェースの一部として必要です。

現時点では、バルクローダーによるインポートでは使用しません。代わりに、ファイナライズ時に必要に応じてキーを予約します。

戻り値

予約するキーのリスト。現時点では常に [] になります。

initialize(filename, loader_opts) ソース

初期化を実行します。後で使用するために値を記録します。

パラメータ
  • filename – –filename フラグ引数として指定する文字列。

  • loader_opts – –loader_opts フラグ引数として使用する文字列。

google.appengine.ext.bulkload.bulkloader_config.create_transformer_classes(transformer_spec, config_globals, reserve_keys) ソース

トランスフォーマーの仕様からインポータとエクスポータのクラスを作成します。

パラメータ
  • transformer_spec – bulkloader_parser.TransformerEntry

  • config_globals – 構成内のコードのグローバルを参照するために使用する辞書

  • reserve_keys – データストアの ID シーケンスを key.id() より先に進める ReserveKeys(keys) メソッド。None と指定することもできます。

発生するエラー

InvalidConfig – 構成が無効な場合。

戻り値

タプル(importer class、exporter class)。transformer_spec の構成に従って DictConvertor オブジェクトを使用してそれぞれを GenericImporter / GenericExporter クラスのラッパーに変換します。

google.appengine.ext.bulkload.bulkloader_config.default_export_transform(value) ソース

デフォルトのエクスポート変換(何も指定されていない場合)

ほとんどのエクスポート コネクタは文字列ベースであると仮定しているため、文字列キャストが使用されます。ただし、None を文字列にキャストすると、None が返され、特殊なケースになります。

パラメータ

value – 一部の型の値。

戻り値

unicode(value) または値が None の場合は u’’

google.appengine.ext.bulkload.bulkloader_config.load_config(filename, update_path=True, reserve_keys=None) ソース

構成ファイルを読み込んで、インポータ クラスとエクスポータ クラスを作成します。

パラメータ
  • filename – bulkloader.yaml のファイル名。

  • update_path – ファイル名のパスが含まれるように sys.path を展開する場合

  • reserve_keys – データストアの ID シーケンスを key.id() より先に進める ReserveKeys(keys) メソッド。None と指定することもできます。

戻り値

ファイルに指定された変換に基づくタプル(importer classes、exporter classes)

google.appengine.ext.bulkload.bulkloader_config.load_config_from_stream(stream, reserve_keys=None) ソース

bulkloader.yaml ファイルを解析して、バルクローダーのローダークラスを取得します。

パラメータ
  • stream – bulkloader.yaml データを含むストリーム。

  • reserve_keys – データストアの ID シーケンスを key.id() より先に進める ReserveKeys(keys) メソッド。None と指定することもできます。

戻り値

バルクローダーに渡すことができるコンストラクタ

戻り値の型

importer_classes、exporter_classes

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

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

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