Class Google::Cloud::Bigtable::V2::Bigtable::Client (v0.4.0)

Client for the Bigtable service.

Service for reading from and writing to existing Bigtable tables.

Inherits

  • Object

Methods

.configure

def self.configure() { |config| ... } -> Client::Configuration

Configure the Bigtable Client class.

See Configuration for a description of the configuration fields.

Yields
  • (config) — Configure the Client client.
Yield Parameter
Example
# Modify the configuration for all Bigtable clients
::Google::Cloud::Bigtable::V2::Bigtable::Client.configure do |config|
  config.timeout = 10.0
end

#check_and_mutate_row

def check_and_mutate_row(request, options = nil) -> ::Google::Cloud::Bigtable::V2::CheckAndMutateRowResponse
def check_and_mutate_row(table_name: nil, app_profile_id: nil, row_key: nil, predicate_filter: nil, true_mutations: nil, false_mutations: nil) -> ::Google::Cloud::Bigtable::V2::CheckAndMutateRowResponse

Mutates a row atomically based on the output of a predicate Reader filter.

Overloads
def check_and_mutate_row(request, options = nil) -> ::Google::Cloud::Bigtable::V2::CheckAndMutateRowResponse
Pass arguments to check_and_mutate_row via a request object, either of type CheckAndMutateRowRequest or an equivalent Hash.
Parameters
  • request (::Google::Cloud::Bigtable::V2::CheckAndMutateRowRequest, ::Hash) — A request object representing the call parameters. Required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash.
  • options (::Gapic::CallOptions, ::Hash) — Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
def check_and_mutate_row(table_name: nil, app_profile_id: nil, row_key: nil, predicate_filter: nil, true_mutations: nil, false_mutations: nil) -> ::Google::Cloud::Bigtable::V2::CheckAndMutateRowResponse
Pass arguments to check_and_mutate_row via keyword arguments. Note that at least one keyword argument is required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash as a request object (see above).
Parameters
  • table_name (::String) — Required. The unique name of the table to which the conditional mutation should be applied. Values are of the form projects/<project>/instances/<instance>/tables/<table>.
  • app_profile_id (::String) — This value specifies routing for replication. If not specified, the "default" application profile will be used.
  • row_key (::String) — Required. The key of the row to which the conditional mutation should be applied.
  • predicate_filter (::Google::Cloud::Bigtable::V2::RowFilter, ::Hash) — The filter to be applied to the contents of the specified row. Depending on whether or not any results are yielded, either true_mutations or false_mutations will be executed. If unset, checks that the row contains any values at all.
  • true_mutations (::Array<::Google::Cloud::Bigtable::V2::Mutation, ::Hash>) — Changes to be atomically applied to the specified row if predicate_filter yields at least one cell when applied to row_key. Entries are applied in order, meaning that earlier mutations can be masked by later ones. Must contain at least one entry if false_mutations is empty, and at most 100000.
  • false_mutations (::Array<::Google::Cloud::Bigtable::V2::Mutation, ::Hash>) — Changes to be atomically applied to the specified row if predicate_filter does not yield any cells when applied to row_key. Entries are applied in order, meaning that earlier mutations can be masked by later ones. Must contain at least one entry if true_mutations is empty, and at most 100000.
Yields
  • (response, operation) — Access the result along with the RPC operation
Yield Parameters
Raises
  • (::Google::Cloud::Error) — if the RPC is aborted.
Example

Basic example

require "google/cloud/bigtable/v2"

# Create a client object. The client can be reused for multiple calls.
client = Google::Cloud::Bigtable::V2::Bigtable::Client.new

# Create a request. To set request fields, pass in keyword arguments.
request = Google::Cloud::Bigtable::V2::CheckAndMutateRowRequest.new

# Call the check_and_mutate_row method.
result = client.check_and_mutate_row request

# The returned object is of type Google::Cloud::Bigtable::V2::CheckAndMutateRowResponse.
p result

#configure

def configure() { |config| ... } -> Client::Configuration

Configure the Bigtable Client instance.

The configuration is set to the derived mode, meaning that values can be changed, but structural changes (adding new fields, etc.) are not allowed. Structural changes should be made on Client.configure.

See Configuration for a description of the configuration fields.

Yields
  • (config) — Configure the Client client.
Yield Parameter

#initialize

def initialize() { |config| ... } -> Client

