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_row_row_key] :end-before: [END bigtable_row_row_key]
Type | Description |
bytes
|
The key for the current row. |
table
Row table.
For example:
.. literalinclude:: snippets_table.py :start-after: [START bigtable_row_table] :end-before: [END bigtable_row_table]
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_row_clear] :end-before: [END bigtable_row_clear]
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_row_commit] :end-before: [END bigtable_row_commit]
Type | Description |
`.table.TooManyMutationsError
|
if the number of mutations is greater than 100,000. |
delete
delete
()
Deletes this row from the table.
.. literalinclude:: snippets_table.py :start-after: [START bigtable_row_delete] :end-before: [END bigtable_row_delete]delete_cell
delete_cell
(
column_family_id
,
column
,
time_range
=
None
)
Deletes cell in this row.
.. literalinclude:: snippets_table.py :start-after: [START bigtable_row_delete_cell] :end-before: [END bigtable_row_delete_cell]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
|
(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_row_delete_cells] :end-before: [END bigtable_row_delete_cells]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
|
The columns within the column family that will have cells deleted. If |
time_range
|
(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_row_get_mutations_size] :end-before: [END bigtable_row_get_mutations_size]
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
).
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
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
|
(Optional) The timestamp of the operation. |