Ruby hello world
這個程式碼範例是在 Ruby 上執行的「hello world」應用程式。示範如何完成下列工作:
- 設定驗證方法
- 連線至 Bigtable 執行個體。
- 建立新的資料表。
- 將資料寫入資料表。
- 讀取資料。
- 刪除資料表。
設定驗證方法
如要在本機開發環境中使用本頁的 Ruby 範例,請安裝並初始化 gcloud CLI,然後使用使用者憑證設定應用程式預設憑證。
-
安裝 Google Cloud CLI。
-
如果您使用外部識別資訊提供者 (IdP),請先 使用聯合身分登入 gcloud CLI。
-
如果您使用本機殼層,請為使用者帳戶建立本機驗證憑證:
gcloud auth application-default login
如果您使用 Cloud Shell,則不需要執行這項操作。
如果系統傳回驗證錯誤,且您使用的是外部識別資訊提供者 (IdP),請確認您已 使用聯合身分登入 gcloud CLI。
詳情請參閱「 設定本機開發環境的驗證機制」。
設定環境
如要執行這個範例,您必須安裝 Ruby。
1. 安裝 Ruby
如要查看用戶端程式庫的最低 Ruby 版本需求,請參閱 google-cloud-bigtable.gemspec 檔案中的 required_ruby_version。
在 Compute Engine VM 上設定 Ruby
如要在 Compute Engine VM 上執行範例,請按照下列操作說明,在 Debian 或 Ubuntu VM 上設定 Ruby。前往 Google Cloud 控制台的「VM instances」(VM 執行個體) 頁面。
如果沒有使用 Debian 或 Ubuntu 作業系統的 Linux VM,請建立並連線至 VM。詳情請參閱「使用 Linux VM 的快速入門導覽課程」。
在 VM 的終端機視窗中,更新套件清單:
sudo apt update安裝 Ruby、開發人員工具和
build-essential,這些都是用戶端程式庫的必要項目:sudo apt install -y ruby ruby-dev build-essential確認安裝的 Ruby 版本符合
google-cloud-bigtable.gemspec檔案中指定的最低需求:ruby --version
2. 安裝用戶端程式庫
如要安裝用戶端程式庫,請按照下列步驟操作:
初始化 Bundler,在專案的根目錄中建立
Gemfile:bundle init將
google-cloud-bigtable新增至Gemfile並安裝:bundle add google-cloud-bigtable
如要進一步瞭解用戶端程式庫,請參閱 google-cloud-bigtable README。
執行範例
這個程式碼範例使用 Google Cloud Client Library for Ruby 的 Ruby Bigtable 用戶端程式庫 套件與 Bigtable 通訊。
如要執行這個範例程式,請按照 GitHub 上的範例操作說明操作。
搭配使用 Cloud 用戶端程式庫與 Bigtable
這個範例應用程式會連線至 Bigtable,並示範一些簡單的作業。
須使用用戶端程式庫
這個範例需要 google/cloud/bigtable,其中提供 Bigtable 模組。
連線至 Bigtable
建立要在應用程式中使用的變數,並將「YOUR_PROJECT_ID」替換為有效 Google Cloud 專案的 ID。接著,建立新的 Bigtable 物件,用於連線至 Bigtable。
建立資料表
檢查資料表是否已存在。如果沒有,請呼叫 create_table() 方法建立 Table 物件。資料表只有一個資料欄系列,且保留每個值的一個版本。
將資料列寫入資料表
接著,請使用問候語的字串陣列,為資料表建立一些新資料列。針對每則問候語,使用資料表的 new_mutation_entry() 方法建立項目。接著,使用項目的 set_cell() 方法,將資料欄系列、資料欄限定詞、問候語和時間戳記指派給項目。最後,使用資料表的 mutate_row() 方法,將該項目寫入資料表。
建立篩選器
讀取寫入的資料前,請先建立篩選器,限制 Bigtable 傳回的資料。這個篩選器會指示 Bigtable 只傳回每個值的最新版本,即使資料表含有尚未進行垃圾收集的舊版也一樣。
依資料列索引鍵讀取資料列
建立資料列物件,然後呼叫 read_row() 方法,並傳入篩選器,即可取得該資料列中每個值的一個版本。
掃描所有資料表資料列
呼叫 read_rows() 方法並傳入篩選器,即可取得資料表中的所有資料列。由於您傳入了篩選器,Bigtable 只會傳回每個值的一個版本。
刪除資料表
使用資料表的 delete() 方法刪除資料表。
全面整合使用
以下是不含評論的完整程式碼範例。