DirectRow(row_key, table=None)
Google Cloud Bigtable Row for sending "direct" mutations.
These mutations directly set or delete cell contents:
set_cell
delete
delete_cell
delete_cells
These methods can be used directly::
row = table.row(b'row-key1') row.set_cell(u'fam', b'col1', b'cell-val') row.delete_cell(u'fam', b'col2')
Parameters
Name | Description |
row_key |
bytes
The key for the current row. |
table |
Table
(Optional) The table that owns the row. This is used for the :meth: |
Properties
row_key
Row key.
For example:
.. literalinclude:: snippets_table.py :start-after: [START bigtable_api_row_row_key] :end-before: [END bigtable_api_row_row_key] :dedent: 4
Type | Description |
bytes | The key for the current row. |
table
Row table.
For example:
.. literalinclude:: snippets_table.py :start-after: [START bigtable_api_row_table] :end-before: [END bigtable_api_row_table] :dedent: 4
Type | Description |
table: Table | table: The table that owns the row. |
Methods
clear
clear()
Removes all currently accumulated mutations on the current row.
For example:
.. literalinclude:: snippets_table.py :start-after: [START bigtable_api_row_clear] :end-before: [END bigtable_api_row_clear] :dedent: 4
commit
commit()
Makes a MutateRow
API request.
If no mutations have been created in the row, no request is made.
Mutations are applied atomically and in order, meaning that earlier mutations can be masked / negated by later ones. Cells already present in the row are left unchanged unless explicitly changed by a mutation.
After committing the accumulated mutations, resets the local mutations to an empty list.
For example:
.. literalinclude:: snippets_table.py :start-after: [START bigtable_api_row_commit] :end-before: [END bigtable_api_row_commit] :dedent: 4
Type | Description |
`.table.TooManyMutationsError | if the number of mutations is greater than 100,000. |
Type | Description |
`google.rpc.status_pb2.Status` | A response status (`google.rpc.status_pb2.Status`) representing success or failure of the row committed. |
delete
delete()
Deletes this row from the table.
.. literalinclude:: snippets_table.py :start-after: [START bigtable_api_row_delete] :end-before: [END bigtable_api_row_delete] :dedent: 4
delete_cell
delete_cell(column_family_id, column, time_range=None)
Deletes cell in this row.
.. literalinclude:: snippets_table.py :start-after: [START bigtable_api_row_delete_cell] :end-before: [END bigtable_api_row_delete_cell] :dedent: 4
Name | Description |
column_family_id |
str
The column family that contains the column or columns with cells being deleted. Must be of the form |
column |
bytes
The column within the column family that will have a cell deleted. |
time_range |
`TimestampRange`
(Optional) The range of time within which cells should be deleted. |
delete_cells
delete_cells(column_family_id, columns, time_range=None)
Deletes cells in this row.
.. literalinclude:: snippets_table.py :start-after: [START bigtable_api_row_delete_cells] :end-before: [END bigtable_api_row_delete_cells] :dedent: 4
Name | Description |
column_family_id |
str
The column family that contains the column or columns with cells being deleted. Must be of the form |
columns |
`list` of `str` / `unicode
The columns within the column family that will have cells deleted. If |
time_range |
`TimestampRange`
(Optional) The range of time within which cells should be deleted. |
get_mutations_size
get_mutations_size()
Gets the total mutations size for current row
For example:
.. literalinclude:: snippets_table.py :start-after: [START bigtable_api_row_get_mutations_size] :end-before: [END bigtable_api_row_get_mutations_size] :dedent: 4
set_cell
set_cell(column_family_id, column, value, timestamp=None)
Sets a value in this row.
The cell is determined by the row_key
of this DirectRow
and the column
. The column
must be in an existing
.ColumnFamily
(as determined by column_family_id
).
.. literalinclude:: snippets_table.py :start-after: [START bigtable_api_row_set_cell] :end-before: [END bigtable_api_row_set_cell] :dedent: 4
Name | Description |
column_family_id |
str
The column family that contains the column. Must be of the form |
column |
bytes
The column within the column family where the cell is located. |
value |
bytes or `int`
The value to set in the cell. If an integer is used, will be interpreted as a 64-bit big-endian signed integer (8 bytes). |
timestamp |
`datetime.datetime`
(Optional) The timestamp of the operation. |