Reference documentation and code samples for the Cloud Bigtable API class Google::Cloud::Bigtable::MutationEntry.
MutationEntry
MutationEntry is a chainable structure that holds data for different type of mutations. MutationEntry is used in following data operations:
- Mutate row. See Table#mutate_row
- Mutate rows. See Table#mutate_rows
- Check and mutate row using a predicate. See Table#check_and_mutate_row
Inherits
- Object
Examples
entry = Google::Cloud::Bigtable::MutationEntry.new "user-1" timestamp_micros = (Time.now.to_f * 1_000_000).round(-3) entry.set_cell( "cf1", "fiel01", "XYZ", timestamp: timestamp_micros ).delete_cells( "cf2", "field02", timestamp_from: timestamp_micros - 5_000_000, timestamp_to: timestamp_micros ).delete_from_family("cf3").delete_from_row
Create using a table.
require "google/cloud/bigtable" bigtable = Google::Cloud::Bigtable.new table = bigtable.table "my-instance", "my-table" entry = table.new_mutation_entry "user-1" timestamp_micros = (Time.now.to_f * 1_000_000).round(-3) entry.set_cell( "cf1", "fiel01", "XYZ", timestamp: timestamp_micros )
Methods
#delete_cells
def delete_cells(family, qualifier, timestamp_from: nil, timestamp_to: nil) -> MutationEntry
Adds a DeleteFromColumn to the list of mutations.
A DeleteFromColumn is a mutation that deletes cells from the specified column, optionally restricting the deletions to a given timestamp range.
-
family (String) — Table column family name.
The name of the column family from which cells should be deleted.
Must match
[-_.a-zA-Z0-9]+
- qualifier (String) — Column qualifier name. The qualifier of the column from which cells should be deleted. Can be any byte string, including an empty string.
-
timestamp_from (Integer) (defaults to: nil) — Timestamp lower boundary in
microseconds. Optional. Begins the range of timestamps from which
cells should be deleted. Values are in microseconds but must match
the granularity of the table. Therefore, if Table#granularity is
MILLIS
(the default), the given value must be a multiple of 1000 (millisecond granularity). For example:1564257960168000
. -
timestamp_to (Integer) (defaults to: nil) — Timestamp upper boundary in
microseconds. Optional. Ends the range of timestamps from which
cells should be deleted. Values are in microseconds but must match
the granularity of the table. Therefore, if Table#granularity is
MILLIS
(the default), the given value must be a multiple of 1000 (millisecond granularity). For example:1564257960168000
.
-
(MutationEntry) —
self
object of entry for chaining.
Without timestamp range.
entry = Google::Cloud::Bigtable::MutationEntry.new "user-1" entry.delete_cells "cf1", "field1"
With timestamp range.
entry = Google::Cloud::Bigtable::MutationEntry.new "user-1" timestamp_micros = (Time.now.to_f * 1_000_000).round(-3) entry.delete_cells( "cf1", "field1", timestamp_from: timestamp_micros - 5_000_000, timestamp_to: timestamp_micros )
With timestamp range with lower boundary only.
entry = Google::Cloud::Bigtable::MutationEntry.new "user-1" timestamp_micros = (Time.now.to_f * 1_000_000).round(-3) entry.delete_cells( "cf1", "field1", timestamp_from: timestamp_micros - 5_000_000 )
#delete_from_family
def delete_from_family(family) -> MutationEntry
Adds a DeleteFromFamily to the list of mutations.
A DeleteFromFamily is a mutation that deletes all cells from the specified column family.
-
family (String) — Table column family name.
The name of the column family from which cells should be deleted.
Must match
[-_.a-zA-Z0-9]+
-
(MutationEntry) —
self
object of entry for chaining.
entry = Google::Cloud::Bigtable::MutationEntry.new "user-1" entry.delete_from_family "cf1"
#delete_from_row
def delete_from_row() -> MutationEntry
Adds a DeleteFromRow to the list of mutations.
A DeleteFromRow is a mutation which deletes all cells from the containing row.
-
(MutationEntry) —
self
object of entry for chaining.
entry = Google::Cloud::Bigtable::MutationEntry.new "user-1" entry.delete_from_row
#initialize
def initialize(row_key = nil) -> MutationEntry
Creates a mutation entry instance.
- row_key (String)
- (MutationEntry) — a new instance of MutationEntry
#length
def length() -> Integer
The number of mutations.
- (Integer)
#retryable?
def retryable?() -> Boolean
If the mutation entry is retryable or not based on set_cell value.
- (Boolean)
#row_key
def row_key()
Returns the value of attribute row_key.
#row_key=
def row_key=(value)
Sets the attribute row_key
#set_cell
def set_cell(family, qualifier, value, timestamp: nil) -> MutationEntry
Adds a SetCell to the list of mutations.
A SetCell is a mutation that sets the value of the specified cell.
-
family (String) — Table column family name.
The name of the family into which new data should be written.
Must match
[-_.a-zA-Z0-9]+
- qualifier (String) — Column qualifier name. The qualifier of the column into which new data should be written. Can be any byte string, including an empty string.
- value (String, Integer) — Cell value data. The value to be written into the specified cell. If the argument is an Integer, it will be encoded as a 64-bit signed big-endian integer.
-
timestamp (Integer) (defaults to: nil) — Timestamp value in microseconds.
The timestamp of the cell into which new data should be written.
Use -1 for current Bigtable server time.
Otherwise, the client should set this value itself, noting that the
default value is a timestamp of zero if the field is left unspecified.
Values are in microseconds but must match the granularity of the
table. Therefore, if Table#granularity is
MILLIS
(the default), the given value must be a multiple of 1000 (millisecond granularity). For example:1564257960168000
.
-
(MutationEntry) —
self
object of entry for chaining.
entry = Google::Cloud::Bigtable::MutationEntry.new "user-1" entry.set_cell "cf1", "field01", "XYZ"
With timestamp.
entry = Google::Cloud::Bigtable::MutationEntry.new "user-1" entry.set_cell( "cf1", "field1", "XYZ", timestamp: (Time.now.to_f * 1_000_000).round(-3) # microseconds )