Google Cloud Bigtable C++ Client  1.32.1
A C++ Client Library for Google Cloud Bigtable
Classes | Typedefs | Enumerations | Functions | Variables
google::cloud::bigtable::v1 Namespace Reference

The inlined, versioned namespace for the Cloud Bigtable C++ client APIs. More...

Classes

class  DefaultAdminClient
 An AdminClient for single-threaded programs that refreshes credentials on all gRPC errors. More...
 
class  AdminClient
 Connects to Cloud Bigtable's table administration APIs. More...
 
class  AppProfileConfig
 Specify the initial configuration for an application profile. More...
 
class  AppProfileUpdateConfig
 Build a proto to update an Application Profile configuration. More...
 
class  ClientOptions
 Configuration options for the Bigtable Client. More...
 
class  ClusterConfig
 Specify the initial configuration for a new cluster. More...
 
class  DefaultDataClient
 Implement a simple DataClient. More...
 
class  DataClient
 Connects to Cloud Bigtable's data manipulation APIs. More...
 
class  TableAdmin
 Implements the API to administer tables in a Cloud Bigtable instance. More...
 
class  InstanceAdmin
 Implements the APIs to administer Cloud Bigtable instances. More...
 
class  Table
 The main interface to interact with data in a Cloud Bigtable table. More...
 
struct  DataEndpointOption
 The endpoint for data operations. More...
 
struct  AdminEndpointOption
 The endpoint for table admin operations. More...
 
struct  InstanceAdminEndpointOption
 The endpoint for instance admin operations. More...
 
struct  MinConnectionRefreshOption
 Minimum time in ms to refresh connections. More...
 
struct  MaxConnectionRefreshOption
 Maximum time in ms to refresh connections. More...
 
class  GcRule
 Implement a thin wrapper around google::bigtable::admin::v2::GcRule. More...
 
class  ColumnFamilyModification
 Define the interfaces to create column family modifications. More...
 
class  MetadataParamTypes
 Define the class for governing x-goog-request-params metadata value. More...
 
class  MetadataUpdatePolicy
 MetadataUpdatePolicy holds supported metadata and setup ClientContext. More...
 
class  PollingPolicy
 Define the interface for providing asynchronous repetitive call rules. More...
 
class  GenericPollingPolicy
 Construct a polling policy from existing Retry and Backoff policies. More...
 
class  TableConfig
 Specify the initial schema for a new table. More...
 
struct  ClusterList
 The response for an asynchronous request listing all the clusters. More...
 
class  InstanceAdminClient
 Connects to Cloud Bigtable's instance administration APIs. More...
 
class  InstanceConfig
 Specify the initial configuration for a new instance. More...
 
struct  InstanceList
 The response for an asynchronous request listing all the instances. More...
 
class  InstanceUpdateConfig
 Specify the initial configuration for updating an instance. More...
 
class  RPCBackoffPolicy
 Define the interface for controlling how the Bigtable client backsoff from failed RPC operations. More...
 
class  ExponentialBackoffPolicy
 Implement a simple exponential backoff policy. More...
 
class  RPCRetryPolicy
 Define the interface for controlling how the Bigtable client retries RPC operations. More...
 
class  LimitedErrorCountRetryPolicy
 Implement a simple "count errors and then stop" retry policy. More...
 
class  LimitedTimeRetryPolicy
 Implement a simple "keep trying for this time" retry policy. More...
 
class  AsyncRowReader
 Objects of this class represent the state of reading rows via AsyncReadRows. More...
 
class  Row
 The in-memory representation of a Bigtable row. More...
 
class  Filter
 Define the interfaces to create filter expressions. More...
 
class  IdempotentMutationPolicy
 Defines the interface to control which mutations are idempotent and therefore can be re-tried. More...
 
class  SafeIdempotentMutationPolicy
 Implements a policy that only accepts truly idempotent mutations. More...
 
class  AlwaysRetryMutationPolicy
 Implements a policy that retries all mutations. More...
 
struct  Mutation
 Represent a single change to a specific row in a Table. More...
 
class  SingleRowMutation
 Represent a single row mutation. More...
 
class  FailedMutation
 A SingleRowMutation that failed. More...
 
class  PermanentMutationFailure
 Report unrecoverable errors in a partially completed mutation. More...
 
class  BulkMutation
 Represent a set of mutations across multiple rows. More...
 
class  ReadModifyWriteRule
 Define the interfaces to create ReadWriteModifyRule operations. More...
 
struct  RowKeySample
 A simple wrapper to represent the response from Table::SampleRowKeys(). More...
 
class  RowReader
 Object returned by Table::ReadRows(), enumerates rows in the response. More...
 
class  RowSet
 Represent a (possibly non-continuous) set of row keys. More...
 
class  Cell
 The in-memory representation of a Bigtable cell. More...
 
class  RowRange
 Define the interfaces to create row key ranges. More...
 
class  MutationBatcher
 Objects of this class pack single row mutations into bulk mutations. More...
 

Typedefs

using ClientOptionList = OptionList< DataEndpointOption, AdminEndpointOption, InstanceAdminEndpointOption, MinConnectionRefreshOption, MaxConnectionRefreshOption >
 The complete list of options accepted by bigtable::*Client More...
 
using Instance = ::google::bigtable::admin::v2::Instance
 
using ColumnQualifierType = std::decay< decltype(std::declval< google::bigtable::v2::Column >().qualifier())>::type
 Defines the type for column qualifiers. More...
 
