cbt-Referenz

Cbt ist ein Tool für einfache Interaktionen mit Cloud Bigtable:

Verwendung:

cbt [options] command [arguments]

Die Befehle sind:

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

Weitere Informationen zu einem Befehl erhalten mit "cbt help ".

Folgende Optionen sind verfügbar:

-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

Alphafunktionen sind für die meisten Cloud Bigtable-Kunden derzeit nicht verfügbar. Die Funktionen können auf nicht abwärtskompatible Weise geändert werden. Ihre Verwendung in einer Produktionsumgebung wird nicht empfohlen. Sie unterliegen weder einem SLA noch einer Richtlinie zu veralteten Softwarefunktionen.

Der Einfachheit halber können Sie die Werte der Flags "-project", "-instance", "-creds", "-admin-endpoint" und "-data-endpoint" in der Datei "~/.cbtrc" im folgenden Format angeben:

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

Alle Werte sind optional und werden von Flags überschrieben.

Zeilen in einer Tabelle zählen

cbt count <table>

Instanz mit einem anfänglichen Cluster erstellen

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

Cluster in der konfigurierten Instanz erstellen

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

Spaltenfamilie erstellen

cbt createfamily <table> <family>

Tabelle erstellen

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

Cluster in der konfigurierten Instanz aktualisieren

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

Instanz löschen

cbt deleteinstance <instance>

Cluster aus der konfigurierten Instanz löschen

cbt deletecluster <cluster>

Alle Zellen in einer Spalte löschen

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

Spaltenfamilie löschen

cbt deletefamily <table> <family>

Zeile löschen

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

Tabelle löschen

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

Instanzen in einem Projekt auflisten

cbt listinstances

Cluster in einer Instanz auflisten

cbt listclusters

Aus einer einzelnen Zeile lesen

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

Tabellen und Spaltenfamilien auflisten

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

Zeilen lesen

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

Wert einer Zelle festlegen

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-Richtlinie für eine Spaltenfamilie festlegen

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

Blockieren, bis alle abgeschlossenen Schreibvorgänge in alle Cluster repliziert wurden

cbt waitforreplication <table>

  table The name of the table to create
cbt version

Anwendungsprofil für eine Instanz erstellen

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

Anwendungsprofil für eine Instanz lesen

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

Anwendungsprofil für eine Instanz auflisten

cbt listappprofile <instance-id>

Anwendungsprofil für eine Instanz aktualisieren

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

Anwendungsprofil für eine Instanz löschen

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