Create a new Bigtable client object.

Yields
  • (config) — Configure the Bigtable client.
Yield Parameter
Returns
  • (Client) — a new instance of Client
Example
# Create a client using the default configuration
client = ::Google::Cloud::Bigtable::V2::Bigtable::Client.new

# Create a client using a custom configuration
client = ::Google::Cloud::Bigtable::V2::Bigtable::Client.new do |config|
  config.timeout = 10.0
end

#mutate_row

def mutate_row(request, options = nil) -> ::Google::Cloud::Bigtable::V2::MutateRowResponse
def mutate_row(table_name: nil, app_profile_id: nil, row_key: nil, mutations: nil) -> ::Google::Cloud::Bigtable::V2::MutateRowResponse

Mutates a row atomically. Cells already present in the row are left unchanged unless explicitly changed by mutation.

Overloads
def mutate_row(request, options = nil) -> ::Google::Cloud::Bigtable::V2::MutateRowResponse
Pass arguments to mutate_row via a request object, either of type MutateRowRequest or an equivalent Hash.
Parameters
  • request (::Google::Cloud::Bigtable::V2::MutateRowRequest, ::Hash) — A request object representing the call parameters. Required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash.
  • options (::Gapic::CallOptions, ::Hash) — Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
def mutate_row(table_name: nil, app_profile_id: nil, row_key: nil, mutations: nil) -> ::Google::Cloud::Bigtable::V2::MutateRowResponse
Pass arguments to mutate_row via keyword arguments. Note that at least one keyword argument is required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash as a request object (see above).
Parameters
  • table_name (::String) — Required. The unique name of the table to which the mutation should be applied. Values are of the form projects/<project>/instances/<instance>/tables/<table>.
  • app_profile_id (::String) — This value specifies routing for replication. If not specified, the "default" application profile will be used.
  • row_key (::String) — Required. The key of the row to which the mutation should be applied.
  • mutations (::Array<::Google::Cloud::Bigtable::V2::Mutation, ::Hash>) — Required. Changes to be atomically applied to the specified row. Entries are applied in order, meaning that earlier mutations can be masked by later ones. Must contain at least one entry and at most 100000.
Yields
  • (response, operation) — Access the result along with the RPC operation
Yield Parameters
Raises
  • (::Google::Cloud::Error) — if the RPC is aborted.
Example

Basic example

require "google/cloud/bigtable/v2"

# Create a client object. The client can be reused for multiple calls.
client = Google::Cloud::Bigtable::V2::Bigtable::Client.new

# Create a request. To set request fields, pass in keyword arguments.
request = Google::Cloud::Bigtable::V2::MutateRowRequest.new

# Call the mutate_row method.
result = client.mutate_row request

# The returned object is of type Google::Cloud::Bigtable::V2::MutateRowResponse.
p result

#mutate_rows

def mutate_rows(request, options = nil) -> ::Enumerable<::Google::Cloud::Bigtable::V2::MutateRowsResponse>
def mutate_rows(table_name: nil, app_profile_id: nil, entries: nil) -> ::Enumerable<::Google::Cloud::Bigtable::V2::MutateRowsResponse>

Mutates multiple rows in a batch. Each individual row is mutated atomically as in MutateRow, but the entire batch is not executed atomically.

Overloads
def mutate_rows(request, options = nil) -> ::Enumerable<::Google::Cloud::Bigtable::V2::MutateRowsResponse>
Pass arguments to mutate_rows via a request object, either of type MutateRowsRequest or an equivalent Hash.
Parameters
  • request (::Google::Cloud::Bigtable::V2::MutateRowsRequest, ::Hash) — A request object representing the call parameters. Required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash.
  • options (::Gapic::CallOptions, ::Hash) — Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
def mutate_rows(table_name: nil, app_profile_id: nil, entries: nil) -> ::Enumerable<::Google::Cloud::Bigtable::V2::MutateRowsResponse>
Pass arguments to mutate_rows via keyword arguments. Note that at least one keyword argument is required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash as a request object (see above).
Parameters
  • table_name (::String) — Required. The unique name of the table to which the mutations should be applied.
  • app_profile_id (::String) — This value specifies routing for replication. If not specified, the "default" application profile will be used.
  • entries (::Array<::Google::Cloud::Bigtable::V2::MutateRowsRequest::Entry, ::Hash>) — Required. The row keys and corresponding mutations to be applied in bulk. Each entry is applied as an atomic mutation, but the entries may be applied in arbitrary order (even between entries for the same row). At least one entry must be specified, and in total the entries can contain at most 100000 mutations.