using CellValueType = std::decay< decltype(std::declval< google::bigtable::v2::Cell >().value())>::type
 Defines the type for cell values. More...
 
using RowKeyType = std::decay< decltype(std::declval< google::bigtable::v2::Row >().key())>::type
 Defines the type for row keys. More...
 
using ClientUtils = bigtable::internal::UnaryClientUtils< InstanceAdminClient >
 Shortcuts to avoid typing long names over and over. More...
 

Enumerations

enum class  Consistency { kInconsistent , kConsistent }
 The result of checking replication against a given token. More...
 
enum class  MutationBranch { kPredicateNotMatched , kPredicateMatched }
 The branch taken by a Table::CheckAndMutateRow operation. More...
 

Functions

std::shared_ptr< AdminClientMakeAdminClient (std::string project, Options options={})
 Create a new table admin client configured via options. More...
 
std::shared_ptr< AdminClientCreateDefaultAdminClient (std::string project, ClientOptions options)
 Create a new table admin client configured via options. More...
 
std::shared_ptr< DataClientMakeDataClient (std::string project_id, std::string instance_id, Options options={})
 Create a new data client configured via options. More...
 
std::shared_ptr< DataClientCreateDefaultDataClient (std::string project_id, std::string instance_id, ClientOptions options)
 Create a new data client configured via options. More...
 
std::string InstanceName (std::shared_ptr< DataClient > const &client)
 Return the fully qualified instance name for the client. More...
 
std::string TableName (std::shared_ptr< DataClient > const &client, std::string const &table_id)
 Return the full table name. More...
 
constexpr int version_major ()
 The Cloud Bigtable C++ Client major version. More...
 
constexpr int version_minor ()
 The Cloud Bigtable C++ Client minor version. More...
 
constexpr int version_patch ()
 The Cloud Bigtable C++ Client patch version. More...
 
constexpr int version ()
 A single integer representing the Major/Minor/Patch version. More...
 
std::string version_string ()
 The version as a string, in MAJOR.MINOR.PATCH+gitrev format. More...
 
template<class InputIt >
google::iam::v1::Policy IamPolicy (InputIt first_binding, InputIt last_binding, std::string etag="", std::int32_t version=0)
 Create a google::iam::v1::Policy. More...
 
google::iam::v1::Policy IamPolicy (std::initializer_list< google::iam::v1::Binding > bindings, std::string etag="", std::int32_t version=0)
 Create a google::iam::v1::Policy. More...
 
google::iam::v1::Policy IamPolicy (std::vector< google::iam::v1::Binding > bindings, std::string etag="", std::int32_t version=0)
 Create a google::iam::v1::Policy. More...
 
std::ostream & operator<< (std::ostream &os, google::iam::v1::Policy const &rhs)
 
template<typename Functor >
size_t RemoveBindingsFromPolicyIf (google::iam::v1::Policy &policy, Functor pred)
 Remove all bindings matching a predicate from a policy. More...
 
void RemoveBindingFromPolicy (google::iam::v1::Policy &policy, google::protobuf::RepeatedPtrField< google::iam::v1::Binding >::iterator to_remove)
 Remove a specific binding from a policy. More...
 
bool operator== (MetadataParamTypes const &lhs, MetadataParamTypes const &rhs)
 
bool operator!= (MetadataParamTypes const &lhs, MetadataParamTypes const &rhs)
 
std::unique_ptr< PollingPolicyDefaultPollingPolicy (internal::RPCPolicyParameters defaults)
 
std::string InstanceName (std::string const &project_id, std::string const &instance_id)
 
std::string TableName (std::string const &project_id, std::string const &instance_id, std::string const &table_id)
 
std::string ClusterName (std::string const &project_id, std::string const &instance_id, std::string const &cluster_id)
 
std::string AppProfileName (std::string const &project_id, std::string const &instance_id, std::string const &app_profile_id)
 
std::string BackupName (std::string const &project_id, std::string const &instance_id, std::string const &cluster_id, std::string const &backup_id)
 
template<class InputIt >
google::iam::v1::Binding IamBinding (std::string role, InputIt begin, InputIt end)
 Create a google::iam::v1::Binding. More...
 
template<class InputIt >
google::iam::v1::Binding IamBinding (std::string role, InputIt begin, InputIt end, google::type::Expr condition)
 Create a google::iam::v1::Binding. More...
 
google::iam::v1::Binding IamBinding (std::string role, std::initializer_list< std::string > members)
 Create a google::iam::v1::Binding. More...
 
google::iam::v1::Binding IamBinding (std::string role, std::initializer_list< std::string > members, google::type::Expr condition)
 Create a google::iam::v1::Binding. More...
 
google::iam::v1::Binding IamBinding (std::string role, std::vector< std::string > members)
 Create a google::iam::v1::Binding. More...
 
google::iam::v1::Binding IamBinding (std::string role, std::vector< std::string > members, google::type::Expr condition)
 Create a google::iam::v1::Binding. More...
 
std::ostream & operator<< (std::ostream &os, google::iam::v1::Binding const &binding)
 
template<class InputIt >
google::iam::v1::Binding IamBindingAppendMembers (google::iam::v1::Binding binding, InputIt begin, InputIt end)
 Append members to a google::iam::v1::Binding. More...
 
google::iam::v1::Binding IamBindingSetCondition (google::iam::v1::Binding binding, google::type::Expr condition)
 Set a condition to an google::iam::v1::Binding. More...
 
