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>
godoc-geeignete Dokumentation für cbt ausgeben
cbt doc
Hilfetext ausgeben
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>
Dokumentation für cbt im Markdown-Format ausgeben
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
Aktuelle cbt-Version ausgeben
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>