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

Contains all the Cloud Bigtable C++ client APIs. More...

Classes

class  AdminClient
 Creates a bigtable_admin::BigtableTableAdminConnection and a CompletionQueue for bigtable::TableAdmin to use. 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  AsyncRowReader
 
class  Cell
 The in-memory representation of a Bigtable cell. More...
 
class  ClientOptions
 Configuration options for the Bigtable Client. More...
 
class  ClusterConfig
 Specify the initial configuration for a new cluster. More...
 
struct  ClusterList
 The response for an asynchronous request listing all the clusters. 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  DataClient
 Connects to Cloud Bigtable's data manipulation APIs. More...
 
class  DataConnection
 A connection to the Cloud Bigtable Data API. 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...
 
class  InstanceAdmin
 Implements the APIs to administer Cloud Bigtable instances. More...
 
class  InstanceAdminClient
 Creates a bigtable_admin::BigtableInstanceAdminConnection for bigtable::InstanceAdmin to use. 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  InstanceResource
 This class identifies a Cloud Bigtable Instance. More...
 
class  InstanceUpdateConfig
 Specify the initial configuration for updating an instance. 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  MutationBatcher
 Objects of this class pack single row mutations into bulk 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...
 
struct  AppProfileIdOption
 The application profile id. 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...
 
struct  DataRetryPolicyOption
 Option to configure the retry policy used by Table. More...
 
struct  DataBackoffPolicyOption
 Option to configure the backoff policy used by Table. More...
 
struct  IdempotentMutationPolicyOption
 Option to configure the idempotency policy used by Table. 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  ReadModifyWriteRule
 Define the interfaces to create ReadWriteModifyRule operations. More...
 
class  Row
 The in-memory representation of a Bigtable row. More...
 
struct  RowKeySample
 A simple wrapper to represent the response from Table::SampleRowKeys(). More...
 
class  RowRange
 Define the interfaces to create row key ranges. 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  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  Table
 The main interface to interact with data in a Cloud Bigtable table. More...
 
class  TableAdmin
 Implements the API to administer tables in a Cloud Bigtable instance. More...
 
class  TableConfig
 Specify the initial schema for a new table. More...
 
class  TableResource
 This class identifies a Cloud Bigtable Table. More...
 

Typedefs

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 Instance = ::google::bigtable::admin::v2::Instance
 
using ClientOptionList = OptionList< DataEndpointOption, AdminEndpointOption, InstanceAdminEndpointOption, MinConnectionRefreshOption, MaxConnectionRefreshOption >
 The complete list of options accepted by bigtable::*Client More...
 
using DataRetryPolicy = ::google::cloud::internal::TraitBasedRetryPolicy< bigtable::internal::SafeGrpcRetry >
 
using DataLimitedTimeRetryPolicy = ::google::cloud::internal::LimitedTimeRetryPolicy< bigtable::internal::SafeGrpcRetry >
 
using DataLimitedErrorCountRetryPolicy = ::google::cloud::internal::LimitedErrorCountRetryPolicy< bigtable::internal::SafeGrpcRetry >
 
using DataPolicyOptionList = OptionList< DataRetryPolicyOption, DataBackoffPolicyOption, IdempotentMutationPolicyOption >
 
using RowKeyType = std::decay< decltype(std::declval< google::bigtable::v2::Row >().key())>::type
 Defines the type for row keys. More...
 

Enumerations

enum class  MutationBranch { kPredicateNotMatched , kPredicateMatched }
 The branch taken by a Table::CheckAndMutateRow operation. More...
 
enum class  Consistency { kInconsistent , kConsistent }
 The result of checking replication against a given token. 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...
 
Mutation SetCell (Cell cell)
 Create a mutation to set a cell value based on a bigtable::Cell. 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::shared_ptr< DataConnectionMakeDataConnection (Options options={})
 Returns a DataConnection object that can be used for interacting with the Cloud Bigtable Data API. 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 &)
 
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...
 
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...
 
