def list_column_families(self): """List the column families owned by this table. :rtype: dict :returns: Dictionary of column families attached to this table. Keys are strings (column family names) and values are :class:`.ColumnFamily` instances. :raises: :class:`ValueError <exceptions.ValueError>` if the column family name from the response does not agree with the computed name from the column family ID. """ request_pb = table_admin_messages_v2_pb2.GetTableRequest( name=self.name) client = self._instance._client # We expect a `._generated.table_pb2.Table` table_pb = client._table_stub.GetTable(request_pb, client.timeout_seconds) result = {} for column_family_id, value_pb in table_pb.column_families.items(): gc_rule = _gc_rule_from_pb(value_pb.gc_rule) column_family = self.column_family(column_family_id, gc_rule=gc_rule) result[column_family_id] = column_family return result
def _GetTableRequestPB(*args, **kw): from gcloud.bigtable._generated import (bigtable_table_admin_pb2 as table_admin_v2_pb2) return table_admin_v2_pb2.GetTableRequest(*args, **kw)