var bigtable = gcloud.bigtable();
bigtable.getZones(function(err, zones, apiResponse) {});
var zone = bigtable.zone('my-zone');
zone.getClusters(function(err, clusters, apiResponse) {});
zone.createCluster(clusterOptions, function(err, cluster, apiResponse) {});
cluster.getMetadata(function (err, metadata, apiResponse) {});
cluster.setMetadata(metaData, function(err, metadata, apiResponse) {});
cluster.delete(function (err, apiResponse) {});
cluster.restore(function (err, apiResponse) {});
cluster.createTable('my-table', function(err, table, apiResponse) {});
// or
cluster.createTable(tableOptions, function(err, table, apiResponse) {});
var myTable = cluster.table('my-table');
cluster.getTables(function (err, tables, apiResponse) {});
table.getMetadata(function (err, tableSchema, apiResponse) {});
table.delete(function (err, table, apiResponse) {});
table.rename('awesome-table', function (err, table, apiResponse) {});
table.createFamily('user', function (err, family, apiResponse) {});
var userFamily = table.family('user');
userFamily.setMetadata(metaData, function(err, family, apiResponse) {});
userFamily.delete(function(err, apiResponse) {});
If a callback is not provided a stream will be returned
table.getSampleKeys(function (err, keys, apiResponse) {});
If callback is not provided a stream is returned
var rowOptions = {
prefix: 'com.google.'
};
table.getRows(rowOptions, function(err, rows, apiResponse) {});
rowOptions
would be filters used to determine which rows to delete
table.deleteRows(rowOptions, function(err, apiResponse) {});
table.createRow(rowData, function(err, row, apiResponse) {});
table.createRows([rowData], function(err, rows, apiResponse) {});
var myRow = table.row('my-row');
myRow.set('user:name', 'stephen', function(err, row, apiResponse) {});
// or for multiple columns
var rowData = {
user: { // family
name: 'stephen', // column
age: 99 // column
}
};
myRow.set(rowData, function(err, row, apiResponse) {});
myRow.get(['user:name'], function(err, columns, apiResponse) {});
myRow.delete(['user:name'], function(err, columns, apiResponse) {});
myRow.delete(function(err, columns, apiResponse) {});
This should not be confused with the Table#family
which allows you to update/delete families for the entire Table.
var myFamily = myRow.family('user');
// get column
myFamily.get('name', function(err, name, apiResponse) {});
// set column(s)
myFamily.set('name', 'peter', function(err, family, apiResponse) {});
// or
myFamily.set({ name: 'peter' }, function (err, family, apiResponse) {});
// delete column(s)
myFamily.delete(['name'], function(err, family, apiResponse) {});
// delete all columns associated with family
myFamily.delete(function(err, apiResponse) {});
These should be:
Could be:
We could probably just do:
This is interesting, but possibly confusing. If we do go with this though, maybe:
Yes :)
I don't mind this if we choose to go this route ('user:tagged' style) over the other, but we only support choose one. For sake of comparison, the other style looks like:
Like the other place above, this could be easier: