ユーザ認証をするときにGoogleアカウントを利用せず、データストアにユーザマスタを作成して行っている。
データのアップロード・ダウンロードにはGoogle App Engine SDK for Pythonで公開されているappcfg.pyとbulkloader.yamlを使った一括ローダーが一般的だろう。
データのアップロードとダウンロード
しかし、「開発用サーバーへのデータのロード」にローカル環境へのコマンドが記載されているが、同じようにやってもうまく行かず、結局イマイチよく分からなかった。これってpythonで作ったアプリに対してだけなのかな、って判断した。なので、マスタ登録用のロジックを組んで・・・って感じで登録を行っていた。
これが相当面倒・・・
できれば、ユーザマスタとか他のマスタデータをエクセルやCSVファイルとかで用意して、ローカル環境で動作確認をしたかった。
色々調べたり、試してみたりしていたところ、
httplib.BadStatusLineという例外が発生していた。
これを調べてみるとProxy設定の記事にたどり着いた。
おや?
会社からGAE環境にアップするときには、会社のProxy設定をしている。
ということは??ローカルURLでProxy設定を行うのか?????
やってみよう!!
ということで、やってみた。
・・・
・・・・・・
でけたーーーーーーーーー!
という事で、データアップロードの手順とかまとめる。
諸々のインストールとかEclipseからGAE/JでWebApplicationとして実行できるとか、yamlファイルを作成と編集とか、そこらへんは割愛!
- 設定内容
- OS:Windows
- ポート番号:8888
- リモートAPIのパス:http://localhost:8888/remote_api
- アップするデータファイル:CSVファイル
- Google App Engine for Pythonにパスを通す
set PATH=%PATH%;appEnginePython¥bin
- Proxy設定を行う
set HTTP_PROXY=http://localhost:8888
set HTTPS_PROXY=http://localhost:8888
- Eclipseで該当のアプリを起動
- アップロードコマンドの実行!
appcfg.py upload_data
--filename=xxxxx.csv
--config_file=bulkloader.yaml
--url=http://localhost:8888/remote_api
--kind=xxxx
-v --no_cookies --email=test@example.com --passin
- メールアドレスのパスワードの入力が求められるので、入力
上記手順でローカル環境へのアップロードが完了する!(はず・・・)
ちなみに、プロキシはEclipseの起動オプションで設定したものを、メールアドレスとパスワードは何でもOKです。
ポイントはアップロードコマンドにアプリケーションIDを指定するオプションを使用しないこと。
理由は分からないけど、アプリケーションIDを指定してしまうと、データが行方不明になりましたw
ダウンロードも同様の設定でできた〜
0 件のコメント:
コメントを投稿