どうもPythonを使わないとダメそうでした。
色々とハマって1日かかりましたが、成功した手順を残しておきます。
ほとんど参考もとサイトに記載されてある手順そのままなのですが、
作業の中でハマった点を添えて記載します。
■条件
GAE SDK 1.6.0, Python 2.7.2
※設定については、以前の記事「[Android] 使用するGAEのSDKを1.5.5→1.6.0に変更」を参考
※GAE SDK 1.5.5 だと、この手順は出来ませんでした
■準備(初回のみ)
(1) web.xmlに追記
<!-- Bulkloader -->
<servlet>
<servlet-name>remoteapi</servlet-name>
<servlet-class>com.google.apphosting.utils.remoteapi.RemoteApiServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>remoteapi</servlet-name>
<url-pattern>/remote_api</url-pattern>
</servlet-mapping>
<security-constraint>
<web-resource-collection>
<url-pattern>/remote_api</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>admin</role-name>
</auth-constraint>
</security-constraint>
※アクセス制限をつけています
(2) コマンドプロンプトで、書き込み権限があるフォルダに移動
例)
cd C:\Users\[ユーザー名]
【注意】書き込み権限がないと、以下のエラーが出ました
IOError: [Errno 13] Permission denied: 'C:\\Program Files (x86)\\Google\\google_
appengine\\bulkloader-log-20111112.211457'
(3) 設定ファイルを作成(初回のみ)
appcfg.py create_bulkloader_config --url=http://{appId}.appspot.com/remote_api --application=s~{appId} --filename=config.yml
【注意】config.yml の中身でコマンドが「transformers:」だけだったら生成に失敗しています
【注意】GAE SDK for Python(C:\Program Files (x86)\Google\google_appengine)のパスが環境変数に登録されていること
(4) config.yml の中身を修正
# TODO の箇所を以下のように修正
↓
connector: csv
connector_options:
encoding: utf-8
※CSVファイルをDLするように修正しています
■実行(指定したkindをダウンロード)
(1) config.ymlを使ってDLを実施
appcfg.py download_data --filename=download.csv --config_file=config.yml --url=http://{appId}.appspot.com/remote_api --application=s~{appId} --kind={指定のkind}
※kindって何だろうと調べたら、Datastoreへの保存で使用しているクラス名と一緒でした。
準備(3)で生成した config.yml の中身を見ると、Datastoreに保存しているクラスの分だけ「- kind:[kind名]」の行が確認できました
■参考もと
http://www.tdtsh.com/blog/archives/1359