Yields
  • (response, operation) — Access the result along with the RPC operation
Yield Parameters
Raises
  • (::Google::Cloud::Error) — if the RPC is aborted.
Example

Basic example

require "google/cloud/bigtable/v2"

# Create a client object. The client can be reused for multiple calls.
client = Google::Cloud::Bigtable::V2::Bigtable::Client.new

# Create a request. To set request fields, pass in keyword arguments.
request = Google::Cloud::Bigtable::V2::MutateRowsRequest.new

# Call the mutate_rows method.
result = client.mutate_rows request

# The returned object is a streamed enumerable yielding elements of
# type ::Google::Cloud::Bigtable::V2::MutateRowsResponse.
result.each do |response|
  p response
end

#read_modify_write_row

def read_modify_write_row(request, options = nil) -> ::Google::Cloud::Bigtable::V2::ReadModifyWriteRowResponse
def read_modify_write_row(table_name: nil, app_profile_id: nil, row_key: nil, rules: nil) -> ::Google::Cloud::Bigtable::V2::ReadModifyWriteRowResponse

Modifies a row atomically on the server. The method reads the latest existing timestamp and value from the specified columns and writes a new entry based on pre-defined read/modify/write rules. The new value for the timestamp is the greater of the existing timestamp or the current server time. The method returns the new contents of all modified cells.

Overloads
def read_modify_write_row(request, options = nil) -> ::Google::Cloud::Bigtable::V2::ReadModifyWriteRowResponse
Pass arguments to read_modify_write_row via a request object, either of type ReadModifyWriteRowRequest or an equivalent Hash.
Parameters
  • request (::Google::Cloud::Bigtable::V2::ReadModifyWriteRowRequest, ::Hash) — A request object representing the call parameters. Required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash.
  • options (::Gapic::CallOptions, ::Hash) — Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
def read_modify_write_row(table_name: nil, app_profile_id: nil, row_key: nil, rules: nil) -> ::Google::Cloud::Bigtable::V2::ReadModifyWriteRowResponse
Pass arguments to read_modify_write_row via keyword arguments. Note that at least one keyword argument is required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash as a request object (see above).
Parameters
  • table_name (::String) — Required. The unique name of the table to which the read/modify/write rules should be applied. Values are of the form projects/<project>/instances/<instance>/tables/<table>.
  • app_profile_id (::String) — This value specifies routing for replication. If not specified, the "default" application profile will be used.
  • row_key (::String) — Required. The key of the row to which the read/modify/write rules should be applied.
  • rules (::Array<::Google::Cloud::Bigtable::V2::ReadModifyWriteRule, ::Hash>) — Required. Rules specifying how the specified row's contents are to be transformed into writes. Entries are applied in order, meaning that earlier rules will affect the results of later ones.
Yields
  • (response, operation) — Access the result along with the RPC operation
Yield Parameters
Raises
  • (::Google::Cloud::Error) — if the RPC is aborted.
Example

Basic example

require "google/cloud/bigtable/v2"

# Create a client object. The client can be reused for multiple calls.
client = Google::Cloud::Bigtable::V2::Bigtable::Client.new

# Create a request. To set request fields, pass in keyword arguments.
request = Google::Cloud::Bigtable::V2::ReadModifyWriteRowRequest.new

# Call the read_modify_write_row method.
result = client.read_modify_write_row request

# The returned object is of type Google::Cloud::Bigtable::V2::ReadModifyWriteRowResponse.
p result

#read_rows

def read_rows(request, options = nil) -> ::Enumerable<::Google::Cloud::Bigtable::V2::ReadRowsResponse>
def read_rows(table_name: nil, app_profile_id: nil, rows: nil, filter: nil, rows_limit: nil) -> ::Enumerable<::Google::Cloud::Bigtable::V2::ReadRowsResponse>

Streams back the contents of all requested rows in key order, optionally applying the same Reader filter to each. Depending on their size, rows and cells may be broken up across multiple responses, but atomicity of each row will still be preserved. See the ReadRowsResponse documentation for details.