std::shared_ptr< InstanceAdminClientMakeInstanceAdminClient (std::string project, Options options={})
 Create a new instance admin client configured via options. More...
 
std::shared_ptr< InstanceAdminClientCreateDefaultInstanceAdminClient (std::string project, ClientOptions options)
 Create a new instance admin client configured via options. More...
 
std::unique_ptr< RPCBackoffPolicyDefaultRPCBackoffPolicy (internal::RPCPolicyParameters defaults)
 Return an instance of the default RPCBackoffPolicy. More...
 
std::unique_ptr< RPCRetryPolicyDefaultRPCRetryPolicy (internal::RPCPolicyParameters defaults)
 Return an instance of the default RPCRetryPolicy. More...
 
std::unique_ptr< IdempotentMutationPolicyDefaultIdempotentMutationPolicy ()
 Return an instance of the default IdempotentMutationPolicy. More...
 
constexpr std::int64_t ServerSetTimestamp ()
 A magic value where the server sets the timestamp. More...
 
template<typename ColumnType , typename ValueType >
Mutation SetCell (std::string family, ColumnType &&column, std::chrono::milliseconds timestamp, ValueType &&value)
 Create a mutation to set a cell value. More...
 
template<typename ColumnType >
Mutation SetCell (std::string family, ColumnType &&column, std::chrono::milliseconds timestamp, std::int64_t value)
 Create a mutation to store a 64-bit big endian integer value. More...
 
template<typename ColumnType , typename ValueType >
Mutation SetCell (std::string family, ColumnType &&column, ValueType &&value)
 Create a mutation to set a cell value where the server sets the time. More...
 
template<typename ColumnType >
Mutation SetCell (std::string family, ColumnType &&column, std::int64_t value)
 Create a mutation to store a 64-bit big endian integer value. More...
 
Mutation SetCell (Cell cell)
 Create a mutation to set a cell value based on a bigtable::Cell. More...
 
bool operator== (RowRange const &lhs, RowRange const &rhs)
 
bool operator!= (RowRange const &lhs, RowRange const &rhs)
 
std::ostream & operator<< (std::ostream &os, RowRange const &x)
 Print a human-readable representation of the range, mostly for testing. More...
 
google::type::Expr Expression (std::string expression, std::string title="", std::string description="", std::string location="")
 Create a google::type::Expr. More...
 
std::ostream & operator<< (std::ostream &stream, google::type::Expr const &e)
 
google::bigtable::admin::v2::RestoreTableRequest AsProto (std::string const &instance_name, TableAdmin::RestoreTableFromInstanceParams p)
 
Create mutations to delete a range of cells from a column.

The following functions create a mutation that deletes all the cells in the given column family and, column within the given timestamp in the range.

The function accepts any instantiation of std::chrono::duration<> for the timestamp_begin and timestamp_end parameters. For example:

using namespace std::chrono_literals; // C++14
bigtable::DeleteFromColumn("fam", "col", 0us, 10us)
Mutation DeleteFromColumn(std::string family, ColumnType &&column, std::chrono::duration< Rep1, Period1 > timestamp_begin, std::chrono::duration< Rep2, Period2 > timestamp_end)
Definition: mutations.h:168

The ending timestamp is exclusive, while the beginning timestamp is inclusive. That is, the interval is [timestamp_begin, timestamp_end). The value 0 is special and treated as "unbounded" for both the begin and end endpoints of the time range. The Cloud Bigtable server rejects invalid and empty ranges, i.e., any range where the endpoint is smaller or equal than to the initial endpoint unless either endpoint is 0.