std::unique_ptr< IdempotentMutationPolicyDefaultIdempotentMutationPolicy ()
 Return an instance of the default IdempotentMutationPolicy. 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...
 
StatusOr< InstanceResourceMakeInstanceResource (std::string const &full_name)
 Constructs an InstanceResource from the given full_name. More...
 
bool operator== (MetadataParamTypes const &lhs, MetadataParamTypes const &rhs)
 
bool operator!= (MetadataParamTypes const &lhs, MetadataParamTypes const &rhs)
 
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...
 
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)
 
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...
 
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::string TableName (std::shared_ptr< DataClient > const &client, std::string const &table_id)
 Return the full table name. More...
 
StatusOr< TableResourceMakeTableResource (std::string const &full_name)
 Constructs a TableResource from the given full_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...
 
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:169

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...
 

Detailed Description

Contains all the Cloud Bigtable C++ client APIs.

Typedef Documentation

◆ CellValueType

using google::cloud::bigtable::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 132 of file options.h.

◆ ColumnQualifierType

using google::cloud::bigtable::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.

◆ DataLimitedErrorCountRetryPolicy

using google::cloud::bigtable::DataLimitedErrorCountRetryPolicy = typedef ::google::cloud::internal::LimitedErrorCountRetryPolicy< bigtable::internal::SafeGrpcRetry>

Definition at line 144 of file options.h.

◆ DataLimitedTimeRetryPolicy

using google::cloud::bigtable::DataLimitedTimeRetryPolicy = typedef ::google::cloud::internal::LimitedTimeRetryPolicy< bigtable::internal::SafeGrpcRetry>

Definition at line 140 of file options.h.

◆ DataPolicyOptionList

Definition at line 163 of file options.h.

◆ DataRetryPolicy

using google::cloud::bigtable::DataRetryPolicy = typedef ::google::cloud::internal::TraitBasedRetryPolicy< bigtable::internal::SafeGrpcRetry>

Definition at line 137 of file options.h.

◆ Instance

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

Definition at line 30 of file instance_update_config.h.

◆ RowKeyType

using google::cloud::bigtable::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 50 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 26 of file mutation_branch.h.

Function Documentation

◆ AppProfileName()

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

◆ BackupName()

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

◆ ClusterName()

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

◆ CreateDefaultAdminClient()

std::shared_ptr<AdminClient> google::cloud::bigtable::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.

◆ CreateDefaultDataClient()

std::shared_ptr<DataClient> google::cloud::bigtable::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.

◆ CreateDefaultInstanceAdminClient()

std::shared_ptr<InstanceAdminClient> google::cloud::bigtable::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.

◆ DefaultIdempotentMutationPolicy()

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

Return an instance of the default IdempotentMutationPolicy.

◆ DefaultPollingPolicy()

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

◆ DefaultRPCBackoffPolicy()

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

Return an instance of the default RPCBackoffPolicy.

◆ DefaultRPCRetryPolicy()

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

Return an instance of the default RPCRetryPolicy.

◆ DeleteFromColumn() [1/2]

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

Delete all the values for the column.

Definition at line 273 of file mutations.h.

◆ DeleteFromColumn() [2/2]

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

Definition at line 169 of file mutations.h.

◆ DeleteFromColumnEndingAt()

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

Delete all the values for the column.

Definition at line 258 of file mutations.h.

◆ DeleteFromColumnStartingFrom()

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

Delete all the values for the column.

Definition at line 215 of file mutations.h.

◆ DeleteFromFamily()

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

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

◆ DeleteFromRow()

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

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

◆ Expression()

google::type::Expr google::cloud::bigtable::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.

◆ IamBinding() [1/6]

template<class InputIt >
google::iam::v1::Binding google::cloud::bigtable::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::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::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

◆ IamBinding() [4/6]

google::iam::v1::Binding google::cloud::bigtable::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

