公式に提供されているバルクローダーオプションを使用することに成功しなかったので、独自のバルクローダースクリプト(実際には、csvからデータストアにエンティティを段階的にロードするポストハンドラー)を作成しました。
解決策は次のように機能しました:
1。csvファイルからデータをコピーします
2.アプリのフォームのテキスト領域に貼り付けます
3.フォームを投稿します
4.ハンドラーはヘッダー(列名)の受信テキストを解析します
5 。残りの行をリスト
6に格納します。リストから100行を段階的にフェッチし、行ごとにエンティティを作成して格納します(エンティティのタイプは、フォームの選択フィールドから指定されたタイプから解決されます)
現在、この手法は、最大1000行の小さな入力に対して、開発サーバーで機能します。それを超えると、次のエラーが表示されます。
トレースバック(最後の最後の呼び出し):
ファイル "/ host / _Hive / Lab / ACTIVE WORKS / UG VOTES / google_appengine / google / appengine / ext / webapp / init .py"、行513、呼び出し
ファイル "/ host / _Hive / Lab / ACTIVE WORKS / UG VOTES / google_appengine / myApps / ugvotes / ugvotes.py "、241行目、投稿
ファイル" / host / _Hive / Lab / ACTIVE WORKS / UG VOTES / google_appengine / google / appengine / ext / db / init .py "、行893、プット
ファイル" / host / _Hive / Lab / ACTIVE WORKS / UG VOTES / google_appengine / google / appengine / api / datastore.py "、行291、プット
ファイル" / host / _Hive / Lab / ACTIVE WORKS / UG VOTES / google_appengine / google / appengine / api / datastore.py "、195行目、_MakeSyncCall
ファイル"/host/_Hive/Lab/ACTIVEWORKS / UG VOTES / google_appengine / google / appengine / api / apiproxy_stub_map.py"、行499、check_success
ファイル "/ host / _Hive / Lab / ACTIVE WORKS / UG VOTES / google_appengine / google / appengine / api / apiproxy_rpc.py "、149行目、_WaitImpl
ファイル" /host/_Hive/Lab/ACTIVE WORKS / UG VOTES / google_appengine / google / appengine / api / datastore_file_stub.py "、863行目、MakeSyncCall
ファイル"/host/_Hive/Lab/ACTIVE WORKS / UG VOTES / google_appengine / google / appengine / api / apiproxy_stub.py"、80行目、MakeSyncCall
ファイル "/ host / _Hive / Lab / ACTIVE WORKS / UG VOTES / google_appengine / google /appengine/api/datastore_file_stub.py "、行933、_Dynamic_Put
ファイル"/host/_Hive/Lab/ACTIVEWORKS / UG VOTES / google_appengine / google / appengine / api / datastore_file_stub.py"、行806、__WriteDatastore
ファイル"/ host / _Hive / Lab / ACTIVE WORKS / UG VOTES / google_appengine / google / appengine / api / datastore_file_stub.py "、836行目、__ WritePickled
IOError:[Errno 24]開いているファイルが多すぎます:'/ tmp / tmpOfgvm3'
最初は開発サーバーの制限によるエラーだと思っていましたが、本番サーバーから同じタスクを実行しようとすると、次のエラーが発生しました。
エラー:サーバーエラーサーバーでエラーが発生し、リクエストを完了できませんでした。
問題が解決しない場合は、問題を報告し、このエラーメッセージとその原因となったクエリについて説明してください。
何がうまくいかなかったのか、そして私がそれについて何ができるのか誰が知っていますか?
ありがとう。