Ruby Bookshelf 應用程式

Bookshelf 應用程式是一個以 Ruby 編寫的範例網頁應用程式,用於示範如何使用各種 Google Cloud Platform (GCP) 產品,包含:

  • App Engine 彈性環境
  • Cloud SQL
  • Cloud Datastore
  • Cloud Storage
  • Cloud Pub/Sub

本教學課程將探索 Bookshelf 範例應用程式,並說明如何使用 GCP 提供的技術與服務實作應用程式的每項功能。

Bookshelf 範例應用程式以 Ruby on Rails 網頁應用程式架構為基礎,但不論您使用哪一個架構,皆可套用本文探討的概念和技術。您可使用其他以 Rack 為基礎的 Ruby 網路架構實作此應用程式,例如 Sinatra

顯示控制項與書籍封面的 Bookshelf 應用程式的螢幕擷取畫面

Bookshelf 範例應用程式儲存一系列書名。任何有權存取本應用程式的使用者,都可以編輯這份清單。範例應用程式可讓使用者執行下列作業:

  • 查看書籍清單。
  • 將書籍加入清單。
  • 從清單中移除書籍。
  • 編輯書籍詳細資料。
  • 上傳書籍的封面圖片。
  • 使用 Google 帳戶登入,查看新增到清單中的書籍。

目標

  • 複製或下載範例應用程式。
  • 建構應用程式並在本機電腦執行該應用程式。
  • 將應用程式部署至 App Engine。
  • 逐步完成程式碼範例。
  • 瞭解應用程式如何儲存結構化資料。
  • 瞭解應用程式如何將二進位資料儲存在 Cloud Storage。
  • 瞭解應用程式如何驗證使用者。
  • 瞭解應用程式如何建立顯示在 Google Cloud Platform 主控台中的事件記錄。
  • 瞭解應用程式如何使用 Cloud Pub/Sub 將工作傳送至背景工作站。

費用

本教學課程使用 GCP 計費元件,包括 Compute Engine。

本教學課程包含數個步驟,每個步驟都有各自專屬的解說頁面。教學課程的最後一頁包含清除所用資源的操作說明。執行這項操作之後,系統就不會再向您收取使用 GCP 服務的費用。如果您決定不完成教學課程的所有步驟,請查看最後一頁的清除所用資源操作說明

事前準備

  1. 如要設定 Google Cloud Platform 專案,請使用 GCP 主控台:
    1. 建立新的 GCP 專案、建立 App Engine 應用程式,然後在該專案中啟用計費功能。
      前往 App Engine

      請依提示選取您要放置 App Engine 應用程式的地區,然後啟用計費功能。建立 GCP 專案之後,會開啟「Dashboard」(資訊主頁)

    2. 啟用Cloud Datastore, Cloud Pub/Sub, Cloud Storage JSON, Stackdriver Logging, and Google+ API。

      啟用 API

  2. 下載、安裝並初始化 Cloud SDK。
    下載 Cloud SDK
  3. 取得用於驗證 GCP 服務的本機憑證。
    gcloud auth application-default login
  4. 確認您的預設專案正確無誤。
    gcloud config list
    如果輸出中所列的專案 ID 不是您要在本教學課程中使用的專案,請如下設定專案。
    gcloud config set project [YOUR_PROJECT_ID]
    其中,[YOUR_PROJECT_ID] 是您為本教學課程所建立或選擇使用的專案 ID。
  5. 複製範例存放區。

    git clone https://github.com/GoogleCloudPlatform/getting-started-ruby.git

    您也可以下載 zip 格式的範例檔案,然後解壓縮。

本教學課程假設您已熟悉 Ruby on Rails,並且已安裝 Ruby 2.0.0 以上版本。如要執行 gem 指令,您需要 Ruby 隨附的 RubyGems,並且需要安裝 Bundler。和大部分的 Ruby 開發作業一樣,在本教學課程中安裝 Ruby Gem 需要編譯 C 程式碼和連結至系統程式庫。請確保您已針對自己的特定作業系統設定適當的開發環境,包括用於系統程式庫的 C 編譯器、連結器和標頭檔案。

教學課程結構

Bookshelf 教學課程包含多個部分,分別說明範例應用程式如何使用各種 GCP 服務。

教學課程的結構化資料部分會說明範例應用程式如何將書籍資訊儲存在 SQL 或 NoSQL 資料庫中。

範例應用程式的網頁會顯示一份表單,使用者可以在這份表單中輸入書籍名稱、作者、說明與出版日期。應用程式會將此資訊儲存在資料庫中,方便日後擷取來查看或編輯。在教學課程的這個步驟中,您有三種資料庫可以選擇:Cloud SQL、Cloud Datastore 或 PostgreSQL。在您使用其中一種資料庫完成這個步驟之後,就可以繼續下一個步驟。

本教學課程的 Cloud Storage 部分會說明範例應用程式如何將二進位資料儲存在 Cloud Storage 中。在應用程式的網頁中,使用者可以指定每本書的封面圖片。應用程式會將封面圖片儲存在 Cloud Storage 值區中。

教學課程的授權部分會說明範例應用程式如何為使用者提供登入流程。當使用者登入時,使用者輸入的任何書籍都會與此使用者相關聯。已登入的使用者會看到匿名使用者建立的書籍和自己的書籍。其他使用者無法查看已登入使用者所建立的書籍。

本教學課程的記錄部分說明範例應用程式如何寫入能在 Google Cloud Platform 主控台中查看的記錄。這類記錄可在應用程式開發期間提供診斷資訊。

本教學課程的 Cloud Pub/Sub 部分會說明應用程式如何使用 Cloud Pub/Sub 將工作傳送至背景工作站。工作站會從 Google Books API 收集資訊,並更新資料庫中的書籍資訊。

本頁內容對您是否有任何幫助?請提供意見:

傳送您對下列選項的寶貴意見...

這個網頁