Overloads
def read_rows(request, options = nil) -> ::Enumerable<::Google::Cloud::Bigtable::V2::ReadRowsResponse>
Pass arguments to read_rows via a request object, either of type ReadRowsRequest or an equivalent Hash.
Parameters
  • request (::Google::Cloud::Bigtable::V2::ReadRowsRequest, ::Hash) — A request object representing the call parameters. Required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash.
  • options (::Gapic::CallOptions, ::Hash) — Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
def read_rows(table_name: nil, app_profile_id: nil, rows: nil, filter: nil, rows_limit: nil) -> ::Enumerable<::Google::Cloud::Bigtable::V2::ReadRowsResponse>
Pass arguments to read_rows via keyword arguments. Note that at least one keyword argument is required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash as a request object (see above).
Parameters
  • table_name (::String) — Required. The unique name of the table from which to read. Values are of the form projects/<project>/instances/<instance>/tables/<table>.
  • app_profile_id (::String) — This value specifies routing for replication. If not specified, the "default" application profile will be used.
  • rows (::Google::Cloud::Bigtable::V2::RowSet, ::Hash) — The row keys and/or ranges to read sequentially. If not specified, reads from all rows.
  • filter (::Google::Cloud::Bigtable::V2::RowFilter, ::Hash) — The filter to apply to the contents of the specified row(s). If unset, reads the entirety of each row.
  • rows_limit (::Integer) — The read will stop after committing to N rows' worth of results. The default (zero) is to return all results.
Yields
  • (response, operation) — Access the result along with the RPC operation
Yield Parameters
Raises
  • (::Google::Cloud::Error) — if the RPC is aborted.
Example

Basic example

require "google/cloud/bigtable/v2"

# Create a client object. The client can be reused for multiple calls.
client = Google::Cloud::Bigtable::V2::Bigtable::Client.new

# Create a request. To set request fields, pass in keyword arguments.
request = Google::Cloud::Bigtable::V2::ReadRowsRequest.new

# Call the read_rows method.
result = client.read_rows request

# The returned object is a streamed enumerable yielding elements of
# type ::Google::Cloud::Bigtable::V2::ReadRowsResponse.
result.each do |response|
  p response
end

#sample_row_keys

def sample_row_keys(request, options = nil) -> ::Enumerable<::Google::Cloud::Bigtable::V2::SampleRowKeysResponse>
def sample_row_keys(table_name: nil, app_profile_id: nil) -> ::Enumerable<::Google::Cloud::Bigtable::V2::SampleRowKeysResponse>

Returns a sample of row keys in the table. The returned row keys will delimit contiguous sections of the table of approximately equal size, which can be used to break up the data for distributed tasks like mapreduces.

Overloads
def sample_row_keys(request, options = nil) -> ::Enumerable<::Google::Cloud::Bigtable::V2::SampleRowKeysResponse>
Pass arguments to sample_row_keys via a request object, either of type SampleRowKeysRequest or an equivalent Hash.
Parameters
  • request (::Google::Cloud::Bigtable::V2::SampleRowKeysRequest, ::Hash) — A request object representing the call parameters. Required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash.
  • options (::Gapic::CallOptions, ::Hash) — Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
def sample_row_keys(table_name: nil, app_profile_id: nil) -> ::Enumerable<::Google::Cloud::Bigtable::V2::SampleRowKeysResponse>
Pass arguments to sample_row_keys via keyword arguments. Note that at least one keyword argument is required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash as a request object (see above).
Parameters
  • table_name (::String) — Required. The unique name of the table from which to sample row keys. Values are of the form projects/<project>/instances/<instance>/tables/<table>.
  • app_profile_id (::String) — This value specifies routing for replication. If not specified, the "default" application profile will be used.
Yields
  • (response, operation) — Access the result along with the RPC operation
Yield Parameters
Raises
  • (::Google::Cloud::Error) — if the RPC is aborted.
Example

Basic example

require "google/cloud/bigtable/v2"

# Create a client object. The client can be reused for multiple calls.
client = Google::Cloud::Bigtable::V2::Bigtable::Client.new

# Create a request. To set request fields, pass in keyword arguments.
request = Google::Cloud::Bigtable::V2::SampleRowKeysRequest.new

# Call the sample_row_keys method.
result = client.sample_row_keys request

# The returned object is a streamed enumerable yielding elements of
# type ::Google::Cloud::Bigtable::V2::SampleRowKeysResponse.
result.each do |response|
  p response
end