Python hello world
本範例是以 Python 編寫的「hello world」應用程式,說明如何執行以下操作:
- 設定驗證方法。
- 連線至 Bigtable 執行個體。
- 建立新的資料表。
- 將資料寫入資料表。
- 讀取資料。
- 刪除資料表。
Bigtable 的 Python 用戶端程式庫提供兩種 API,即 asyncio
和同步 API。如果應用程式是非同步,請使用 asyncio
。
設定驗證方法
如要在本機開發環境中使用本頁的 Python 範例,請安裝並初始化 gcloud CLI,然後使用使用者憑證設定應用程式預設憑證。
-
Install the Google Cloud CLI.
-
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.
詳情請參閱 Set up authentication for a local development environment。
執行範例
本範例使用 Python 適用的 Cloud 用戶端程式庫的 Bigtable 套件,與 Bigtable 進行通訊。Bigtable 套件是新應用程式的最佳選擇。如要將現有的 HBase 工作負載移至 Bigtable,請參閱使用 HappyBase 套件的「hello world」範例。
如要執行這個範例程式,請依照 GitHub 網頁上的說明操作。
搭配 Bigtable 使用 Cloud 用戶端程式庫
這個應用程式範例會連線至 Bigtable,示範部分作業。
安裝及匯入用戶端程式庫
使用 PIP 將需要的 Python 套件安裝到 virtualenv 環境中。範例包含了一個定義必要套件的需求檔案。
匯入模組。
Asyncio
如要瞭解如何安裝及使用 Bigtable 的用戶端程式庫,請參閱這篇文章。
如要向 Bigtable 進行驗證,請設定應用程式預設憑證。 詳情請參閱「為本機開發環境設定驗證」。
同步
如要瞭解如何安裝及使用 Bigtable 的用戶端程式庫,請參閱這篇文章。
如要向 Bigtable 進行驗證,請設定應用程式預設憑證。 詳情請參閱「為本機開發環境設定驗證」。
連線至 Bigtable
使用 bigtable.Client
連線至 Bigtable。
Asyncio
如要瞭解如何安裝及使用 Bigtable 的用戶端程式庫,請參閱這篇文章。
如要向 Bigtable 進行驗證,請設定應用程式預設憑證。 詳情請參閱「為本機開發環境設定驗證」。
同步
如要瞭解如何安裝及使用 Bigtable 的用戶端程式庫,請參閱這篇文章。
如要向 Bigtable 進行驗證,請設定應用程式預設憑證。 詳情請參閱「為本機開發環境設定驗證」。
建立資料表
使用 Instance.table()
將資料表物件實例化。建立資料欄系列並設定其垃圾收集政策,然後將資料欄系列傳送到 Table.create()
以建立資料表。
將資料列寫入資料表
循環處理問候語字串清單,以在資料表中建立一些新的資料列。
在每個疊代作業中,使用 Table.row()
定義資料列並指派資料列索引鍵;呼叫 Row.set_cell()
為目前儲存格設定值;將新資料列附加到資料列陣列。
最後呼叫 Table.mutate_rows()
,將資料列新增到資料表。
Asyncio
如要瞭解如何安裝及使用 Bigtable 的用戶端程式庫,請參閱這篇文章。
如要向 Bigtable 進行驗證,請設定應用程式預設憑證。 詳情請參閱「為本機開發環境設定驗證」。
同步
如要瞭解如何安裝及使用 Bigtable 的用戶端程式庫,請參閱這篇文章。
如要向 Bigtable 進行驗證,請設定應用程式預設憑證。 詳情請參閱「為本機開發環境設定驗證」。
建立篩選器
讀取已寫入的資料前,請先使用 row_filters.CellsColumnLimitFilter()
建立篩選器,藉此限制 Bigtable 傳回的資料。即使資料表中含有每個資料欄尚未在垃圾收集期間移除的較舊儲存格,篩選器仍能指示 Bigtable 僅傳回每個資料欄的最新儲存格。
Asyncio
如要瞭解如何安裝及使用 Bigtable 的用戶端程式庫,請參閱這篇文章。
如要向 Bigtable 進行驗證,請設定應用程式預設憑證。 詳情請參閱「為本機開發環境設定驗證」。
同步
如要瞭解如何安裝及使用 Bigtable 的用戶端程式庫,請參閱這篇文章。
如要向 Bigtable 進行驗證,請設定應用程式預設憑證。 詳情請參閱「為本機開發環境設定驗證」。
依資料列索引鍵讀取資料列
呼叫資料表的 Table.read_row()
方法,透過特定資料列索引鍵取得資料列的參考資料並傳入索引鍵和篩選器,即可取得該資料列中每個資料值的一個版本。
Asyncio
如要瞭解如何安裝及使用 Bigtable 的用戶端程式庫,請參閱這篇文章。
如要向 Bigtable 進行驗證,請設定應用程式預設憑證。 詳情請參閱「為本機開發環境設定驗證」。
同步
如要瞭解如何安裝及使用 Bigtable 的用戶端程式庫,請參閱這篇文章。
如要向 Bigtable 進行驗證,請設定應用程式預設憑證。 詳情請參閱「為本機開發環境設定驗證」。
掃描所有資料表列
使用 Table.read_rows()
讀取資料表中特定範圍的資料列。
Asyncio
如要瞭解如何安裝及使用 Bigtable 的用戶端程式庫,請參閱這篇文章。
如要向 Bigtable 進行驗證,請設定應用程式預設憑證。 詳情請參閱「為本機開發環境設定驗證」。
同步
如要瞭解如何安裝及使用 Bigtable 的用戶端程式庫,請參閱這篇文章。
如要向 Bigtable 進行驗證,請設定應用程式預設憑證。 詳情請參閱「為本機開發環境設定驗證」。
刪除資料表
使用 Table.delete()
刪除資料表。
馬上開始全面整合吧!
以下是沒有註解的完整範例。
Asyncio
如要瞭解如何安裝及使用 Bigtable 的用戶端程式庫,請參閱這篇文章。
如要向 Bigtable 進行驗證,請設定應用程式預設憑證。 詳情請參閱「為本機開發環境設定驗證」。
同步
如要瞭解如何安裝及使用 Bigtable 的用戶端程式庫,請參閱這篇文章。
如要向 Bigtable 進行驗證,請設定應用程式預設憑證。 詳情請參閱「為本機開發環境設定驗證」。