如何連到(GAE) 的 remote api 後執行一連串指令

之前雖然可以順利執行 remote api
但在 console mode 下指令還是要一行一行輸入很麻煩
剛剛試出了一個辦法, 就是先在專案的根目錄下開一個python 檔
然後也是一樣import 它

例如: 該檔名為 test.py 你就這樣import --> from test import *

2013/3/14 註: 先切換到該project 的根目錄, 然後先執行remote api shell (code 全文如下):

import sys
import os

def main():
    if len(sys.argv) == 1:
        print "Please enter the app id"
        return
   
    appId = sys.argv[1]
    print "appId", appId

    cmd = r'python "C:\Program Files (x86)\Google\google_appengine\remote_api_shell.py" -s %s.appspot.com' % appId
    os.system(cmd)


if __name__ == "__main__":
    main()

輸入帳密後進入console mode, 接著便可以下  from test import *
接著取用裡面的function 對遠端大量資料操作


如此就可以使用裡面的 function 或 class
例如你在裡面定義了一個函式名為 "hello"
那麼你在console 模式下只要輸入 test() 然後Enter 就好
比起原本的一長串指令方便許多

這邊有一點需要注意, 就是要先 import db.models
這樣在 hello() 裏頭才可以取用 例如像 User Order 這些 db model class
而且似乎是在連結到remote api 時那個程式碼就會被保留副本
之後對於程式碼再做修改, 更新的部分不會在這次連結中生效
必須要重連一次 remote api 再 import 一次更新才會生效


留言

熱門文章