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.
- (config) — Configure the Client client.
- config (Client::Configuration)
# 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.
def check_and_mutate_row(request, options = nil) -> ::Google::Cloud::Bigtable::V2::CheckAndMutateRowResponse
check_and_mutate_row
via a request object, either of type
CheckAndMutateRowRequest or an equivalent Hash.
- 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
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).
-
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
orfalse_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 torow_key
. Entries are applied in order, meaning that earlier mutations can be masked by later ones. Must contain at least one entry iffalse_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 torow_key
. Entries are applied in order, meaning that earlier mutations can be masked by later ones. Must contain at least one entry iftrue_mutations
is empty, and at most 100000.
- (response, operation) — Access the result along with the RPC operation
- response (::Google::Cloud::Bigtable::V2::CheckAndMutateRowResponse)
- operation (::GRPC::ActiveCall::Operation)
- (::Google::Cloud::Error) — if the RPC is aborted.
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.
- (config) — Configure the Client client.
- config (Client::Configuration)
#initialize
def initialize() { |config| ... } -> Client
Create a new Bigtable client object.
- (config) — Configure the Bigtable client.
- config (Client::Configuration)
- (Client) — a new instance of Client
# 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
.
def mutate_row(request, options = nil) -> ::Google::Cloud::Bigtable::V2::MutateRowResponse
mutate_row
via a request object, either of type
MutateRowRequest or an equivalent Hash.
- 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
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).
-
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.
- (response, operation) — Access the result along with the RPC operation
- response (::Google::Cloud::Bigtable::V2::MutateRowResponse)
- operation (::GRPC::ActiveCall::Operation)
- (::Google::Cloud::Error) — if the RPC is aborted.
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.
def mutate_rows(request, options = nil) -> ::Enumerable<::Google::Cloud::Bigtable::V2::MutateRowsResponse>
mutate_rows
via a request object, either of type
MutateRowsRequest or an equivalent Hash.
- 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>
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).
- 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.
- (response, operation) — Access the result along with the RPC operation
- response (::Enumerable<::Google::Cloud::Bigtable::V2::MutateRowsResponse>)
- operation (::GRPC::ActiveCall::Operation)
- (::Enumerable<::Google::Cloud::Bigtable::V2::MutateRowsResponse>)
- (::Google::Cloud::Error) — if the RPC is aborted.
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.
def read_modify_write_row(request, options = nil) -> ::Google::Cloud::Bigtable::V2::ReadModifyWriteRowResponse
read_modify_write_row
via a request object, either of type
ReadModifyWriteRowRequest or an equivalent Hash.
- 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
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).
-
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.
- (response, operation) — Access the result along with the RPC operation
- response (::Google::Cloud::Bigtable::V2::ReadModifyWriteRowResponse)
- operation (::GRPC::ActiveCall::Operation)
- (::Google::Cloud::Error) — if the RPC is aborted.
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.
def read_rows(request, options = nil) -> ::Enumerable<::Google::Cloud::Bigtable::V2::ReadRowsResponse>
read_rows
via a request object, either of type
ReadRowsRequest or an equivalent Hash.
- 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>
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).
-
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. 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 terminate after committing to N rows' worth of results. The default (zero) is to return all results.
- (response, operation) — Access the result along with the RPC operation
- response (::Enumerable<::Google::Cloud::Bigtable::V2::ReadRowsResponse>)
- operation (::GRPC::ActiveCall::Operation)
- (::Enumerable<::Google::Cloud::Bigtable::V2::ReadRowsResponse>)
- (::Google::Cloud::Error) — if the RPC is aborted.
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.
def sample_row_keys(request, options = nil) -> ::Enumerable<::Google::Cloud::Bigtable::V2::SampleRowKeysResponse>
sample_row_keys
via a request object, either of type
SampleRowKeysRequest or an equivalent Hash.
- 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>
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).
-
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.
- (response, operation) — Access the result along with the RPC operation
- response (::Enumerable<::Google::Cloud::Bigtable::V2::SampleRowKeysResponse>)
- operation (::GRPC::ActiveCall::Operation)
- (::Enumerable<::Google::Cloud::Bigtable::V2::SampleRowKeysResponse>)
- (::Google::Cloud::Error) — if the RPC is aborted.
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