cbt リファレンス

cbt は、Cloud Bigtable で基本的な操作を実行するためのツールです。

使用方法:

cbt [options] command [arguments]

次のコマンドがあります。

count                     Count rows in a table
createinstance            Create an instance with an initial cluster
createcluster             Create a cluster in the configured instance
createfamily              Create a column family
createtable               Create a table
updatecluster             Update a cluster in the configured instance
deleteinstance            Delete an instance
deletecluster             Delete a cluster from the configured instance
deletecolumn              Delete all cells in a column
deletefamily              Delete a column family
deleterow                 Delete a row
deletetable               Delete a table
doc                       Print godoc-suitable documentation for cbt
help                      Print help text
listinstances             List instances in a project
listclusters              List clusters in an instance
lookup                    Read from a single row
ls                        List tables and column families
mddoc                     Print documentation for cbt in Markdown format
read                      Read rows
set                       Set value of a cell
setgcpolicy               Set the GC policy for a column family
waitforreplication        Block until all the completed writes have been replicated to all the clusters
version                   Print the current cbt version
createappprofile          Creates app profile for an instance
getappprofile             Reads app profile for an instance
listappprofile            Lists app profile for an instance
updateappprofile          Updates app profile for an instance
deleteappprofile          Deletes app profile for an instance

コマンドの詳細については、cbt help を使用してください。

次のオプションがあります。

-project string
    project ID, if unset uses gcloud configured project
-instance string
    Cloud Bigtable instance
-creds string
    if set, use application credentials in this file

現在、Cloud Bigtable のほとんどのお客様はアルファ版の機能をご利用いただけません。この機能は下位互換性のない方法で変更される可能性があり、本番環境での使用は推奨されません。また、サービスレベル契約(SLA)と非推奨ポリシーの適用対象ではありません。

利便性のために、フラグ -project、-instance、-creds、-admin-endpoint、-data-endpoint の値は以下の形式で ~/.cbtrc に指定できます。

project = my-project-123
instance = my-instance
creds = path-to-account-key.json
admin-endpoint = hostname:port
data-endpoint = hostname:port

どの値も省略可能です。また、いずれもフラグを使用してオーバーライドできます。

テーブル内の行数を数える

cbt count <table>

最初のクラスタでインスタンスを作成する

cbt createinstance <instance-id> <display-name> <cluster-id> <zone> <num-nodes> <storage type>
  instance-id                   Permanent, unique id for the instance
  display-name              Description of the instance
  cluster-id                        Permanent, unique id for the cluster in the instance
  zone                              The zone in which to create the cluster
  num-nodes                 The number of nodes to create
  storage-type                  SSD or HDD

構成されたクラスタでインスタンスを作成する

cbt createcluster <cluster-id> <zone> <num-nodes> <storage type>
  cluster-id        Permanent, unique id for the cluster in the instance
  zone                The zone in which to create the cluster
  num-nodes   The number of nodes to create
  storage-type  SSD or HDD

列ファミリーを作成する

cbt createfamily <table> <family>

テーブルを作成する

cbt createtable <table> [families=family[:(maxage=<d> | maxversions=<n>)],...] [splits=split,...]
  families: Column families and their associated GC policies. See "setgcpolicy".
                     Example: families=family1:maxage=1w,family2:maxversions=1
  splits:   Row key to be used to initially split the table

構成されたインスタンス内のクラスタを更新する

cbt updatecluster <cluster-id> [num-nodes=num-nodes]
  cluster-id        Permanent, unique id for the cluster in the instance
  num-nodes     The number of nodes to update to

インスタンスを削除する

cbt deleteinstance <instance>

構成されたインスタンスからクラスタを削除する

cbt deletecluster <cluster>

列内のすべてのセルを削除する

cbt deletecolumn <table> <row> <family> <column> [app-profile=<app profile id>]
  app-profile=<app profile id>      The app profile id to use for the request

列ファミリーを削除する

cbt deletefamily <table> <family>

行を削除する

cbt deleterow <table> <row> [app-profile=<app profile id>]
  app-profile=<app profile id>      The app profile id to use for the request

テーブルを削除する

cbt deletetable <table>
cbt doc
cbt help [command]

プロジェクトのインスタンスを一覧表示する

cbt listinstances

インスタンス内のクラスタを一覧表示する

cbt listclusters

単一行から読み取る

cbt lookup <table> <row> [columns=[family]:[qualifier],...] [cells-per-column=<n>] [app-profile=<app profile id>]
  columns=[family]:[qualifier],...  Read only these columns, comma-separated
  cells-per-column=<n>          Read only this many cells per column
  app-profile=<app profile id>      The app profile id to use for the request

テーブルと列ファミリーを一覧表示する

cbt ls          List tables
cbt ls <table>      List column families in <table>
cbt mddoc

複数行を読み取る

cbt read <table> [start=<row>] [end=<row>] [prefix=<prefix>] [regex=<regex>] [columns=[family]:[qualifier],...] [count=<n>] [cells-per-column=<n>] [app-profile=<app profile id>]
  start=<row>               Start reading at this row
  end=<row>             Stop reading before this row
  prefix=<prefix>           Read rows with this prefix
  regex=<regex>             Read rows with keys matching this regex
  columns=[family]:[qualifier],...  Read only these columns, comma-separated
  count=<n>             Read only this many rows
  cells-per-column=<n>          Read only this many cells per column
  app-profile=<app profile id>      The app profile id to use for the request

セルの値を設定する

cbt set <table> <row> [app-profile=<app profile id>] family:column=val[@ts] ...
  app-profile=<app profile id>      The app profile id to use for the request
  family:column=val[@ts] may be repeated to set multiple cells.

  ts is an optional integer timestamp.
  If it cannot be parsed, the `@ts` part will be
  interpreted as part of the value.

列ファミリーの GC ポリシーを設定する

cbt setgcpolicy <table> <family> ( maxage=<d> | maxversions=<n> | never)

  maxage=<d>        Maximum timestamp age to preserve (e.g. "1h", "4d")
  maxversions=<n>   Maximum number of versions to preserve

完了しているすべての書き込みがすべてのクラスタにレプリケートされるまでブロックする

cbt waitforreplication <table>

  table The name of the table to create
cbt version

インスタンスにアプリ プロファイルを作成する

cbt createappprofile <instance-id> <profile-id> <description> <etag> <routing-policy>
[cluster-id=<cluster-id>] [allow-transactional-writes=<allow-transactional-writes>]
set multi_cluster_routing_use_any or single_cluster_routing as possible values for routing policy
provide cluster-id=clusterID and allow-transactional-writes=true or false in case of single_cluster_routing

インスタンスのアプリ プロファイルを読み取る

cbt getappprofile <instance-id> <profile-id>

インスタンスのアプリ プロファイルを一覧表示する

cbt listappprofile <instance-id>

インスタンスのアプリ プロファイルを更新する

cbt updateappprofile  <instance-id> <profile-id> <description> <routing-policy>[cluster-id=<cluster-id>] [allow-transactional-writes=<allow-transactional-writes>]
set multi_cluster_routing_use_any or single_cluster_routing as possible values for routing policy
provide cluster-id=clusterID and allow-transactional-writes=true or false in case of single_cluster_routing

インスタンスのアプリ プロファイルを削除する

cbt deleteappprofile <instance-id> <profile-id>