Template Parameters
Rep1a placeholder to match the Rep tparam for timestamp_begin type. The semantics of this template parameter are documented in std::chrono::duration<>` (in brief, the underlying arithmetic type used to store the number of ticks), for our purposes it is simply a formal parameter.
Rep2similar formal parameter for the type of timestamp_end.
Period1a placeholder to match the Period tparam for timestamp_begin type. The semantics of this template parameter are documented in std::chrono::duration<> (in brief, the length of the tick in seconds,vexpressed as a std::ratio<>), for our purposes it is simply a formal parameter.
Period2similar formal parameter for the type of timestamp_end.
ColumnTypethe type of the column qualifier. It should satisfy std::is_constructible<ColumnQualifierType, ColumnType>.
template<typename Rep1 , typename Period1 , typename Rep2 , typename Period2 , typename ColumnType >
Mutation DeleteFromColumn (std::string family, ColumnType &&column, std::chrono::duration< Rep1, Period1 > timestamp_begin, std::chrono::duration< Rep2, Period2 > timestamp_end)
 
The following functions create a mutation that deletes all the

cells in the given column family and column, Delete up to timestamp_end, but excluding, timestamp_end.

The function accepts any instantiation of std::chrono::duration<> for the timestamp_end For example:

using namespace std::chrono_literals; // C++14
bigtable::DeleteFromColumn("fam", "col", 10us)
Template Parameters
Rep2a placeholder to match the Rep tparam for timestamp_end type. The semantics of this template parameter are documented in std::chrono::duration<> (in brief, the underlying arithmetic type used to store the number of ticks), for our purposes it is simply a formal parameter.
Period2a placeholder to match the Period tparam for timestamp_end type. The semantics of this template parameter are documented in std::chrono::duration<> (in brief, the length of the tick in seconds, expressed as a std::ratio<>), for our purposes it is simply a formal parameter.
ColumnTypethe type of the column qualifier. It should satisfy std::is_constructible<ColumnQualifierType, ColumnType>.
template<typename Rep1 , typename Period1 , typename ColumnType >
Mutation DeleteFromColumnStartingFrom (std::string family, ColumnType &&column, std::chrono::duration< Rep1, Period1 > timestamp_begin)
 Delete all the values for the column. More...
 
template<typename Rep2 , typename Period2 , typename ColumnType >
Mutation DeleteFromColumnEndingAt (std::string family, ColumnType &&column, std::chrono::duration< Rep2, Period2 > timestamp_end)
 Delete all the values for the column. More...
 
template<typename ColumnType >
Mutation DeleteFromColumn (std::string family, ColumnType &&column)
 Delete all the values for the column. More...
 
Mutation DeleteFromFamily (std::string family)
 Create a mutation to delete all the cells in a column family. More...
 
Mutation DeleteFromRow ()
 Create a mutation to delete all the cells in a row. More...
 

Variables

constexpr auto kBigtableMutationLimit = 100000
 
constexpr auto kDefaultMutationLimit = 1000
 
constexpr auto kBigtableOutstandingMutationLimit = 300000
 
constexpr auto kDefaultMaxSizePerBatch
 
constexpr auto kDefaultMaxBatches = 4
 
constexpr auto kDefaultMaxOutstandingSize
 

Detailed Description

The inlined, versioned namespace for the Cloud Bigtable C++ client APIs.

Applications may need to link multiple versions of the Cloud Bigtable C++ client, for example, if they link a library that uses an older version of the client than they do. This namespace is inlined, so applications can use bigtable::Foo in their source, but the symbols are versioned, i.e., the symbol becomes bigtable::v1::Foo.

Note that, consistent with the semver.org guidelines, the v0 version makes no guarantees with respect to backwards compatibility.

Typedef Documentation

◆ CellValueType

using google::cloud::bigtable::v1::CellValueType = typedef std::decay< decltype(std::declval<google::bigtable::v2::Cell>().value())>::type

Defines the type for cell values.

Inside Google some protobuf fields of type bytes are mapped to a different type than std::string. This is the case for column qualifiers. We use this type to automatically detect what is the representation for this field and use the correct mapping.

External users of the Cloud Bigtable C++ client library should treat this as a complicated typedef for std::string. We have no plans to change the type in the external version of the C++ client library for the foreseeable future. In the eventuality that we do decide to change the type, this would be a reason update the library major version number, and we would give users time to migrate.

In other words, external users of the Cloud Bigtable C++ client should simply write std::string where this type appears. For Google projects that must compile both inside and outside Google, this alias may be convenient.

Definition at line 76 of file cell.h.

◆ ClientOptionList

The complete list of options accepted by bigtable::*Client

Definition at line 96 of file options.h.

◆ ClientUtils

typedef bigtable::internal::UnaryClientUtils< AdminClient > google::cloud::bigtable::v1::ClientUtils

Shortcuts to avoid typing long names over and over.

Definition at line 40 of file instance_admin.cc.

◆ ColumnQualifierType

using google::cloud::bigtable::v1::ColumnQualifierType = typedef std::decay< decltype(std::declval<google::bigtable::v2::Column>().qualifier())>::type

Defines the type for column qualifiers.

Inside Google some protobuf fields of type bytes are mapped to a different type than std::string. This is the case for column qualifiers. We use this type to automatically detect what is the representation for this field and use the correct mapping.

External users of the Cloud Bigtable C++ client library should treat this as a complicated typedef for std::string. We have no plans to change the type in the external version of the C++ client library for the foreseeable future. In the eventuality that we do decide to change the type, this would be a reason update the library major version number, and we would give users time to migrate.

In other words, external users of the Cloud Bigtable C++ client should simply write std::string where this type appears. For Google projects that must compile both inside and outside Google, this alias may be convenient.

Definition at line 54 of file cell.h.

◆ Instance

using google::cloud::bigtable::v1::Instance = typedef ::google::bigtable::admin::v2::Instance

Definition at line 30 of file instance_update_config.h.

◆ RowKeyType

using google::cloud::bigtable::v1::RowKeyType = typedef std::decay<decltype(std::declval<google::bigtable::v2::Row>().key())>::type

Defines the type for row keys.

Inside Google some protobuf fields of type bytes are mapped to a different type than std::string. This is the case for row keys. We use this type to automatically detect what is the representation for this field and use the correct mapping.

External users of the Cloud Bigtable C++ client library should treat this as a complicated typedef for std::string. We have no plans to change the type in the external version of the C++ client library for the foreseeable future. In the eventuality that we do decide to change the type, this would be a reason update the library major version number, and we would give users time to migrate.

In other words, external users of the Cloud Bigtable C++ client should simply write std::string where this type appears. For Google projects that must compile both inside and outside Google, this alias may be convenient.

Definition at line 47 of file row_key.h.

Enumeration Type Documentation

◆ Consistency

The result of checking replication against a given token.

Enumerator
kInconsistent 

Some of the mutations created before the consistency token have not been received by all the table replicas.

kConsistent 

All mutations created before the consistency token have been received by all the table replicas.

Definition at line 44 of file table_admin.h.

◆ MutationBranch

The branch taken by a Table::CheckAndMutateRow operation.

Enumerator
kPredicateNotMatched 

The predicate provided to CheckAndMutateRow did not match and the false_mutations (if any) were applied.

kPredicateMatched 

The predicate provided to CheckAndMutateRow matched and the true_mutations (if any) were applied.

Definition at line 44 of file table.h.

Function Documentation

◆ AppProfileName()

std::string google::cloud::bigtable::v1::AppProfileName ( std::string const &  project_id,
std::string const &  instance_id,
std::string const &  app_profile_id 
)

Definition at line 42 of file resource_names.cc.

◆ AsProto()

google::bigtable::admin::v2::RestoreTableRequest google::cloud::bigtable::v1::AsProto ( std::string const &  instance_name,
TableAdmin::RestoreTableFromInstanceParams  p 
)

Definition at line 349 of file table_admin.cc.

◆ BackupName()

std::string google::cloud::bigtable::v1::BackupName ( std::string const &  project_id,
std::string const &  instance_id,
std::string const &  cluster_id,
std::string const &  backup_id 
)

Definition at line 49 of file resource_names.cc.

◆ ClusterName()

std::string google::cloud::bigtable::v1::ClusterName ( std::string const &  project_id,
std::string const &  instance_id,
std::string const &  cluster_id 
)

Definition at line 35 of file resource_names.cc.

◆ CreateDefaultAdminClient()

std::shared_ptr< AdminClient > google::cloud::bigtable::v1::CreateDefaultAdminClient ( std::string  project,
ClientOptions  options 
)

Create a new table admin client configured via options.

Deprecated:
use the MakeAdminClient method which accepts google::cloud::Options instead.

Definition at line 463 of file admin_client.cc.

◆ CreateDefaultDataClient()

std::shared_ptr< DataClient > google::cloud::bigtable::v1::CreateDefaultDataClient ( std::string  project_id,
std::string  instance_id,
ClientOptions  options 
)

Create a new data client configured via options.

Deprecated:
use the MakeDataClient method which accepts google::cloud::Options instead.

Definition at line 214 of file data_client.cc.

◆ CreateDefaultInstanceAdminClient()

std::shared_ptr< InstanceAdminClient > google::cloud::bigtable::v1::CreateDefaultInstanceAdminClient ( std::string  project,
ClientOptions  options 
)

Create a new instance admin client configured via options.

Deprecated:
use the MakeInstanceAdminClient method which accepts google::cloud::Options instead.

Definition at line 399 of file instance_admin_client.cc.

◆ DefaultIdempotentMutationPolicy()

std::unique_ptr< IdempotentMutationPolicy > google::cloud::bigtable::v1::DefaultIdempotentMutationPolicy ( )

Return an instance of the default IdempotentMutationPolicy.

Definition at line 21 of file idempotent_mutation_policy.cc.

◆ DefaultPollingPolicy()

std::unique_ptr< PollingPolicy > google::cloud::bigtable::v1::DefaultPollingPolicy ( internal::RPCPolicyParameters  defaults)

Definition at line 21 of file polling_policy.cc.

◆ DefaultRPCBackoffPolicy()

std::unique_ptr< RPCBackoffPolicy > google::cloud::bigtable::v1::DefaultRPCBackoffPolicy ( internal::RPCPolicyParameters  defaults)

Return an instance of the default RPCBackoffPolicy.

Definition at line 21 of file rpc_backoff_policy.cc.

◆ DefaultRPCRetryPolicy()

std::unique_ptr< RPCRetryPolicy > google::cloud::bigtable::v1::DefaultRPCRetryPolicy ( internal::RPCPolicyParameters  defaults)

Return an instance of the default RPCRetryPolicy.

Definition at line 23 of file rpc_retry_policy.cc.

◆ DeleteFromColumn() [1/2]

template<typename ColumnType >
Mutation google::cloud::bigtable::v1::DeleteFromColumn ( std::string  family,
ColumnType &&  column 
)

Delete all the values for the column.

Definition at line 272 of file mutations.h.

◆ DeleteFromColumn() [2/2]

template<typename Rep1 , typename Period1 , typename Rep2 , typename Period2 , typename ColumnType >
Mutation google::cloud::bigtable::v1::DeleteFromColumn ( std::string  family,
ColumnType &&  column,
std::chrono::duration< Rep1, Period1 >  timestamp_begin,
std::chrono::duration< Rep2, Period2 >  timestamp_end 
)

Definition at line 168 of file mutations.h.

◆ DeleteFromColumnEndingAt()

template<typename Rep2 , typename Period2 , typename ColumnType >
Mutation google::cloud::bigtable::v1::DeleteFromColumnEndingAt ( std::string  family,
ColumnType &&  column,
std::chrono::duration< Rep2, Period2 >  timestamp_end 
)

Delete all the values for the column.

Definition at line 257 of file mutations.h.

◆ DeleteFromColumnStartingFrom()

template<typename Rep1 , typename Period1 , typename ColumnType >
Mutation google::cloud::bigtable::v1::DeleteFromColumnStartingFrom ( std::string  family,
ColumnType &&  column,
std::chrono::duration< Rep1, Period1 >  timestamp_begin 
)

Delete all the values for the column.

Definition at line 214 of file mutations.h.

◆ DeleteFromFamily()

Mutation google::cloud::bigtable::v1::DeleteFromFamily ( std::string  family)

Create a mutation to delete all the cells in a column family.

Definition at line 22 of file mutations.cc.

◆ DeleteFromRow()

Mutation google::cloud::bigtable::v1::DeleteFromRow ( )

Create a mutation to delete all the cells in a row.

Definition at line 29 of file mutations.cc.

◆ Expression()

google::type::Expr google::cloud::bigtable::v1::Expression ( std::string  expression,
std::string  title = "",
std::string  description = "",
std::string  location = "" 
)

Create a google::type::Expr.

This is a textual representation of an expression in Common Expression Language (CEL) syntax.

Parameters
expressionthe expression in Common Expression Language.
titlean optional title for the expression, i.e. a short string describing its purpose.
descriptionan optional description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.
locationan optional string indicating the location of the expression for error reporting, e.g. a file name and a position in the file.

Definition at line 21 of file expr.cc.

◆ IamBinding() [1/6]

template<class InputIt >
google::iam::v1::Binding google::cloud::bigtable::v1::IamBinding ( std::string  role,
InputIt  begin,
InputIt  end 
)

Create a google::iam::v1::Binding.

See also
https://cloud.google.com/resource-manager/reference/rest/Shared.Types/Policy for more information about a IAM policies.
Parameters
rolethe role which is assigned to members
beginiterator pointing to the first member
enditerator pointing to past last member
Returns
The binding

Definition at line 160 of file iam_binding.h.

◆ IamBinding() [2/6]

template<class InputIt >
google::iam::v1::Binding google::cloud::bigtable::v1::IamBinding ( std::string  role,
InputIt  begin,
InputIt  end,
google::type::Expr  condition 
)

Create a google::iam::v1::Binding.

See also
https://cloud.google.com/resource-manager/reference/rest/Shared.Types/Policy for more information about a IAM policies.
Parameters
rolethe role which is assigned to members
beginiterator pointing to the first member
enditerator pointing to past last member
conditionexpression indicating when the binding is effective
Returns
The binding

Definition at line 168 of file iam_binding.h.

◆ IamBinding() [3/6]

google::iam::v1::Binding google::cloud::bigtable::v1::IamBinding ( std::string  role,
std::initializer_list< std::string >  members 
)

Create a google::iam::v1::Binding.

See also
https://cloud.google.com/resource-manager/reference/rest/Shared.Types/Policy for more information about a IAM policies.
Parameters
rolethe role which is assigned to members
membersinitializer_list of members
Returns
The binding

Definition at line 26 of file iam_binding.cc.

◆ IamBinding() [4/6]

google::iam::v1::Binding google::cloud::bigtable::v1::IamBinding ( std::string  role,
std::initializer_list< std::string >  members,
google::type::Expr  condition 
)

Create a google::iam::v1::Binding.

See also
https://cloud.google.com/resource-manager/reference/rest/Shared.Types/Policy for more information about a IAM policies.
Parameters
rolethe role which is assigned to members
membersinitializer_list of members
conditionexpression indicating when the binding is effective
Returns
The binding

Definition at line 31 of file iam_binding.cc.

◆ IamBinding() [5/6]

google::iam::v1::Binding google::cloud::bigtable::v1::IamBinding ( std::string  role,
std::vector< std::string >  members 
)

Create a google::iam::v1::Binding.

See also
https://cloud.google.com/resource-manager/reference/rest/Shared.Types/Policy for more information about a IAM policies.
Parameters
rolethe role which is assigned to members
membersvector of members
Returns
The binding

Definition at line 38 of file iam_binding.cc.

◆ IamBinding() [6/6]

google::iam::v1::Binding google::cloud::bigtable::v1::IamBinding ( std::string  role,
std::vector< std::string >  members,
google::type::Expr  condition 
)

Create a google::iam::v1::Binding.

See also
https://cloud.google.com/resource-manager/reference/rest/Shared.Types/Policy for more information about a IAM policies.
Parameters
rolethe role which is assigned to members
membersvector of members
conditionexpression indicating when the binding is effective
Returns
The binding

Definition at line 48 of file iam_binding.cc.

◆ IamBindingAppendMembers()

template<class InputIt >
google::iam::v1::Binding google::cloud::bigtable::v1::IamBindingAppendMembers ( google::iam::v1::Binding  binding,
InputIt  begin,
InputIt  end 
)

Append members to a google::iam::v1::Binding.

Parameters
bindingthe role which is assigned to members
beginiterator pointing to the first member
enditerator pointing to past last member
Returns
The binding with appended members

Definition at line 140 of file iam_binding.h.

◆ IamBindingSetCondition()

google::iam::v1::Binding google::cloud::bigtable::v1::IamBindingSetCondition ( google::iam::v1::Binding  binding,
google::type::Expr  condition 
)

Set a condition to an google::iam::v1::Binding.

Parameters
bindingthe binding to which the condition is added
conditionthe added condition
Returns
the binding with the condition set

Definition at line 55 of file iam_binding.cc.

◆ IamPolicy() [1/3]

template<class InputIt >
google::iam::v1::Policy google::cloud::bigtable::v1::IamPolicy ( InputIt  first_binding,
InputIt  last_binding,
std::string  etag = "",
std::int32_t  version = 0 
)

Create a google::iam::v1::Policy.

See also
https://cloud.google.com/resource-manager/reference/rest/Shared.Types/Policy for more information about a IAM policies.
https://tools.ietf.org/html/rfc7232#section-2.3 for more information about ETags.
Warning
ETags are currently not used by Cloud Bigtable.
Parameters
first_bindingiterator pointing to the first google::iam::v1::Binding
last_bindingiterator pointing to past last google::iam::v1::Binding
etagused for optimistic concurrency control
versioncurrently unused
Returns
The policy

Definition at line 49 of file iam_policy.h.

◆ IamPolicy() [2/3]

google::iam::v1::Policy google::cloud::bigtable::v1::IamPolicy ( std::initializer_list< google::iam::v1::Binding >  bindings,
std::string  etag = "",
std::int32_t  version = 0 
)

Create a google::iam::v1::Policy.

See also
https://cloud.google.com/resource-manager/reference/rest/Shared.Types/Policy for more information about a IAM policies.
https://tools.ietf.org/html/rfc7232#section-2.3 for more information about ETags.
Warning
ETags are currently not used by Cloud Bigtable.
Parameters
bindingsinitializer_list of google::iam::v1::Binding
etagused for optimistic concurrency control
versioncurrently unused
Returns
The policy

Definition at line 23 of file iam_policy.cc.

◆ IamPolicy() [3/3]

google::iam::v1::Policy google::cloud::bigtable::v1::IamPolicy ( std::vector< google::iam::v1::Binding >  bindings,
std::string  etag = "",
std::int32_t  version = 0 
)

Create a google::iam::v1::Policy.

See also
https://cloud.google.com/resource-manager/reference/rest/Shared.Types/Policy for more information about a IAM policies.
https://tools.ietf.org/html/rfc7232#section-2.3 for more information about ETags.
Warning
ETags are currently not used by Cloud Bigtable.
Parameters
bindingsvector of google::iam::v1::Binding
etagused for optimistic concurrency control
versioncurrently unused
Returns
The policy

Definition at line 29 of file iam_policy.cc.

◆ InstanceName() [1/2]

std::string google::cloud::bigtable::v1::InstanceName ( std::shared_ptr< DataClient > const &  client)
inline

Return the fully qualified instance name for the client.

Compute the full path of the instance associated with the client, i.e., projects/instances/<client->project_id()>/instances/<client->instance_id()>

Definition at line 200 of file data_client.h.

◆ InstanceName() [2/2]

std::string google::cloud::bigtable::v1::InstanceName ( std::string const &  project_id,
std::string const &  instance_id 
)

Definition at line 23 of file resource_names.cc.

◆ MakeAdminClient()

std::shared_ptr< AdminClient > google::cloud::bigtable::v1::MakeAdminClient ( std::string  project,
Options  options 
)

Create a new table admin client configured via options.

Definition at line 446 of file admin_client.cc.

◆ MakeDataClient()

std::shared_ptr< DataClient > google::cloud::bigtable::v1::MakeDataClient ( std::string  project_id,
std::string  instance_id,
Options  options 
)

Create a new data client configured via options.

Definition at line 196 of file data_client.cc.

◆ MakeInstanceAdminClient()

std::shared_ptr< InstanceAdminClient > google::cloud::bigtable::v1::MakeInstanceAdminClient ( std::string  project,
Options  options = {} 
)

Create a new instance admin client configured via options.

Definition at line 381 of file instance_admin_client.cc.

◆ operator!=() [1/2]

bool google::cloud::bigtable::v1::operator!= ( MetadataParamTypes const &  lhs,
MetadataParamTypes const &  rhs 
)
inline

Definition at line 70 of file metadata_update_policy.h.

◆ operator!=() [2/2]

bool google::cloud::bigtable::v1::operator!= ( RowRange const &  lhs,
RowRange const &  rhs 
)
inline

Definition at line 198 of file row_range.h.

◆ operator<<() [1/4]

std::ostream & google::cloud::bigtable::v1::operator<< ( std::ostream &  os,
google::iam::v1::Binding const &  binding 
)

Definition at line 61 of file iam_binding.cc.

◆ operator<<() [2/4]

std::ostream & google::cloud::bigtable::v1::operator<< ( std::ostream &  os,
google::iam::v1::Policy const &  rhs 
)

Definition at line 41 of file iam_policy.cc.

◆ operator<<() [3/4]

std::ostream & google::cloud::bigtable::v1::operator<< ( std::ostream &  os,
RowRange const &  x 
)

Print a human-readable representation of the range, mostly for testing.

Definition at line 209 of file row_range.cc.

◆ operator<<() [4/4]

std::ostream & google::cloud::bigtable::v1::operator<< ( std::ostream &  stream,
google::type::Expr const &  e 
)

Definition at line 31 of file expr.cc.

◆ operator==() [1/2]

bool google::cloud::bigtable::v1::operator== ( MetadataParamTypes const &  lhs,
MetadataParamTypes const &  rhs 
)
inline

Definition at line 65 of file metadata_update_policy.h.

◆ operator==() [2/2]

bool google::cloud::bigtable::v1::operator== ( RowRange const &  lhs,
RowRange const &  rhs 
)

Definition at line 168 of file row_range.cc.

◆ RemoveBindingFromPolicy()

void google::cloud::bigtable::v1::RemoveBindingFromPolicy ( google::iam::v1::Policy &  policy,
google::protobuf::RepeatedPtrField< google::iam::v1::Binding >::iterator  to_remove 
)

Remove a specific binding from a policy.

Parameters
policythe policy to remove from
to_removethe iterator indicating the binding; it should be retrieved from the mutable_bindings() member

Definition at line 52 of file iam_policy.cc.

◆ RemoveBindingsFromPolicyIf()

template<typename Functor >
size_t google::cloud::bigtable::v1::RemoveBindingsFromPolicyIf ( google::iam::v1::Policy &  policy,
Functor  pred 
)

Remove all bindings matching a predicate from a policy.

Parameters
policythe policy to remove from
predpredicate indicating whether to remove a binding
Template Parameters
Functorthe type of the predicate; it should be invocable with google::iam::v1::Binding const& and return a bool.
Returns
number of bindings removed.

Definition at line 119 of file iam_policy.h.

◆ ServerSetTimestamp()

constexpr std::int64_t google::cloud::bigtable::v1::ServerSetTimestamp ( )
constexpr

A magic value where the server sets the timestamp.

Notice that using this value in a SetCell() mutation makes it non-idempotent, and by default the client will not retry such mutations.

Definition at line 54 of file mutations.h.

◆ SetCell() [1/5]

Mutation google::cloud::bigtable::v1::SetCell ( Cell  cell)

Create a mutation to set a cell value based on a bigtable::Cell.

These mutations are not idempotent and not retried by default.

Definition at line 35 of file mutations.cc.

◆ SetCell() [2/5]

template<typename ColumnType >
Mutation google::cloud::bigtable::v1::SetCell ( std::string  family,
ColumnType &&  column,
std::chrono::milliseconds  timestamp,
std::int64_t  value 
)

Create a mutation to store a 64-bit big endian integer value.

Definition at line 72 of file mutations.h.

◆ SetCell() [3/5]

template<typename ColumnType , typename ValueType >
Mutation google::cloud::bigtable::v1::SetCell ( std::string  family,
ColumnType &&  column,
std::chrono::milliseconds  timestamp,
ValueType &&  value 
)

Create a mutation to set a cell value.

Definition at line 58 of file mutations.h.

◆ SetCell() [4/5]

template<typename ColumnType >
Mutation google::cloud::bigtable::v1::SetCell ( std::string  family,
ColumnType &&  column,
std::int64_t  value 
)

Create a mutation to store a 64-bit big endian integer value.

Note
This mutation is not idempotent, the default policies do not retry transient failures for this mutation.

Definition at line 107 of file mutations.h.

◆ SetCell() [5/5]

template<typename ColumnType , typename ValueType >
Mutation google::cloud::bigtable::v1::SetCell ( std::string  family,
ColumnType &&  column,
ValueType &&  value 
)

Create a mutation to set a cell value where the server sets the time.

These mutations are not idempotent and not retried by default.

Definition at line 90 of file mutations.h.

◆ TableName() [1/2]

std::string google::cloud::bigtable::v1::TableName ( std::shared_ptr< DataClient > const &  client,
std::string const &  table_id 
)
inline

Return the full table name.

The full table name is:

projects/<PROJECT_ID>/instances/<INSTANCE_ID>/tables/<table_id>

Where the project id and instance id come from the client parameter.

Definition at line 64 of file table.h.

◆ TableName() [2/2]

std::string google::cloud::bigtable::v1::TableName ( std::string const &  project_id,
std::string const &  instance_id,
std::string const &  table_id 
)

Definition at line 28 of file resource_names.cc.

◆ version()

constexpr int google::cloud::bigtable::v1::version ( )
constexpr

A single integer representing the Major/Minor/Patch version.

Definition at line 73 of file version.h.

◆ version_major()

constexpr int google::cloud::bigtable::v1::version_major ( )
constexpr

The Cloud Bigtable C++ Client major version.

See also
https://semver.org/spec/v2.0.0.html for details.

Definition at line 56 of file version.h.

◆ version_minor()

constexpr int google::cloud::bigtable::v1::version_minor ( )
constexpr

The Cloud Bigtable C++ Client minor version.

See also
https://semver.org/spec/v2.0.0.html for details.

Definition at line 63 of file version.h.

◆ version_patch()

constexpr int google::cloud::bigtable::v1::version_patch ( )
constexpr

The Cloud Bigtable C++ Client patch version.

See also
https://semver.org/spec/v2.0.0.html for details.

Definition at line 70 of file version.h.

◆ version_string()

std::string google::cloud::bigtable::v1::version_string ( )

The version as a string, in MAJOR.MINOR.PATCH+gitrev format.

Definition at line 23 of file version.cc.

Variable Documentation

◆ kBigtableMutationLimit

constexpr auto google::cloud::bigtable::v1::kBigtableMutationLimit = 100000
constexpr

Definition at line 26 of file mutation_batcher.cc.

◆ kBigtableOutstandingMutationLimit

constexpr auto google::cloud::bigtable::v1::kBigtableOutstandingMutationLimit = 300000
constexpr

Definition at line 30 of file mutation_batcher.cc.

◆ kDefaultMaxBatches

constexpr auto google::cloud::bigtable::v1::kDefaultMaxBatches = 4
constexpr

Definition at line 35 of file mutation_batcher.cc.

◆ kDefaultMaxOutstandingSize

constexpr auto google::cloud::bigtable::v1::kDefaultMaxOutstandingSize
constexpr
Initial value:

Definition at line 36 of file mutation_batcher.cc.

◆ kDefaultMaxSizePerBatch

constexpr auto google::cloud::bigtable::v1::kDefaultMaxSizePerBatch
constexpr
Initial value:
=
(BIGTABLE_CLIENT_DEFAULT_MAX_MESSAGE_LENGTH * 90LL) / 100LL

Definition at line 33 of file mutation_batcher.cc.

◆ kDefaultMutationLimit

constexpr auto google::cloud::bigtable::v1::kDefaultMutationLimit = 1000
constexpr

Definition at line 27 of file mutation_batcher.cc.