◆ IamBinding() [5/6]

google::iam::v1::Binding google::cloud::bigtable::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

◆ IamBinding() [6/6]

google::iam::v1::Binding google::cloud::bigtable::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

◆ IamBindingAppendMembers()

template<class InputIt >
google::iam::v1::Binding google::cloud::bigtable::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::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

◆ IamPolicy() [1/3]

template<class InputIt >
google::iam::v1::Policy google::cloud::bigtable::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::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

◆ IamPolicy() [3/3]

google::iam::v1::Policy google::cloud::bigtable::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

◆ InstanceName() [1/2]

std::string google::cloud::bigtable::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 221 of file data_client.h.

◆ InstanceName() [2/2]

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

◆ MakeAdminClient()

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

Create a new table admin client configured via options.

◆ MakeDataClient()

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

Create a new data client configured via options.

◆ MakeDataConnection()

std::shared_ptr<DataConnection> google::cloud::bigtable::MakeDataConnection ( Options  options = {})

Returns a DataConnection object that can be used for interacting with the Cloud Bigtable Data API.

The returned connection object should not be used directly; instead it should be given to a Table instance, and methods should be invoked on Table.

The optional opts argument may be used to configure aspects of the returned DataConnection. Expected options are any of the following options or types in the option lists.

Note
Unrecognized options will be ignored. To debug issues with options set GOOGLE_CLOUD_CPP_ENABLE_CLOG=yes in the environment and unexpected options will be logged.
Parameters
options(optional) Configure the DataConnection created by this function.

◆ MakeInstanceAdminClient()

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

Create a new instance admin client configured via options.

◆ MakeInstanceResource()

StatusOr<InstanceResource> google::cloud::bigtable::MakeInstanceResource ( std::string const &  full_name)

Constructs an InstanceResource from the given full_name.

Returns a non-OK Status if full_name is improperly formed.

◆ MakeTableResource()

StatusOr<TableResource> google::cloud::bigtable::MakeTableResource ( std::string const &  full_name)

Constructs a TableResource from the given full_name.

Returns a non-OK Status if full_name is improperly formed.

◆ operator!=() [1/2]

bool google::cloud::bigtable::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::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::operator<< ( std::ostream &  os,
google::iam::v1::Binding const &  binding 
)

◆ operator<<() [2/4]

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

◆ operator<<() [3/4]

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

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

◆ operator<<() [4/4]

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

◆ operator==() [1/2]

bool google::cloud::bigtable::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::operator== ( RowRange const &  lhs,
RowRange const &  rhs 
)

◆ RemoveBindingFromPolicy()

void google::cloud::bigtable::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

◆ RemoveBindingsFromPolicyIf()

template<typename Functor >
size_t google::cloud::bigtable::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::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 55 of file mutations.h.

◆ SetCell() [1/5]

Mutation google::cloud::bigtable::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.

◆ SetCell() [2/5]

template<typename ColumnType >
Mutation google::cloud::bigtable::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 73 of file mutations.h.

◆ SetCell() [3/5]

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

Create a mutation to set a cell value.

Definition at line 59 of file mutations.h.

◆ SetCell() [4/5]

template<typename ColumnType >
Mutation google::cloud::bigtable::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 108 of file mutations.h.

◆ SetCell() [5/5]

template<typename ColumnType , typename ValueType >
Mutation google::cloud::bigtable::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 91 of file mutations.h.

◆ TableName() [1/2]

std::string google::cloud::bigtable::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 63 of file table.h.

◆ TableName() [2/2]

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

◆ version()

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

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

Definition at line 68 of file version.h.

◆ version_major()

constexpr int google::cloud::bigtable::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 51 of file version.h.

◆ version_minor()

constexpr int google::cloud::bigtable::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 58 of file version.h.

◆ version_patch()

constexpr int google::cloud::bigtable::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 65 of file version.h.

◆ version_string()

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

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