GAE資料匯出下載教學 – 3. 下載GAE應用程式的Datastore
若要從GAE下載應用程式的Datastore,一樣要先建立一個新專案。
設定新專案的名稱,type選擇Python,
版本選擇2.5,然後選擇建立有src資料夾的專案,點選Next。
這裡要設定GAE的安裝路徑,預設目錄是”C:\Program Files\Google\google_appengine”。
選擇載入所有的函式庫,然後按OK。
這裡要設定GAE的appid,此處範例為”forinkexample”,
然後選了一個Hello World的範例專案,完成,
會問你是否要現在開啟這個專案,當然是Yes。
在src裡面新增一個檔案,命名為appengine_config.py,程式碼如下:
1 |
remoteapi_CUSTOM_ENVIRONMENT_AUTHENTICATION = ('HTTP_X_APPENGINE_INBOUND_APPID', ['{要下載的來源APP ID}']) |
修改app.yaml,把前面的版本改成新的版本數字,以避免蓋掉原本的程式。
(若使用新的版本號,記得要先暫時將Default改為新版本號,才能正確下載。)
在handlers:段新增:
1 2 3 |
- url: /remote_api script: $PYTHON_LIB/google/appengine/ext/remote_api/handler.py login: admin |
再增加builtins段:
1 2 |
builtins: - remote_api: on |
存檔後,在專案目錄的src右鍵選擇”PyDev:Google App Engine”->”Upload”。
然後在專案的src目錄下右鍵選擇”PyDev:Google App Engine”->”Manage”。
在Command to execute處執行以下指令:
1 |
create_bulkloader_config --filename=bulkloader.yaml --url=http://{要下載的來源APP ID}.appspot.com/_ah/remote_api |
接著到GAE的安裝目錄下(預設是C:\Program Files\Google\google_appengine),
修改bulkloader.yaml以下這段:
1 2 3 |
transformers: - kind: ArticleShareRecord #來源的Datastore名稱 connector: csv #輸出的檔案格式,可以是csv或simplexml |
存檔後再開啟剛剛的指令輸入畫面,在Command to execute處執行:
1 |
download_data --url=http://{要下載的來源APP ID}.appspot.com/_ah/remote_api --filename={輸出檔名}.csv --config_file=bulkloader.yaml --kind={來源的Datastore名稱} |
接著輸入帳號密碼認證後,開始進行下載作業。
完成後,
你可以在GAE的安裝目錄(C:\Program Files\Google\google_appengine)找到剛輸出的csv檔,
一般預設編碼是ANSI,但若含有中文則會是UTF-8編碼,
直接用Excel開啟可能會有亂碼的情況,
可以先用Notepad++轉成ANSI格式,再以Excel開啟。