2014年1月9日 星期四

PHP on GAE (四) 使用Google Cloud SQL來儲存資料

Google Cloud SQL是Google雲端平台的關聯式資料庫服務,新版的介面裡面沒有可以輸入SQL語法的地方,所以需要在本機另外安裝軟體去連接,或者有興趣的人可以考慮在GAE上面裝phpMyAdmin,我是沒試過,不過這個作者把deploy的.sh都寫好了,我是Windows就用toad吧;本篇包含三個主題

  1. 創建第一個Cloud SQL Instance
  2. 在程式中連到Google Cloud SQL 
  3. 使用與限制
那麼馬上開始吧!
  1. 創建第一個Cloud SQL Instance
    1. Instance這個詞有時候真的很困擾,在GCP就把它想成一個Server吧,一個instance裡面可以有多個database (在Microsoft SQL Server裡的定義又不同了,改天說吧)
    2. 進到Google Cloud Console.,開啟在上一篇建立的Guestbook project,還記得project id 吧?
    3. 啟用billing付費機制,點左邊的Settings,然後在右邊點選Enable billing必須先輸入信用卡號才能啟用billing,啟用billing之後才能用Cloud SQL,費用的部分可以參考這裡,做完這個sample一個月用不到40塊吧,比自己假一台server的電費還低,完成後應該會變這樣。
    4. 新增Cloud SQL Instance

    5. Instance Name取為guestbook, Instance ID 為"our-project-name:your-instance-name",所有設定都使用預設。按下confirm
    6. 稍等一下,等到Instance ID出現的時候,Instance就建好了,此時要再設定一些東西等下才有辦法連的過來,點一下instance ID
    7. 點選Acess Control Tab,(1)設定這個instance的IP才有辦法遠端連過來,(2) 設定root帳號的密碼 (3)允許你的IP可以連到這個Instance,要查自己的IP?Google 一下"What is my IP",接下來你就可以從自己的電腦用你喜歡的工具連到遠端的DB了


  2. 存取Cloud SQL的限制
    1. 最大的Request/Response大小:16MB
    2. 與GAE的HTTP request必須在60秒內完成
    3. 離線的工作如cron task最長不能超過10分鐘
    4. backend request最長不能超過10分鐘
    5. 其他限制請參閱Quotas 
  3. 來實際把剛剛開的訪客紀錄存起來吧
    1. 修改helloworld.php如下,變成有DB的版本
    2. 在本機DB上執行這段Script ,然後看一下本機開發環境,喔耶可以執行
    3. 用管理工具連到Cloud SQL上執行上面的scrtipt
    4. 修改一下helloworld.php的DB 設定,改連向Cloud Storage

    5. 把結果發佈到GAE上

沒有留言:

張貼留言