package bigtable
import "cloud.google.com/go/bigtable"
Package bigtable is an API to Google Cloud Bigtable.
See https://cloud.google.com/bigtable/docs/ for general product documentation.
See https://godoc.org/cloud.google.com/go for authentication, timeouts, connection pooling and similar aspects of this package.
Reading
The principal way to read from a Bigtable is to use the ReadRows method on *Table. A RowRange specifies a contiguous portion of a table. A Filter may be provided through RowFilter to limit or transform the data that is returned.
tbl := client.Open("mytable") // Read all the rows starting with "com.google.", but only fetch the columns // in the "links" family. rr := bigtable.PrefixRange("com.google.") err := tbl.ReadRows(ctx, rr, func(r Row) bool { // TODO: do something with r. return true // Keep going. }, bigtable.RowFilter(bigtable.FamilyFilter("links"))) if err != nil { // TODO: handle err. }
To read a single row, use the ReadRow helper method:
r, err := tbl.ReadRow(ctx, "com.google.cloud") // "com.google.cloud" is the entire row key if err != nil { // TODO: handle err. } // TODO: use r.
Writing
This API exposes two distinct forms of writing to a Bigtable: a Mutation and a ReadModifyWrite. The former expresses idempotent operations. The latter expresses non-idempotent operations and returns the new values of updated cells. These operations are performed by creating a Mutation or ReadModifyWrite (with NewMutation or NewReadModifyWrite), building up one or more operations on that, and then using the Apply or ApplyReadModifyWrite methods on a Table.
For instance, to set a couple of cells in a table:
tbl := client.Open("mytable") mut := bigtable.NewMutation() // To use numeric values that will later be incremented, // they need to be big-endian encoded as 64-bit integers. buf := new(bytes.Buffer) initialLinkCount := 1 // The initial number of links. if err := binary.Write(buf, binary.BigEndian, initialLinkCount); err != nil { // TODO: handle err. } mut.Set("links", "maps.google.com", bigtable.Now(), buf.Bytes()) mut.Set("links", "golang.org", bigtable.Now(), buf.Bytes()) err := tbl.Apply(ctx, "com.google.cloud", mut) if err != nil { // TODO: handle err. }
To increment an encoded value in one cell:
tbl := client.Open("mytable") rmw := bigtable.NewReadModifyWrite() rmw.Increment("links", "golang.org", 12) // add 12 to the cell in column "links:golang.org" r, err := tbl.ApplyReadModifyWrite(ctx, "com.google.cloud", rmw) if err != nil { // TODO: handle err. } // TODO: use r.
Retries
If a read or write operation encounters a transient error it will be retried until a successful response, an unretryable error or the context deadline is reached. Non-idempotent writes (where the timestamp is set to ServerTime) will not be retried. In the case of ReadRows, retried calls will not re-scan rows that have already been processed.
Index ¶
- Constants
- func Equal(a, b Type) bool
- func GCRuleToString(rule *bttdpb.GcRule) string
- func MarshalJSON(t Type) ([]byte, error)
- type AdminClient
- func NewAdminClient(ctx context.Context, project, instance string, opts ...option.ClientOption) (*AdminClient, error)
- func (ac *AdminClient) AuthorizedViewIAM(table, authorizedView string) *iam.Handle
- func (ac *AdminClient) AuthorizedViewInfo(ctx context.Context, tableID, authorizedViewID string) (*AuthorizedViewInfo, error)
- func (ac *AdminClient) AuthorizedViews(ctx context.Context, tableID string) ([]string, error)
- func (ac *AdminClient) BackupIAM(cluster, backup string) *iam.Handle
- func (ac *AdminClient) BackupInfo(ctx context.Context, cluster, backup string) (*BackupInfo, error)
- func (ac *AdminClient) Backups(ctx context.Context, cluster string) *BackupIterator
- func (ac *AdminClient) Close() error
- func (ac *AdminClient) CopyBackup(ctx context.Context, sourceCluster, sourceBackup, destProject, destInstance, destCluster, destBackup string, expireTime time.Time) error
- func (ac *AdminClient) CreateAuthorizedView(ctx context.Context, conf *AuthorizedViewConf) error
- func (ac *AdminClient) CreateBackup(ctx context.Context, table, cluster, backup string, expireTime time.Time) error
- func (ac *AdminClient) CreateBackupWithOptions(ctx context.Context, table, cluster, backup string, opts ...BackupOption) error
- func (ac *AdminClient) CreateColumnFamily(ctx context.Context, table, family string) error
- func (ac *AdminClient) CreateColumnFamilyWithConfig(ctx context.Context, table, family string, config Family) error
- func (ac *AdminClient) CreatePresplitTable(ctx context.Context, table string, splitKeys []string) error
- func (ac *AdminClient) CreateTable(ctx context.Context, table string) error
- func (ac *AdminClient) CreateTableFromConf(ctx context.Context, conf *TableConf) error
- func (ac *AdminClient) CreateTableFromSnapshot(ctx context.Context, table, cluster, snapshot string) error
- func (ac *AdminClient) DeleteAuthorizedView(ctx context.Context, tableID, authorizedViewID string) error
- func (ac *AdminClient) DeleteBackup(ctx context.Context, cluster, backup string) error
- func (ac *AdminClient) DeleteColumnFamily(ctx context.Context, table, family string) error
- func (ac *AdminClient) DeleteSnapshot(ctx context.Context, cluster, snapshot string) error
- func (ac *AdminClient) DeleteTable(ctx context.Context, table string) error
- func (ac *AdminClient) DropAllRows(ctx context.Context, table string) error
- func (ac *AdminClient) DropRowRange(ctx context.Context, table, rowKeyPrefix string) error
- func (ac *AdminClient) EncryptionInfo(ctx context.Context, table string) (EncryptionInfoByCluster, error)
- func (ac *AdminClient) RestoreTable(ctx context.Context, table, cluster, backup string) error
- func (ac *AdminClient) RestoreTableFrom(ctx context.Context, sourceInstance, table, sourceCluster, backup string) error
- func (ac *AdminClient) SetGCPolicy(ctx context.Context, table, family string, policy GCPolicy) error
- func (ac *AdminClient) SetGCPolicyWithOptions(ctx context.Context, table, family string, policy GCPolicy, opts ...GCPolicyOption) error
- func (ac *AdminClient) SnapshotInfo(ctx context.Context, cluster, snapshot string) (*SnapshotInfo, error)
- func (ac *AdminClient) SnapshotTable(ctx context.Context, table, cluster, snapshot string, ttl time.Duration) error
- func (ac *AdminClient) Snapshots(ctx context.Context, cluster string) *SnapshotIterator
- func (ac *AdminClient) TableIAM(tableID string) *iam.Handle
- func (ac *AdminClient) TableInfo(ctx context.Context, table string) (*TableInfo, error)
- func (ac *AdminClient) Tables(ctx context.Context) ([]string, error)
- func (ac *AdminClient) UpdateAuthorizedView(ctx context.Context, conf UpdateAuthorizedViewConf) error
- func (ac *AdminClient) UpdateBackup(ctx context.Context, cluster, backup string, expireTime time.Time) error
- func (ac *AdminClient) UpdateBackupHotToStandardTime(ctx context.Context, cluster, backup string, hotToStandardTime time.Time) error
- func (ac *AdminClient) UpdateBackupRemoveHotToStandardTime(ctx context.Context, cluster, backup string) error
- func (ac *AdminClient) UpdateFamily(ctx context.Context, table, familyName string, family Family, opts ...UpdateFamilyOption) error
- func (ac *AdminClient) UpdateTableDisableAutomatedBackupPolicy(ctx context.Context, tableID string) error
- func (ac *AdminClient) UpdateTableDisableChangeStream(ctx context.Context, tableID string) error
- func (ac *AdminClient) UpdateTableWithAutomatedBackupPolicy(ctx context.Context, tableID string, automatedBackupPolicy TableAutomatedBackupPolicy) error
- func (ac *AdminClient) UpdateTableWithChangeStream(ctx context.Context, tableID string, changeStreamRetention ChangeStreamRetention) error
- func (ac *AdminClient) UpdateTableWithDeletionProtection(ctx context.Context, tableID string, deletionProtection DeletionProtection) error
- func (ac *AdminClient) WaitForReplication(ctx context.Context, table string) error
- type AggregateType
- type Aggregator
- type ApplyOption
- type AuthorizedViewConf
- type AuthorizedViewInfo
- type AutoscalingConfig
- type BackupInfo
- type BackupIterator
- func (it *BackupIterator) Next() (*BackupInfo, error)
- func (it *BackupIterator) PageInfo() *iterator.PageInfo
- type BackupOption
- func WithExpiry(expireTime time.Time) BackupOption
- func WithHotBackup() BackupOption
- func WithHotToStandardBackup(hotToStandardTime time.Time) BackupOption
- type BackupType
- type BigEndianBytesEncoding
- type BytesEncoding
- type BytesType
- type ChangeStreamRetention
- type Client
- func NewClient(ctx context.Context, project, instance string, opts ...option.ClientOption) (*Client, error)
- func NewClientWithConfig(ctx context.Context, project, instance string, config ClientConfig, opts ...option.ClientOption) (*Client, error)
- func (c *Client) Close() error
- func (c *Client) Open(table string) *Table
- func (c *Client) OpenAuthorizedView(table, authorizedView string) TableAPI
- func (c *Client) OpenTable(table string) TableAPI
- type ClientConfig
- type ClusterConfig
- type ClusterInfo
- type DeletionProtection
- type EncryptionInfo
- type EncryptionInfoByCluster
- type EncryptionType
- type ErrPartiallyUnavailable
- type Family
- type FamilyInfo
- type FamilySubset
- type Filter
- func BlockAllFilter() Filter
- func CellsPerRowLimitFilter(n int) Filter
- func CellsPerRowOffsetFilter(n int) Filter
- func ChainFilters(sub ...Filter) Filter
- func ColumnFilter(pattern string) Filter
- func ColumnRangeFilter(family, start, end string) Filter
- func ConditionFilter(predicateFilter, trueFilter, falseFilter Filter) Filter
- func FamilyFilter(pattern string) Filter
- func InterleaveFilters(sub ...Filter) Filter
- func LabelFilter(label string) Filter
- func LatestNFilter(n int) Filter
- func PassAllFilter() Filter
- func RowKeyFilter(pattern string) Filter
- func RowSampleFilter(p float64) Filter
- func StripValueFilter() Filter
- func TimestampRangeFilter(startTime time.Time, endTime time.Time) Filter
- func TimestampRangeFilterMicros(startTime Timestamp, endTime Timestamp) Filter
- func ValueFilter(pattern string) Filter
- func ValueRangeFilter(start, end []byte) Filter
- type FullReadStats
- type FullReadStatsFunc
- type GCPolicy
- func IntersectionPolicy(sub ...GCPolicy) GCPolicy
- func MaxAgePolicy(d time.Duration) GCPolicy
- func MaxVersionsPolicy(n int) GCPolicy
- func NoGcPolicy() GCPolicy
- func UnionPolicy(sub ...GCPolicy) GCPolicy
- type GCPolicyOption
- type HllppUniqueCountAggregator
- type InstanceAdminClient
- func NewInstanceAdminClient(ctx context.Context, project string, opts ...option.ClientOption) (*InstanceAdminClient, error)
- func (iac *InstanceAdminClient) Close() error
- func (iac *InstanceAdminClient) Clusters(ctx context.Context, instanceID string) ([]*ClusterInfo, error)
- func (iac *InstanceAdminClient) CreateAppProfile(ctx context.Context, profile ProfileConf) (*btapb.AppProfile, error)
- func (iac *InstanceAdminClient) CreateCluster(ctx context.Context, conf *ClusterConfig) error
- func (iac *InstanceAdminClient) CreateInstance(ctx context.Context, conf *InstanceConf) error
- func (iac *InstanceAdminClient) CreateInstanceWithClusters(ctx context.Context, conf *InstanceWithClustersConfig) error
- func (iac *InstanceAdminClient) DeleteAppProfile(ctx context.Context, instanceID, name string) error
- func (iac *InstanceAdminClient) DeleteCluster(ctx context.Context, instanceID, clusterID string) error
- func (iac *InstanceAdminClient) DeleteInstance(ctx context.Context, instanceID string) error
- func (iac *InstanceAdminClient) GetAppProfile(ctx context.Context, instanceID, name string) (*btapb.AppProfile, error)
- func (iac *InstanceAdminClient) GetCluster(ctx context.Context, instanceID, clusterID string) (*ClusterInfo, error)
- func (iac *InstanceAdminClient) InstanceIAM(instanceID string) *iam.Handle
- func (iac *InstanceAdminClient) InstanceInfo(ctx context.Context, instanceID string) (*InstanceInfo, error)
- func (iac *InstanceAdminClient) Instances(ctx context.Context) ([]*InstanceInfo, error)
- func (iac *InstanceAdminClient) ListAppProfiles(ctx context.Context, instanceID string) *ProfileIterator
- func (iac *InstanceAdminClient) SetAutoscaling(ctx context.Context, instanceID, clusterID string, conf AutoscalingConfig) error
- func (iac *InstanceAdminClient) UpdateAppProfile(ctx context.Context, instanceID, profileID string, updateAttrs ProfileAttrsToUpdate) error
- func (iac *InstanceAdminClient) UpdateCluster(ctx context.Context, instanceID, clusterID string, serveNodes int32) error
- func (iac *InstanceAdminClient) UpdateInstanceWithClusters(ctx context.Context, conf *InstanceWithClustersConfig) error
- type InstanceConf
- type InstanceInfo
- type InstanceState
- type InstanceType
- type InstanceWithClustersConfig
- type Int64Encoding
- type Int64Type
- type IntersectionGCPolicy
- type MaxAgeGCPolicy
- type MaxAggregator
- type MaxVersionsGCPolicy
- type MetricsProvider
- type MinAggregator
- type Mutation
- func NewCondMutation(cond Filter, mtrue, mfalse *Mutation) *Mutation
- func NewMutation() *Mutation
- func (m *Mutation) AddIntToCell(family, column string, ts Timestamp, value int64)
- func (m *Mutation) DeleteCellsInColumn(family, column string)
- func (m *Mutation) DeleteCellsInFamily(family string)
- func (m *Mutation) DeleteRow()
- func (m *Mutation) DeleteTimestampRange(family, column string, start, end Timestamp)
- func (m *Mutation) MergeBytesToCell(family, column string, ts Timestamp, value []byte)
- func (m *Mutation) Set(family, column string, ts Timestamp, value []byte)
- type NoopMetricsProvider
- type PolicyType
- type ProfileAttrsToUpdate
- type ProfileConf
- type ProfileIterator
- func (it *ProfileIterator) Next() (*btapb.AppProfile, error)
- func (it *ProfileIterator) PageInfo() *iterator.PageInfo
- type RawBytesEncoding
- type ReadItem
- type ReadIterationStats
- type ReadModifyWrite
- func NewReadModifyWrite() *ReadModifyWrite
- func (m *ReadModifyWrite) AppendValue(family, column string, v []byte)
- func (m *ReadModifyWrite) Increment(family, column string, delta int64)
- type ReadOption
- func LimitRows(limit int64) ReadOption
- func ReverseScan() ReadOption
- func RowFilter(f Filter) ReadOption
- func WithFullReadStats(f FullReadStatsFunc) ReadOption
- type RequestLatencyStats
- type Row
- type RowList
- type RowRange
- func InfiniteRange(start string) RowRange
- func InfiniteReverseRange(end string) RowRange
- func NewClosedOpenRange(start, end string) RowRange
- func NewClosedRange(start, end string) RowRange
- func NewOpenClosedRange(start, end string) RowRange
- func NewOpenRange(start, end string) RowRange
- func NewRange(begin, end string) RowRange
- func PrefixRange(prefix string) RowRange
- func (r RowRange) Contains(row string) bool
- func (r RowRange) String() string
- func (r RowRange) Unbounded() bool
- type RowRangeList
- type RowSet
- type SnapshotInfo
- type SnapshotIterator
- func (it *SnapshotIterator) Next() (*SnapshotInfo, error)
- func (it *SnapshotIterator) PageInfo() *iterator.PageInfo
- type Status
- type StorageType
- type StringEncoding
- type StringType
- type StringUtf8BytesEncoding
- type StringUtf8Encoding
- type SubsetViewConf
- func (s *SubsetViewConf) AddFamilySubsetQualifier(familyName string, qualifier []byte)
- func (s *SubsetViewConf) AddFamilySubsetQualifierPrefix(familyName string, qualifierPrefix []byte)
- func (s *SubsetViewConf) AddRowPrefix(prefix []byte)
- type SubsetViewInfo
- type SumAggregator
- type Table
- func (t *Table) Apply(ctx context.Context, row string, m *Mutation, opts ...ApplyOption) (err error)
- func (t *Table) ApplyBulk(ctx context.Context, rowKeys []string, muts []*Mutation, opts ...ApplyOption) (errs []error, err error)
- func (t *Table) ApplyReadModifyWrite(ctx context.Context, row string, m *ReadModifyWrite) (Row, error)
- func (t *Table) ReadRow(ctx context.Context, row string, opts ...ReadOption) (Row, error)
- func (t *Table) ReadRows(ctx context.Context, arg RowSet, f func(Row) bool, opts ...ReadOption) (err error)
- func (t *Table) SampleRowKeys(ctx context.Context) ([]string, error)
- type TableAPI
- type TableAutomatedBackupConfig
- type TableAutomatedBackupPolicy
- type TableConf
- type TableInfo
- type Timestamp
- func Now() Timestamp
- func Time(t time.Time) Timestamp
- func (ts Timestamp) Time() time.Time
- func (ts Timestamp) TruncateToMilliseconds() Timestamp
- type Type
- type TypeUnspecified
- type UnionGCPolicy
- type UpdateAuthorizedViewConf
- type UpdateFamilyOption
- type UpdateInstanceResults
- func UpdateInstanceAndSyncClusters(ctx context.Context, iac *InstanceAdminClient, conf *InstanceWithClustersConfig) (*UpdateInstanceResults, error)
- func (r *UpdateInstanceResults) String() string
- type UpdateTableConf
Constants ¶
const ( // NotKnown represents the state of an instance that could not be determined. NotKnown InstanceState = InstanceState(btapb.Instance_STATE_NOT_KNOWN) // Ready represents the state of an instance that has been successfully created. Ready = InstanceState(btapb.Instance_READY) // Creating represents the state of an instance that is currently being created. Creating = InstanceState(btapb.Instance_CREATING) )
const ( // UNSPECIFIED instance types default to PRODUCTION UNSPECIFIED InstanceType = InstanceType(btapb.Instance_TYPE_UNSPECIFIED) PRODUCTION = InstanceType(btapb.Instance_PRODUCTION) DEVELOPMENT = InstanceType(btapb.Instance_DEVELOPMENT) )
const ( // MultiClusterRouting is a policy that allows read/write requests to be // routed to any cluster in the instance. Requests will will fail over to // another cluster in the event of transient errors or delays. Choosing // this option sacrifices read-your-writes consistency to improve // availability. MultiClusterRouting = "multi_cluster_routing_use_any" // SingleClusterRouting is a policy that unconditionally routes all // read/write requests to a specific cluster. This option preserves // read-your-writes consistency, but does not improve availability. SingleClusterRouting = "single_cluster_routing" )
Routing policies.
const ( // Scope is the OAuth scope for Cloud Bigtable data operations. Scope = "https://www.googleapis.com/auth/bigtable.data" // ReadonlyScope is the OAuth scope for Cloud Bigtable read-only data // operations. ReadonlyScope = "https://www.googleapis.com/auth/bigtable.readonly" // AdminScope is the OAuth scope for Cloud Bigtable table admin operations. AdminScope = "https://www.googleapis.com/auth/bigtable.admin.table" // InstanceAdminScope is the OAuth scope for Cloud Bigtable instance (and // cluster) admin operations. InstanceAdminScope = "https://www.googleapis.com/auth/bigtable.admin.cluster" )
Scope constants for authentication credentials. These should be used when using credential creation functions such as oauth.NewServiceAccountFromFile.
DefaultSnapshotDuration is the default TTL for a snapshot.
Functions ¶
func Equal ¶
Equal compares Type objects.
func GCRuleToString ¶
GCRuleToString converts the given GcRule proto to a user-visible string.
func MarshalJSON ¶
MarshalJSON returns the string representation of the Type protobuf.
Types ¶
type AdminClient ¶
type AdminClient struct {
// contains filtered or unexported fields
}
AdminClient is a client type for performing admin operations within a specific instance.
func NewAdminClient ¶
func NewAdminClient(ctx context.Context, project, instance string, opts ...option.ClientOption) (*AdminClient, error)
NewAdminClient creates a new AdminClient for a given project and instance.
func (*AdminClient) AuthorizedViewIAM ¶
func (ac *AdminClient) AuthorizedViewIAM(table, authorizedView string) *iam.Handle
AuthorizedViewIAM creates an IAM Handle specific to a given Table and AuthorizedView.
func (*AdminClient) AuthorizedViewInfo ¶
func (ac *AdminClient) AuthorizedViewInfo(ctx context.Context, tableID, authorizedViewID string) (*AuthorizedViewInfo, error)
AuthorizedViewInfo retrieves information about an authorized view.
func (*AdminClient) AuthorizedViews ¶
AuthorizedViews returns a list of the authorized views in the table.
func (*AdminClient) BackupIAM ¶
func (ac *AdminClient) BackupIAM(cluster, backup string) *iam.Handle
BackupIAM creates an IAM Handle specific to a given Cluster and Backup.
func (*AdminClient) BackupInfo ¶
func (ac *AdminClient) BackupInfo(ctx context.Context, cluster, backup string) (*BackupInfo, error)
BackupInfo gets backup metadata.
func (*AdminClient) Backups ¶
func (ac *AdminClient) Backups(ctx context.Context, cluster string) *BackupIterator
Backups returns a BackupIterator for iterating over the backups in a cluster. To list backups across all of the clusters in the instance specify "-" as the cluster.
func (*AdminClient) Close ¶
func (ac *AdminClient) Close() error
Close closes the AdminClient.
func (*AdminClient) CopyBackup ¶
func (ac *AdminClient) CopyBackup(ctx context.Context, sourceCluster, sourceBackup, destProject, destInstance, destCluster, destBackup string, expireTime time.Time) error
CopyBackup copies the specified source backup with the user-provided expire time.
func (*AdminClient) CreateAuthorizedView ¶
func (ac *AdminClient) CreateAuthorizedView(ctx context.Context, conf *AuthorizedViewConf) error
CreateAuthorizedView creates a new authorized view in a table.
func (*AdminClient) CreateBackup ¶
func (ac *AdminClient) CreateBackup(ctx context.Context, table, cluster, backup string, expireTime time.Time) error
CreateBackup creates a new backup in the specified cluster from the specified source table with the user-provided expire time.
func (*AdminClient) CreateBackupWithOptions ¶
func (ac *AdminClient) CreateBackupWithOptions(ctx context.Context, table, cluster, backup string, opts ...BackupOption) error
CreateBackupWithOptions is similar to CreateBackup but lets the user specify additional options.
func (*AdminClient) CreateColumnFamily ¶
func (ac *AdminClient) CreateColumnFamily(ctx context.Context, table, family string) error
CreateColumnFamily creates a new column family in a table.
func (*AdminClient) CreateColumnFamilyWithConfig ¶
func (ac *AdminClient) CreateColumnFamilyWithConfig(ctx context.Context, table, family string, config Family) error
CreateColumnFamilyWithConfig creates a new column family in a table with an optional GC policy and value type.
func (*AdminClient) CreatePresplitTable ¶
func (ac *AdminClient) CreatePresplitTable(ctx context.Context, table string, splitKeys []string) error
CreatePresplitTable creates a new table in the instance. The list of row keys will be used to initially split the table into multiple tablets. Given two split keys, "s1" and "s2", three tablets will be created, spanning the key ranges: [, s1), [s1, s2), [s2, ). This method may return before the table's creation is complete.
func (*AdminClient) CreateTable ¶
func (ac *AdminClient) CreateTable(ctx context.Context, table string) error
CreateTable creates a new table in the instance. This method may return before the table's creation is complete.
func (*AdminClient) CreateTableFromConf ¶
func (ac *AdminClient) CreateTableFromConf(ctx context.Context, conf *TableConf) error
CreateTableFromConf creates a new table in the instance from the given configuration.
func (*AdminClient) CreateTableFromSnapshot ¶
func (ac *AdminClient) CreateTableFromSnapshot(ctx context.Context, table, cluster, snapshot string) error
CreateTableFromSnapshot creates a table from snapshot. The table will be created in the same cluster as the snapshot.
This is a private alpha release of Cloud Bigtable snapshots. This feature is not currently available to most Cloud Bigtable customers. This feature might be changed in backward-incompatible ways and is not recommended for production use. It is not subject to any SLA or deprecation policy.
func (*AdminClient) DeleteAuthorizedView ¶
func (ac *AdminClient) DeleteAuthorizedView(ctx context.Context, tableID, authorizedViewID string) error
DeleteAuthorizedView deletes an authorized view in a table.
func (*AdminClient) DeleteBackup ¶
func (ac *AdminClient) DeleteBackup(ctx context.Context, cluster, backup string) error
DeleteBackup deletes a backup in a cluster.
func (*AdminClient) DeleteColumnFamily ¶
func (ac *AdminClient) DeleteColumnFamily(ctx context.Context, table, family string) error
DeleteColumnFamily deletes a column family in a table and all of its data.
func (*AdminClient) DeleteSnapshot ¶
func (ac *AdminClient) DeleteSnapshot(ctx context.Context, cluster, snapshot string) error
DeleteSnapshot deletes a snapshot in a cluster.
This is a private alpha release of Cloud Bigtable snapshots. This feature is not currently available to most Cloud Bigtable customers. This feature might be changed in backward-incompatible ways and is not recommended for production use. It is not subject to any SLA or deprecation policy.
func (*AdminClient) DeleteTable ¶
func (ac *AdminClient) DeleteTable(ctx context.Context, table string) error
DeleteTable deletes a table and all of its data.
func (*AdminClient) DropAllRows ¶
func (ac *AdminClient) DropAllRows(ctx context.Context, table string) error
DropAllRows permanently deletes all rows from the specified table.
func (*AdminClient) DropRowRange ¶
func (ac *AdminClient) DropRowRange(ctx context.Context, table, rowKeyPrefix string) error
DropRowRange permanently deletes a row range from the specified table.
func (*AdminClient) EncryptionInfo ¶
func (ac *AdminClient) EncryptionInfo(ctx context.Context, table string) (EncryptionInfoByCluster, error)
EncryptionInfo gets the current encryption info for the table across all of the clusters. The returned map will be keyed by cluster id and contain a status for all of the keys in use.
func (*AdminClient) RestoreTable ¶
func (ac *AdminClient) RestoreTable(ctx context.Context, table, cluster, backup string) error
RestoreTable creates a table from a backup. The table will be created in the same cluster as the backup. To restore a table to a different instance, see RestoreTableFrom.
func (*AdminClient) RestoreTableFrom ¶
func (ac *AdminClient) RestoreTableFrom(ctx context.Context, sourceInstance, table, sourceCluster, backup string) error
RestoreTableFrom creates a new table in the admin's instance by restoring from the given backup and instance. To restore within the same instance, see RestoreTable. sourceInstance (ex. "my-instance") and sourceCluster (ex. "my-cluster") are the instance and cluster in which the new table will be restored from. tableName (ex. "my-restored-table") will be the name of the newly created table. backupName (ex. "my-backup") is the name of the backup to restore.
func (*AdminClient) SetGCPolicy ¶
func (ac *AdminClient) SetGCPolicy(ctx context.Context, table, family string, policy GCPolicy) error
SetGCPolicy specifies which cells in a column family should be garbage collected. GC executes opportunistically in the background; table reads may return data matching the GC policy.
func (*AdminClient) SetGCPolicyWithOptions ¶
func (ac *AdminClient) SetGCPolicyWithOptions(ctx context.Context, table, family string, policy GCPolicy, opts ...GCPolicyOption) error
SetGCPolicyWithOptions is similar to SetGCPolicy but allows passing options
func (*AdminClient) SnapshotInfo ¶
func (ac *AdminClient) SnapshotInfo(ctx context.Context, cluster, snapshot string) (*SnapshotInfo, error)
SnapshotInfo gets snapshot metadata.
This is a private alpha release of Cloud Bigtable snapshots. This feature is not currently available to most Cloud Bigtable customers. This feature might be changed in backward-incompatible ways and is not recommended for production use. It is not subject to any SLA or deprecation policy.
func (*AdminClient) SnapshotTable ¶
func (ac *AdminClient) SnapshotTable(ctx context.Context, table, cluster, snapshot string, ttl time.Duration) error
SnapshotTable creates a new snapshot in the specified cluster from the specified source table. Setting the TTL to `DefaultSnapshotDuration` will use the server side default for the duration.
This is a private alpha release of Cloud Bigtable snapshots. This feature is not currently available to most Cloud Bigtable customers. This feature might be changed in backward-incompatible ways and is not recommended for production use. It is not subject to any SLA or deprecation policy.
func (*AdminClient) Snapshots ¶
func (ac *AdminClient) Snapshots(ctx context.Context, cluster string) *SnapshotIterator
Snapshots returns a SnapshotIterator for iterating over the snapshots in a cluster. To list snapshots across all of the clusters in the instance specify "-" as the cluster.
This is a private alpha release of Cloud Bigtable snapshots. This feature is not currently available to most Cloud Bigtable customers. This feature might be changed in backward-incompatible ways and is not recommended for production use. It is not subject to any SLA or deprecation policy.
func (*AdminClient) TableIAM ¶
func (ac *AdminClient) TableIAM(tableID string) *iam.Handle
TableIAM creates an IAM Handle specific to a given Instance and Table within the configured project.
func (*AdminClient) TableInfo ¶
TableInfo retrieves information about a table.
func (*AdminClient) Tables ¶
func (ac *AdminClient) Tables(ctx context.Context) ([]string, error)
Tables returns a list of the tables in the instance.
func (*AdminClient) UpdateAuthorizedView ¶
func (ac *AdminClient) UpdateAuthorizedView(ctx context.Context, conf UpdateAuthorizedViewConf) error
UpdateAuthorizedView updates an authorized view in a table according to the given configuration.
func (*AdminClient) UpdateBackup ¶
func (ac *AdminClient) UpdateBackup(ctx context.Context, cluster, backup string, expireTime time.Time) error
UpdateBackup updates the backup metadata in a cluster. The API only supports updating expire time.
func (*AdminClient) UpdateBackupHotToStandardTime ¶
func (ac *AdminClient) UpdateBackupHotToStandardTime(ctx context.Context, cluster, backup string, hotToStandardTime time.Time) error
UpdateBackupHotToStandardTime updates the HotToStandardTime of a hot backup.
func (*AdminClient) UpdateBackupRemoveHotToStandardTime ¶
func (ac *AdminClient) UpdateBackupRemoveHotToStandardTime(ctx context.Context, cluster, backup string) error
UpdateBackupRemoveHotToStandardTime removes the HotToStandardTime of a hot backup.
func (*AdminClient) UpdateFamily ¶
func (ac *AdminClient) UpdateFamily(ctx context.Context, table, familyName string, family Family, opts ...UpdateFamilyOption) error
UpdateFamily updates column families' garbage colleciton policies and value type.
func (*AdminClient) UpdateTableDisableAutomatedBackupPolicy ¶
func (ac *AdminClient) UpdateTableDisableAutomatedBackupPolicy(ctx context.Context, tableID string) error
UpdateTableDisableAutomatedBackupPolicy updates a table to disable automated backups for table ID.
func (*AdminClient) UpdateTableDisableChangeStream ¶
func (ac *AdminClient) UpdateTableDisableChangeStream(ctx context.Context, tableID string) error
UpdateTableDisableChangeStream updates a table to disable change stream for table ID.
func (*AdminClient) UpdateTableWithAutomatedBackupPolicy ¶
func (ac *AdminClient) UpdateTableWithAutomatedBackupPolicy(ctx context.Context, tableID string, automatedBackupPolicy TableAutomatedBackupPolicy) error
UpdateTableWithAutomatedBackupPolicy updates a table to with the given table ID and automated backup policy config.
func (*AdminClient) UpdateTableWithChangeStream ¶
func (ac *AdminClient) UpdateTableWithChangeStream(ctx context.Context, tableID string, changeStreamRetention ChangeStreamRetention) error
UpdateTableWithChangeStream updates a table to with the given table ID and change stream config.
func (*AdminClient) UpdateTableWithDeletionProtection ¶
func (ac *AdminClient) UpdateTableWithDeletionProtection(ctx context.Context, tableID string, deletionProtection DeletionProtection) error
UpdateTableWithDeletionProtection updates a table with the given table ID and deletion protection parameter.
func (*AdminClient) WaitForReplication ¶
func (ac *AdminClient) WaitForReplication(ctx context.Context, table string) error
WaitForReplication waits until all the writes committed before the call started have been propagated to all the clusters in the instance via replication.
type AggregateType ¶
type AggregateType struct { Input Type Aggregator Aggregator }
AggregateType represents an aggregate. See types.proto for more details on aggregate types.
type Aggregator ¶
type Aggregator interface {
// contains filtered or unexported methods
}
Aggregator represents an aggregation function for an aggregate type.
type ApplyOption ¶
type ApplyOption interface {
// contains filtered or unexported methods
}
An ApplyOption is an optional argument to Apply.
func GetCondMutationResult ¶
func GetCondMutationResult(matched *bool) ApplyOption
GetCondMutationResult returns an ApplyOption that reports whether the conditional mutation's condition matched.
type AuthorizedViewConf ¶
type AuthorizedViewConf struct { TableID string AuthorizedViewID string // Types that are valid to be assigned to AuthorizedView: // *SubsetViewConf AuthorizedView isAuthorizedView DeletionProtection DeletionProtection }
AuthorizedViewConf contains information about an authorized view.
type AuthorizedViewInfo ¶
type AuthorizedViewInfo struct { TableID string AuthorizedViewID string AuthorizedView isAuthorizedViewInfo DeletionProtection DeletionProtection }
AuthorizedViewInfo contains authorized view metadata. This struct is read-only.
type AutoscalingConfig ¶
type AutoscalingConfig struct { // MinNodes sets the minumum number of nodes in a cluster. MinNodes must // be 1 or greater. MinNodes int // MaxNodes sets the maximum number of nodes in a cluster. MaxNodes must be // equal to or greater than MinNodes. MaxNodes int // CPUTargetPercent sets the CPU utilization target for your cluster's // workload. CPUTargetPercent int // StorageUtilizationPerNode sets the storage usage target, in GB, for // each node in a cluster. This number is limited between 2560 (2.5TiB) and // 5120 (5TiB) for a SSD cluster and between 8192 (8TiB) and 16384 (16 TiB) // for an HDD cluster. If set to zero, the default values are used: // 2560 for SSD and 8192 for HDD. StorageUtilizationPerNode int }
AutoscalingConfig contains autoscaling configuration for a cluster. For details, see https://cloud.google.com/bigtable/docs/autoscaling.
type BackupInfo ¶
type BackupInfo struct { Name string SourceTable string SourceBackup string SizeBytes int64 StartTime time.Time EndTime time.Time ExpireTime time.Time State string EncryptionInfo *EncryptionInfo BackupType BackupType // The time at which the hot backup will be converted to a standard backup. // Once the `hot_to_standard_time` has passed, Cloud Bigtable will convert the // hot backup to a standard backup. This value must be greater than the backup // creation time by at least 24 hours // // This field only applies for hot backups. HotToStandardTime *time.Time }
BackupInfo contains backup metadata. This struct is read-only.
type BackupIterator ¶
type BackupIterator struct {
// contains filtered or unexported fields
}
BackupIterator is an EntryIterator that iterates over log entries.
func (*BackupIterator) Next ¶
func (it *BackupIterator) Next() (*BackupInfo, error)
Next returns the next result. Its second return value is iterator.Done (https://godoc.org/google.golang.org/api/iterator) if there are no more results. Once Next returns Done, all subsequent calls will return Done.
func (*BackupIterator) PageInfo ¶
func (it *BackupIterator) PageInfo() *iterator.PageInfo
PageInfo supports pagination. See https://godoc.org/google.golang.org/api/iterator package for details.
type BackupOption ¶
type BackupOption func(*backupOptions)
BackupOption can be used to specify parameters for backup operations.
func WithExpiry ¶
func WithExpiry(expireTime time.Time) BackupOption
WithExpiry option can be used to create backup that expires after time 'expireTime'. Once the 'expireTime' has passed, Cloud Bigtable will delete the backup.
func WithHotBackup ¶
func WithHotBackup() BackupOption
WithHotBackup option can be used to create backup with type BackupTypeHot
func WithHotToStandardBackup ¶
func WithHotToStandardBackup(hotToStandardTime time.Time) BackupOption
WithHotToStandardBackup option can be used to create backup with type BackupTypeHot and specify time at which the hot backup will be converted to a standard backup. Once the 'hotToStandardTime' has passed, Cloud Bigtable will convert the hot backup to a standard backup. This value must be greater than the backup creation time by at least 24 hours
type BackupType ¶
type BackupType int32
BackupType denotes the type of the backup.
const ( // BackupTypeUnspecified denotes that backup type has not been specified. BackupTypeUnspecified BackupType = 0 // BackupTypeStandard is the default type for Cloud Bigtable managed backups. Supported for // backups created in both HDD and SSD instances. Requires optimization when // restored to a table in an SSD instance. BackupTypeStandard BackupType = 1 // BackupTypeHot is a backup type with faster restore to SSD performance. Only supported for // backups created in SSD instances. A new SSD table restored from a hot // backup reaches production performance more quickly than a standard // backup. BackupTypeHot BackupType = 2 )
type BigEndianBytesEncoding ¶
type BigEndianBytesEncoding struct { }
BigEndianBytesEncoding represents an Int64 encoding where the value is encoded as an 8-byte big-endian value.
type BytesEncoding ¶
type BytesEncoding interface {
// contains filtered or unexported methods
}
BytesEncoding represents the encoding of a Bytes type.
type BytesType ¶
type BytesType struct { Encoding BytesEncoding }
BytesType represents a string of bytes.
type ChangeStreamRetention ¶
ChangeStreamRetention indicates how long bigtable should retain change data. Minimum is 1 day. Maximum is 7. nil to not change the retention period. 0 to disable change stream retention.
type Client ¶
type Client struct {
// contains filtered or unexported fields
}
Client is a client for reading and writing data to tables in an instance.
A Client is safe to use concurrently, except for its Close method.
func NewClient ¶
func NewClient(ctx context.Context, project, instance string, opts ...option.ClientOption) (*Client, error)
NewClient creates a new Client for a given project and instance. The default ClientConfig will be used.
func NewClientWithConfig ¶
func NewClientWithConfig(ctx context.Context, project, instance string, config ClientConfig, opts ...option.ClientOption) (*Client, error)
NewClientWithConfig creates a new client with the given config.
func (*Client) Close ¶
Close closes the Client.
func (*Client) Open ¶
Open opens a table.
func (*Client) OpenAuthorizedView ¶
OpenAuthorizedView opens an authorized view.
func (*Client) OpenTable ¶
OpenTable opens a table.
type ClientConfig ¶
type ClientConfig struct { // The id of the app profile to associate with all data operations sent from this client. // If unspecified, the default app profile for the instance will be used. AppProfile string // If not set or set to nil, client side metrics will be collected and exported // // To disable client side metrics, set 'MetricsProvider' to 'NoopMetricsProvider' // // TODO: support user provided meter provider MetricsProvider MetricsProvider }
ClientConfig has configurations for the client.
type ClusterConfig ¶
type ClusterConfig struct { // InstanceID specifies the unique name of the instance. Required. InstanceID string // ClusterID specifies the unique name of the cluster. Required. ClusterID string // Zone specifies the location where this cluster's nodes and storage reside. // For best performance, clients should be located as close as possible to this // cluster. Required. Zone string // NumNodes specifies the number of nodes allocated to this cluster. More // nodes enable higher throughput and more consistent performance. One of // NumNodes or AutoscalingConfig is required. If both are set, // AutoscalingConfig takes precedence. NumNodes int32 // StorageType specifies the type of storage used by this cluster to serve // its parent instance's tables, unless explicitly overridden. Required. StorageType StorageType // KMSKeyName is the name of the KMS customer managed encryption key (CMEK) // to use for at-rest encryption of data in this cluster. If omitted, // Google's default encryption will be used. If specified, the requirements // for this key are: // 1) The Cloud Bigtable service account associated with the // project that contains the cluster must be granted the // ``cloudkms.cryptoKeyEncrypterDecrypter`` role on the // CMEK. // 2) Only regional keys can be used and the region of the // CMEK key must match the region of the cluster. // 3) All clusters within an instance must use the same CMEK // key. // Optional. Immutable. KMSKeyName string // AutoscalingConfig configures the autoscaling properties on a cluster. // One of NumNodes or AutoscalingConfig is required. AutoscalingConfig *AutoscalingConfig }
ClusterConfig contains the information necessary to create a cluster
type ClusterInfo ¶
type ClusterInfo struct { // Name is the name of the cluster. Name string // Zone is the GCP zone of the cluster (e.g. "us-central1-a"). Zone string // ServeNodes is the number of allocated serve nodes. ServeNodes int // State is the state of the cluster. State string // StorageType is the storage type of the cluster. StorageType StorageType // KMSKeyName is the customer managed encryption key for the cluster. KMSKeyName string // AutoscalingConfig are the configured values for a cluster. AutoscalingConfig *AutoscalingConfig }
ClusterInfo represents information about a cluster.
type DeletionProtection ¶
type DeletionProtection int
DeletionProtection indicates whether the table is protected against data loss i.e. when set to protected, deleting the table, the column families in the table, and the instance containing the table would be prohibited.
const ( None DeletionProtection = iota Protected Unprotected )
None indicates that deletion protection is unset Protected indicates that deletion protection is enabled Unprotected indicates that deletion protection is disabled
type EncryptionInfo ¶
type EncryptionInfo struct { Status *Status Type EncryptionType KMSKeyVersion string }
EncryptionInfo represents the encryption info of a table.
type EncryptionInfoByCluster ¶
type EncryptionInfoByCluster map[string][]*EncryptionInfo
EncryptionInfoByCluster is a map of cluster name to EncryptionInfo
type EncryptionType ¶
type EncryptionType int32
EncryptionType is the type of encryption for an instance.
const ( // EncryptionTypeUnspecified is the type was not specified, though data at rest remains encrypted. EncryptionTypeUnspecified EncryptionType = iota // GoogleDefaultEncryption represents that data backing this resource is // encrypted at rest with a key that is fully managed by Google. No key // version or status will be populated. This is the default state. GoogleDefaultEncryption // CustomerManagedEncryption represents that data backing this resource is // encrypted at rest with a key that is managed by the customer. // The in-use version of the key and its status are populated for // CMEK-protected tables. // CMEK-protected backups are pinned to the key version that was in use at // the time the backup was taken. This key version is populated but its // status is not tracked and is reported as `UNKNOWN`. CustomerManagedEncryption )
type ErrPartiallyUnavailable ¶
type ErrPartiallyUnavailable struct { string // unavailable locations }[]
ErrPartiallyUnavailable is returned when some locations (clusters) are unavailable. Both partial results (retrieved from available locations) and the error are returned when this exception occurred.
func (ErrPartiallyUnavailable) Error ¶
func (e ErrPartiallyUnavailable) Error() string
type Family ¶
Family represents a column family with its optional GC policy and value type.
type FamilyInfo ¶
FamilyInfo represents information about a column family.
type FamilySubset ¶
FamilySubset represents a subset of a column family.
type Filter ¶
type Filter interface { String() string // contains filtered or unexported methods }
A Filter represents a row filter.
func BlockAllFilter ¶
func BlockAllFilter() Filter
BlockAllFilter returns a filter that matches nothing.
func CellsPerRowLimitFilter ¶
CellsPerRowLimitFilter returns a filter that matches only the first N cells of each row.
func CellsPerRowOffsetFilter ¶
CellsPerRowOffsetFilter returns a filter that skips the first N cells of each row, matching all subsequent cells.
func ChainFilters ¶
ChainFilters returns a filter that applies a sequence of filters.
func ColumnFilter ¶
ColumnFilter returns a filter that matches cells whose column name matches the provided RE2 pattern. See https://github.com/google/re2/wiki/Syntax for the accepted syntax.
func ColumnRangeFilter ¶
ColumnRangeFilter returns a filter that matches a contiguous range of columns within a single family, as specified by an inclusive start qualifier and exclusive end qualifier.
func ConditionFilter ¶
ConditionFilter returns a filter that evaluates to one of two possible filters depending on whether or not the given predicate filter matches at least one cell. If the matched filter is nil then no results will be returned. IMPORTANT NOTE: The predicate filter does not execute atomically with the true and false filters, which may lead to inconsistent or unexpected results. Additionally, condition filters have poor performance, especially when filters are set for the false condition.
func FamilyFilter ¶
FamilyFilter returns a filter that matches cells whose family name matches the provided RE2 pattern. See https://github.com/google/re2/wiki/Syntax for the accepted syntax.
func InterleaveFilters ¶
InterleaveFilters returns a filter that applies a set of filters in parallel and interleaves the results.
func LabelFilter ¶
LabelFilter returns a filter that applies the given label to all cells in the output row.
func LatestNFilter ¶
LatestNFilter returns a filter that matches the most recent N cells in each column.
func PassAllFilter ¶
func PassAllFilter() Filter
PassAllFilter returns a filter that matches everything.
func RowKeyFilter ¶
RowKeyFilter returns a filter that matches cells from rows whose key matches the provided RE2 pattern. See https://github.com/google/re2/wiki/Syntax for the accepted syntax.
func RowSampleFilter ¶
RowSampleFilter returns a filter that matches a row with a probability of p (must be in the interval (0, 1)).
func StripValueFilter ¶
func StripValueFilter() Filter
StripValueFilter returns a filter that replaces each value with the empty string.
func TimestampRangeFilter ¶
TimestampRangeFilter returns a filter that matches any cells whose timestamp is within the given time bounds. A zero time means no bound. The timestamp will be truncated to millisecond granularity.
func TimestampRangeFilterMicros ¶
TimestampRangeFilterMicros returns a filter that matches any cells whose timestamp is within the given time bounds, specified in units of microseconds since 1 January 1970. A zero value for the end time is interpreted as no bound. The timestamp will be truncated to millisecond granularity.
func ValueFilter ¶
ValueFilter returns a filter that matches cells whose value matches the provided RE2 pattern. See https://github.com/google/re2/wiki/Syntax for the accepted syntax.
func ValueRangeFilter ¶
ValueRangeFilter returns a filter that matches cells with values that fall within the given range, as specified by an inclusive start value and exclusive end value.
type FullReadStats ¶
type FullReadStats struct { // Iteration stats describe how efficient the read is, e.g. comparing rows seen vs. rows // returned or cells seen vs cells returned can provide an indication of read efficiency // (the higher the ratio of seen to retuned the better). ReadIterationStats ReadIterationStats // Request latency stats describe the time taken to complete a request, from the server // side. RequestLatencyStats RequestLatencyStats }
FullReadStats captures all known information about a read.
type FullReadStatsFunc ¶
type FullReadStatsFunc func(*FullReadStats)
FullReadStatsFunc describes a callback that receives a FullReadStats for evaluation.
type GCPolicy ¶
type GCPolicy interface { String() string // contains filtered or unexported methods }
A GCPolicy represents a rule that determines which cells are eligible for garbage collection.
func IntersectionPolicy ¶
IntersectionPolicy returns a GC policy that only applies when all its sub-policies apply.
func MaxAgePolicy ¶
MaxAgePolicy returns a GC policy that applies to all cells older than the given age.
func MaxVersionsPolicy ¶
MaxVersionsPolicy returns a GC policy that applies to all versions of a cell except for the most recent n.
func NoGcPolicy ¶
func NoGcPolicy() GCPolicy
NoGcPolicy applies to all cells setting maxage and maxversions to nil implies no gc policies
func UnionPolicy ¶
UnionPolicy returns a GC policy that applies when any of its sub-policies apply.
type GCPolicyOption ¶
type GCPolicyOption interface {
// contains filtered or unexported methods
}
GCPolicyOption is deprecated, kept for backwards compatibility, use UpdateFamilyOption in new code
func IgnoreWarnings ¶
func IgnoreWarnings() GCPolicyOption
IgnoreWarnings returns a updateFamilyOption that ignores safety checks when modifying the column families
type HllppUniqueCountAggregator ¶
type HllppUniqueCountAggregator struct{}
HllppUniqueCountAggregator is an aggregation function that calculates the unique count of inputs and the accumulator.
type InstanceAdminClient ¶
type InstanceAdminClient struct {
// contains filtered or unexported fields
}
InstanceAdminClient is a client type for performing admin operations on instances. These operations can be substantially more dangerous than those provided by AdminClient.
func NewInstanceAdminClient ¶
func NewInstanceAdminClient(ctx context.Context, project string, opts ...option.ClientOption) (*InstanceAdminClient, error)
NewInstanceAdminClient creates a new InstanceAdminClient for a given project.
func (*InstanceAdminClient) Close ¶
func (iac *InstanceAdminClient) Close() error
Close closes the InstanceAdminClient.
func (*InstanceAdminClient) Clusters ¶
func (iac *InstanceAdminClient) Clusters(ctx context.Context, instanceID string) ([]*ClusterInfo, error)
Clusters lists the clusters in an instance. If any location (cluster) is unavailable due to some transient conditions, Clusters returns partial results and ErrPartiallyUnavailable error with unavailable locations list.
func (*InstanceAdminClient) CreateAppProfile ¶
func (iac *InstanceAdminClient) CreateAppProfile(ctx context.Context, profile ProfileConf) (*btapb.AppProfile, error)
CreateAppProfile creates an app profile within an instance.
func (*InstanceAdminClient) CreateCluster ¶
func (iac *InstanceAdminClient) CreateCluster(ctx context.Context, conf *ClusterConfig) error
CreateCluster creates a new cluster in an instance. This method will return when the cluster has been created or when an error occurs.
func (*InstanceAdminClient) CreateInstance ¶
func (iac *InstanceAdminClient) CreateInstance(ctx context.Context, conf *InstanceConf) error
CreateInstance creates a new instance in the project. This method will return when the instance has been created or when an error occurs.
func (*InstanceAdminClient) CreateInstanceWithClusters ¶
func (iac *InstanceAdminClient) CreateInstanceWithClusters(ctx context.Context, conf *InstanceWithClustersConfig) error
CreateInstanceWithClusters creates a new instance with configured clusters in the project. This method will return when the instance has been created or when an error occurs.
func (*InstanceAdminClient) DeleteAppProfile ¶
func (iac *InstanceAdminClient) DeleteAppProfile(ctx context.Context, instanceID, name string) error
DeleteAppProfile deletes an app profile from an instance.
func (*InstanceAdminClient) DeleteCluster ¶
func (iac *InstanceAdminClient) DeleteCluster(ctx context.Context, instanceID, clusterID string) error
DeleteCluster deletes a cluster from an instance.
func (*InstanceAdminClient) DeleteInstance ¶
func (iac *InstanceAdminClient) DeleteInstance(ctx context.Context, instanceID string) error
DeleteInstance deletes an instance from the project.
func (*InstanceAdminClient) GetAppProfile ¶
func (iac *InstanceAdminClient) GetAppProfile(ctx context.Context, instanceID, name string) (*btapb.AppProfile, error)
GetAppProfile gets information about an app profile.
func (*InstanceAdminClient) GetCluster ¶
func (iac *InstanceAdminClient) GetCluster(ctx context.Context, instanceID, clusterID string) (*ClusterInfo, error)
GetCluster fetches a cluster in an instance
func (*InstanceAdminClient) InstanceIAM ¶
func (iac *InstanceAdminClient) InstanceIAM(instanceID string) *iam.Handle
InstanceIAM returns the instance's IAM handle.
func (*InstanceAdminClient) InstanceInfo ¶
func (iac *InstanceAdminClient) InstanceInfo(ctx context.Context, instanceID string) (*InstanceInfo, error)
InstanceInfo returns information about an instance.
func (*InstanceAdminClient) Instances ¶
func (iac *InstanceAdminClient) Instances(ctx context.Context) ([]*InstanceInfo, error)
Instances returns a list of instances in the project. If any location (cluster) is unavailable due to some transient conditions, Instances returns partial results and ErrPartiallyUnavailable error with unavailable locations list.
func (*InstanceAdminClient) ListAppProfiles ¶
func (iac *InstanceAdminClient) ListAppProfiles(ctx context.Context, instanceID string) *ProfileIterator
ListAppProfiles lists information about app profiles in an instance.
func (*InstanceAdminClient) SetAutoscaling ¶
func (iac *InstanceAdminClient) SetAutoscaling(ctx context.Context, instanceID, clusterID string, conf AutoscalingConfig) error
SetAutoscaling enables autoscaling on a cluster. To remove autoscaling, use UpdateCluster. See AutoscalingConfig documentation for deatils.
func (*InstanceAdminClient) UpdateAppProfile ¶
func (iac *InstanceAdminClient) UpdateAppProfile(ctx context.Context, instanceID, profileID string, updateAttrs ProfileAttrsToUpdate) error
UpdateAppProfile updates an app profile within an instance. updateAttrs should be set. If unset, all fields will be replaced.
func (*InstanceAdminClient) UpdateCluster ¶
func (iac *InstanceAdminClient) UpdateCluster(ctx context.Context, instanceID, clusterID string, serveNodes int32) error
UpdateCluster updates attributes of a cluster. If Autoscaling is configured for the cluster, it will be removed and replaced by the static number of serve nodes specified.
func (*InstanceAdminClient) UpdateInstanceWithClusters ¶
func (iac *InstanceAdminClient) UpdateInstanceWithClusters(ctx context.Context, conf *InstanceWithClustersConfig) error
UpdateInstanceWithClusters updates an instance and its clusters. Updateable fields are instance display name, instance type and cluster size. The provided InstanceWithClustersConfig is used as follows:
- InstanceID is required
- DisplayName and InstanceType are updated only if they are not empty
- ClusterID is required for any provided cluster
- All other cluster fields are ignored except for NumNodes and AutoscalingConfig, which if set will be updated. If both are provided, AutoscalingConfig takes precedence.
This method may return an error after partially succeeding, for example if the instance is updated but a cluster update fails. If an error is returned, InstanceInfo and Clusters may be called to determine the current state.
type InstanceConf ¶
type InstanceConf struct { InstanceId, DisplayName, ClusterId, Zone string // NumNodes must not be specified for DEVELOPMENT instance types NumNodes int32 StorageType StorageType InstanceType InstanceType Labels map[string]string // AutoscalingConfig configures the autoscaling properties on the cluster // created with the instance. It is optional. AutoscalingConfig *AutoscalingConfig }
InstanceConf contains the information necessary to create an Instance
type InstanceInfo ¶
type InstanceInfo struct { Name string // name of the instance DisplayName string // display name for UIs InstanceState InstanceState InstanceType InstanceType Labels map[string]string }
InstanceInfo represents information about an instance
type InstanceState ¶
type InstanceState int32
InstanceState is the state of the instance. This is output-only.
type InstanceType ¶
type InstanceType int32
InstanceType is the type of the instance.
type InstanceWithClustersConfig ¶
type InstanceWithClustersConfig struct { InstanceID, DisplayName string Clusters []ClusterConfig InstanceType InstanceType Labels map[string]string }
InstanceWithClustersConfig contains the information necessary to create an Instance
type Int64Encoding ¶
type Int64Encoding interface {
// contains filtered or unexported methods
}
Int64Encoding represents the encoding of an Int64 type.
type Int64Type ¶
type Int64Type struct { Encoding Int64Encoding }
Int64Type represents an 8-byte integer.
type IntersectionGCPolicy ¶
type IntersectionGCPolicy struct { // List of children policy in the intersection Children []GCPolicy }
IntersectionGCPolicy with list of children
func (IntersectionGCPolicy) String ¶
func (ip IntersectionGCPolicy) String() string
type MaxAgeGCPolicy ¶
MaxAgeGCPolicy type alias
func (MaxAgeGCPolicy) GetDurationString ¶
func (ma MaxAgeGCPolicy) GetDurationString() string
GetDurationString returns the duration string of the MaxAgeGCPolicy
func (MaxAgeGCPolicy) String ¶
func (ma MaxAgeGCPolicy) String() string
type MaxAggregator ¶
type MaxAggregator struct{}
MaxAggregator is an aggregation function that finds the maximum between the input and the accumulator.
type MaxVersionsGCPolicy ¶
type MaxVersionsGCPolicy int
MaxVersionsGCPolicy type alias
func (MaxVersionsGCPolicy) String ¶
func (mvp MaxVersionsGCPolicy) String() string
type MetricsProvider ¶
type MetricsProvider interface {
// contains filtered or unexported methods
}
MetricsProvider is a wrapper for built in metrics meter provider
type MinAggregator ¶
type MinAggregator struct{}
MinAggregator is an aggregation function that finds the minimum between the input and the accumulator.
type Mutation ¶
type Mutation struct {
// contains filtered or unexported fields
}
Mutation represents a set of changes for a single row of a table.
func NewCondMutation ¶
NewCondMutation returns a conditional mutation. The given row filter determines which mutation is applied: If the filter matches any cell in the row, mtrue is applied; otherwise, mfalse is applied. Either given mutation may be nil.
The application of a ReadModifyWrite is atomic; concurrent ReadModifyWrites will be executed serially by the server.
func NewMutation ¶
func NewMutation() *Mutation
NewMutation returns a new mutation.
func (*Mutation) AddIntToCell ¶
AddIntToCell adds an int64 value to a cell in an aggregate column family. The column family must have an input type of Int64 or this mutation will fail.
func (*Mutation) DeleteCellsInColumn ¶
DeleteCellsInColumn will delete all the cells whose columns are family:column.
func (*Mutation) DeleteCellsInFamily ¶
DeleteCellsInFamily will delete all the cells whose columns are family:*.
func (*Mutation) DeleteRow ¶
func (m *Mutation) DeleteRow()
DeleteRow deletes the entire row.
func (*Mutation) DeleteTimestampRange ¶
DeleteTimestampRange deletes all cells whose columns are family:column and whose timestamps are in the half-open interval [start, end). If end is zero, it will be interpreted as infinity. The timestamps will be truncated to millisecond granularity.
func (*Mutation) MergeBytesToCell ¶
MergeBytesToCell merges a bytes accumulator value to a cell in an aggregate column family.
func (*Mutation) Set ¶
Set sets a value in a specified column, with the given timestamp. The timestamp will be truncated to millisecond granularity. A timestamp of ServerTime means to use the server timestamp.
type NoopMetricsProvider ¶
type NoopMetricsProvider struct{}
NoopMetricsProvider can be used to disable built in metrics
type PolicyType ¶
type PolicyType int
PolicyType represents the type of GCPolicy
const ( // PolicyUnspecified represents type of NoGCPolicy PolicyUnspecified PolicyType = iota // PolicyMaxAge represents type of MaxAgeGCPolicy PolicyMaxAge // PolicyMaxVersion represents type of MaxVersionGCPolicy PolicyMaxVersion // PolicyUnion represents type of UnionGCPolicy PolicyUnion // PolicyIntersection represents type of IntersectionGCPolicy PolicyIntersection )
func GetPolicyType ¶
func GetPolicyType(gc GCPolicy) PolicyType
GetPolicyType takes a gc policy and return appropriate PolicyType
type ProfileAttrsToUpdate ¶
type ProfileAttrsToUpdate struct { // If set, updates the description. Description optional.String //If set, updates the routing policy. RoutingPolicy optional.String //If RoutingPolicy is updated to SingleClusterRouting, set these fields as well. ClusterID string AllowTransactionalWrites bool // If true, warnings are ignored IgnoreWarnings bool }
ProfileAttrsToUpdate define addrs to update during an Update call. If unset, no fields will be replaced.
func (*ProfileAttrsToUpdate) GetFieldMaskPath ¶
func (p *ProfileAttrsToUpdate) GetFieldMaskPath() []string
GetFieldMaskPath returns the field mask path.
type ProfileConf ¶
type ProfileConf struct { Name string ProfileID string InstanceID string Etag string Description string RoutingPolicy string ClusterID string AllowTransactionalWrites bool // If true, warnings are ignored IgnoreWarnings bool }
ProfileConf contains the information necessary to create an profile
type ProfileIterator ¶
type ProfileIterator struct {
// contains filtered or unexported fields
}
ProfileIterator iterates over profiles.
func (*ProfileIterator) Next ¶
func (it *ProfileIterator) Next() (*btapb.AppProfile, error)
Next returns the next result. Its second return value is iterator.Done (https://godoc.org/google.golang.org/api/iterator) if there are no more results. Once Next returns Done, all subsequent calls will return Done.
func (*ProfileIterator) PageInfo ¶
func (it *ProfileIterator) PageInfo() *iterator.PageInfo
PageInfo supports pagination. See https://godoc.org/google.golang.org/api/iterator package for details.
type RawBytesEncoding ¶
type RawBytesEncoding struct { }
RawBytesEncoding represents a Bytes encoding with no additional encodings.
type ReadItem ¶
A ReadItem is returned by Read. A ReadItem contains data from a specific row and column.
type ReadIterationStats ¶
type ReadIterationStats struct { // The cells returned as part of the request. CellsReturnedCount int64 // The cells seen (scanned) as part of the request. This includes the count of cells returned, as // captured below. CellsSeenCount int64 // The rows returned as part of the request. RowsReturnedCount int64 // The rows seen (scanned) as part of the request. This includes the count of rows returned, as // captured below. RowsSeenCount int64 }
ReadIterationStats captures information about the iteration of rows or cells over the course of a read, e.g. how many results were scanned in a read operation versus the results returned.
type ReadModifyWrite ¶
type ReadModifyWrite struct {
// contains filtered or unexported fields
}
ReadModifyWrite represents a set of operations on a single row of a table. It is like Mutation but for non-idempotent changes. When applied, these operations operate on the latest values of the row's cells, and result in a new value being written to the relevant cell with a timestamp that is max(existing timestamp, current server time).
The application of a ReadModifyWrite is atomic; concurrent ReadModifyWrites will be executed serially by the server.
func NewReadModifyWrite ¶
func NewReadModifyWrite() *ReadModifyWrite
NewReadModifyWrite returns a new ReadModifyWrite.
func (*ReadModifyWrite) AppendValue ¶
func (m *ReadModifyWrite) AppendValue(family, column string, v []byte)
AppendValue appends a value to a specific cell's value. If the cell is unset, it will be treated as an empty value.
func (*ReadModifyWrite) Increment ¶
func (m *ReadModifyWrite) Increment(family, column string, delta int64)
Increment interprets the value in a specific cell as a 64-bit big-endian signed integer, and adds a value to it. If the cell is unset, it will be treated as zero. If the cell is set and is not an 8-byte value, the entire ApplyReadModifyWrite operation will fail.
type ReadOption ¶
type ReadOption interface {
// contains filtered or unexported methods
}
A ReadOption is an optional argument to ReadRows.
func LimitRows ¶
func LimitRows(limit int64) ReadOption
LimitRows returns a ReadOption that will end the number of rows to be read.
func ReverseScan ¶
func ReverseScan() ReadOption
ReverseScan returns a RadOption that will reverse the results of a Scan. The rows will be streamed in reverse lexiographic order of the keys. The row key ranges of the RowSet are still expected to be oriented the same way as forwards. ie [a,c] where a <= c. The row content will remain unchanged from the ordering forward scans. This is particularly useful to get the last N records before a key:
table.ReadRows(ctx, NewOpenClosedRange("", "key"), func(row bigtable.Row) bool { return true }, bigtable.ReverseScan(), bigtable.LimitRows(10))
func RowFilter ¶
func RowFilter(f Filter) ReadOption
RowFilter returns a ReadOption that applies f to the contents of read rows.
If multiple RowFilters are provided, only the last is used. To combine filters, use ChainFilters or InterleaveFilters instead.
func WithFullReadStats ¶
func WithFullReadStats(f FullReadStatsFunc) ReadOption
WithFullReadStats returns a ReadOption that will request FullReadStats and invoke the given callback on the resulting FullReadStats.
type RequestLatencyStats ¶
type RequestLatencyStats struct { // The latency measured by the frontend server handling this request, from when the request was // received, to when this value is sent back in the response. For more context on the component // that is measuring this latency, see: https://cloud.google.com/bigtable/docs/overview FrontendServerLatency time.Duration }
RequestLatencyStats provides a measurement of the latency of the request as it interacts with different systems over its lifetime, e.g. how long the request took to execute within a frontend server.
type Row ¶
A Row is returned by ReadRows. The map is keyed by column family (the prefix of the column name before the colon). The values are the returned ReadItems for that column family in the order returned by Read.
func (Row) Key ¶
Key returns the row's key, or "" if the row is empty.
type RowList ¶
type RowList []string
RowList is a sequence of row keys.
type RowRange ¶
type RowRange struct {
// contains filtered or unexported fields
}
A RowRange describes a range of rows between the start and end key. Start and end keys may be rangeOpen, rangeClosed or rangeUnbounded.
func InfiniteRange ¶
InfiniteRange returns the RowRange consisting of all keys at least as large as start: [start, ∞).
func InfiniteReverseRange ¶
InfiniteReverseRange returns the RowRange consisting of all keys less than or equal to the end: (∞, end].
func NewClosedOpenRange ¶
NewClosedOpenRange returns the RowRange consisting of all greater than or equal to the start and less than the end: [start, end).
func NewClosedRange ¶
NewClosedRange returns the RowRange consisting of all keys greater than or equal to the start and less than or equal to the end: [start, end].
func NewOpenClosedRange ¶
NewOpenClosedRange returns the RowRange consisting of all keys greater than the start and less than or equal to the end: (start, end].
func NewOpenRange ¶
NewOpenRange returns the RowRange consisting of all keys greater than the start and less than the end: (start, end).
func NewRange ¶
NewRange returns the new RowRange [begin, end).
func PrefixRange ¶
PrefixRange returns a RowRange consisting of all keys starting with the prefix.
func (RowRange) Contains ¶
Contains says whether the RowRange contains the key.
func (RowRange) String ¶
String provides a printable description of a RowRange.
func (RowRange) Unbounded ¶
Unbounded tests whether a RowRange is unbounded.
type RowRangeList ¶
type RowRangeList []RowRange
RowRangeList is a sequence of RowRanges representing the union of the ranges.
type RowSet ¶
type RowSet interface {
// contains filtered or unexported methods
}
RowSet is a set of rows to be read. It is satisfied by RowList, RowRange and RowRangeList. The serialized size of the RowSet must be no larger than 1MiB.
func SingleRow ¶
SingleRow returns a RowSet for reading a single row.
type SnapshotInfo ¶
type SnapshotInfo struct { Name string SourceTable string DataSize int64 CreateTime time.Time DeleteTime time.Time }
SnapshotInfo contains snapshot metadata.
type SnapshotIterator ¶
type SnapshotIterator struct {
// contains filtered or unexported fields
}
SnapshotIterator is an EntryIterator that iterates over log entries.
This is a private alpha release of Cloud Bigtable snapshots. This feature is not currently available to most Cloud Bigtable customers. This feature might be changed in backward-incompatible ways and is not recommended for production use. It is not subject to any SLA or deprecation policy.
func (*SnapshotIterator) Next ¶
func (it *SnapshotIterator) Next() (*SnapshotInfo, error)
Next returns the next result. Its second return value is iterator.Done (https://godoc.org/google.golang.org/api/iterator) if there are no more results. Once Next returns Done, all subsequent calls will return Done.
func (*SnapshotIterator) PageInfo ¶
func (it *SnapshotIterator) PageInfo() *iterator.PageInfo
PageInfo supports pagination. See https://godoc.org/google.golang.org/api/iterator package for details.
type Status ¶
Status references google.golang.org/grpc/status. It represents an RPC status code, message, and details of EncryptionInfo. https://pkg.go.dev/google.golang.org/grpc/internal/status
type StorageType ¶
type StorageType int
StorageType is the type of storage used for all tables in an instance
const ( SSD StorageType = iota HDD )
type StringEncoding ¶
type StringEncoding interface {
// contains filtered or unexported methods
}
StringEncoding represents the encoding of a String.
type StringType ¶
type StringType struct { Encoding StringEncoding }
StringType represents a string
type StringUtf8BytesEncoding ¶
type StringUtf8BytesEncoding struct{}
StringUtf8BytesEncoding represents an UTF-8 bytes encoding for a string.
type StringUtf8Encoding ¶
type StringUtf8Encoding struct{}
StringUtf8Encoding represents an UTF-8 raw encoding for a string. DEPRECATED: Please use StringUtf8BytesEncoding.
type SubsetViewConf ¶
type SubsetViewConf struct { RowPrefixes [][]byte FamilySubsets map[string]FamilySubset }
SubsetViewConf contains configuration specific to an authorized view of subset view type.
func (*SubsetViewConf) AddFamilySubsetQualifier ¶
func (s *SubsetViewConf) AddFamilySubsetQualifier(familyName string, qualifier []byte)
AddFamilySubsetQualifier adds an individual column qualifier to be included in a subset view.
func (*SubsetViewConf) AddFamilySubsetQualifierPrefix ¶
func (s *SubsetViewConf) AddFamilySubsetQualifierPrefix(familyName string, qualifierPrefix []byte)
AddFamilySubsetQualifierPrefix adds a prefix for column qualifiers to be included in a subset view.
func (*SubsetViewConf) AddRowPrefix ¶
func (s *SubsetViewConf) AddRowPrefix(prefix []byte)
AddRowPrefix adds a new row prefix to the subset view.
type SubsetViewInfo ¶
type SubsetViewInfo struct { RowPrefixes [][]byte FamilySubsets map[string]FamilySubset }
SubsetViewInfo contains read-only SubsetView metadata.
type SumAggregator ¶
type SumAggregator struct{}
SumAggregator is an aggregation function that sums inputs together into its accumulator.
type Table ¶
type Table struct {
// contains filtered or unexported fields
}
A Table refers to a table.
A Table is safe to use concurrently.
func (*Table) Apply ¶
func (t *Table) Apply(ctx context.Context, row string, m *Mutation, opts ...ApplyOption) (err error)
Apply mutates a row atomically. A mutation must contain at least one operation and at most 100000 operations.
func (*Table) ApplyBulk ¶
func (t *Table) ApplyBulk(ctx context.Context, rowKeys []string, muts []*Mutation, opts ...ApplyOption) (errs []error, err error)
ApplyBulk applies multiple Mutations. Each mutation is individually applied atomically, but the set of mutations may be applied in any order.
Two types of failures may occur. If the entire process fails, (nil, err) will be returned. If specific mutations fail to apply, ([]err, nil) will be returned, and the errors will correspond to the relevant rowKeys/muts arguments.
Conditional mutations cannot be applied in bulk and providing one will result in an error.
func (*Table) ApplyReadModifyWrite ¶
func (t *Table) ApplyReadModifyWrite(ctx context.Context, row string, m *ReadModifyWrite) (Row, error)
ApplyReadModifyWrite applies a ReadModifyWrite to a specific row. It returns the newly written cells.
func (*Table) ReadRow ¶
ReadRow is a convenience implementation of a single-row reader. A missing row will return nil for both Row and error.
func (*Table) ReadRows ¶
func (t *Table) ReadRows(ctx context.Context, arg RowSet, f func(Row) bool, opts ...ReadOption) (err error)
ReadRows reads rows from a table. f is called for each row. If f returns false, the stream is shut down and ReadRows returns. f owns its argument, and f is called serially in order by row key. f will be executed in the same Go routine as the caller.
By default, the yielded rows will contain all values in all cells. Use RowFilter to limit the cells returned.
func (*Table) SampleRowKeys ¶
SampleRowKeys 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.
type TableAPI ¶
type TableAPI interface { ReadRows(ctx context.Context, arg RowSet, f func(Row) bool, opts ...ReadOption) error ReadRow(ctx context.Context, row string, opts ...ReadOption) (Row, error) Apply(ctx context.Context, row string, m *Mutation, opts ...ApplyOption) error ApplyBulk(ctx context.Context, rowKeys []string, muts []*Mutation, opts ...ApplyOption) ([]error, error) SampleRowKeys(ctx context.Context) ([]string, error) ApplyReadModifyWrite(ctx context.Context, row string, m *ReadModifyWrite) (Row, error) }
TableAPI interface allows existing data APIs to be applied to either an authorized view or a table.
type TableAutomatedBackupConfig ¶
type TableAutomatedBackupConfig interface {
// contains filtered or unexported methods
}
TableAutomatedBackupConfig generalizes automated backup configurations. Currently, the only supported type of automated backup configuration is TableAutomatedBackupPolicy.
type TableAutomatedBackupPolicy ¶
type TableAutomatedBackupPolicy struct { // How long the automated backups should be retained. The only // supported value at this time is 3 days. RetentionPeriod optional.Duration // How frequently automated backups should occur. The only // supported value at this time is 24 hours. Frequency optional.Duration }
TableAutomatedBackupPolicy defines an automated backup policy for a table. Use nil TableAutomatedBackupPolicy to disable Automated Backups on a table. Use nil for a specific field to ignore that field when updating the policy on a table.
type TableConf ¶
type TableConf struct { TableID string SplitKeys []string // DEPRECATED: Use ColumnFamilies instead. // Families is a map from family name to GCPolicy. // Only one of Families or ColumnFamilies may be set. Families map[string]GCPolicy // ColumnFamilies is a map from family name to family configuration. // Only one of Families or ColumnFamilies may be set. ColumnFamilies map[string]Family // DeletionProtection can be none, protected or unprotected // set to protected to make the table protected against data loss DeletionProtection DeletionProtection ChangeStreamRetention ChangeStreamRetention // Configure an automated backup policy for the table AutomatedBackupConfig TableAutomatedBackupConfig }
TableConf contains all the information necessary to create a table with column families.
type TableInfo ¶
type TableInfo struct { // DEPRECATED - This field is deprecated. Please use FamilyInfos instead. Families []string FamilyInfos []FamilyInfo // DeletionProtection indicates whether the table is protected against data loss // DeletionProtection could be None depending on the table view // for example when using NAME_ONLY, the response does not contain DeletionProtection and the value should be None DeletionProtection DeletionProtection ChangeStreamRetention ChangeStreamRetention AutomatedBackupConfig TableAutomatedBackupConfig }
TableInfo represents information about a table.
type Timestamp ¶
type Timestamp int64
Timestamp is in units of microseconds since 1 January 1970.
const ServerTime Timestamp = -1
ServerTime is a specific Timestamp that may be passed to (*Mutation).Set. It indicates that the server's timestamp should be used.
func Now ¶
func Now() Timestamp
Now returns the Timestamp representation of the current time on the client.
func Time ¶
Time converts a time.Time into a Timestamp.
func (Timestamp) Time ¶
Time converts a Timestamp into a time.Time.
func (Timestamp) TruncateToMilliseconds ¶
TruncateToMilliseconds truncates a Timestamp to millisecond granularity, which is currently the only granularity supported.
type Type ¶
type Type interface {
// contains filtered or unexported methods
}
Type wraps the protobuf representation of a type. See the protobuf definition for more details on types.
func ProtoToType ¶
ProtoToType converts a protobuf *btapb.Type to an instance of the Type interface, for use of the admin API.
func UnmarshalJSON ¶
UnmarshalJSON returns a Type object from json bytes.
type TypeUnspecified ¶
type TypeUnspecified struct{}
TypeUnspecified represents the absence of a type.
type UnionGCPolicy ¶
type UnionGCPolicy struct { // List of children policy in the union Children []GCPolicy }
UnionGCPolicy with list of children
func (UnionGCPolicy) String ¶
func (up UnionGCPolicy) String() string
type UpdateAuthorizedViewConf ¶
type UpdateAuthorizedViewConf struct { AuthorizedViewConf AuthorizedViewConf IgnoreWarnings bool }
UpdateAuthorizedViewConf contains all the information necessary to update or partial update an authorized view.
type UpdateFamilyOption ¶
type UpdateFamilyOption GCPolicyOption
UpdateFamilyOption is the interface to update family settings
type UpdateInstanceResults ¶
type UpdateInstanceResults struct { InstanceUpdated bool CreatedClusters []string DeletedClusters []string UpdatedClusters []string }
UpdateInstanceResults contains information about the changes made after invoking UpdateInstanceAndSyncClusters.
func UpdateInstanceAndSyncClusters ¶
func UpdateInstanceAndSyncClusters(ctx context.Context, iac *InstanceAdminClient, conf *InstanceWithClustersConfig) (*UpdateInstanceResults, error)
UpdateInstanceAndSyncClusters updates an instance and its clusters, and will synchronize the clusters in the instance with the provided clusters, creating and deleting them as necessary. The provided InstanceWithClustersConfig is used as follows:
- InstanceID is required
- DisplayName and InstanceType are updated only if they are not empty
- ClusterID is required for any provided cluster
- Any cluster present in conf.Clusters but not part of the instance will be created using CreateCluster and the given ClusterConfig.
- Any cluster missing from conf.Clusters but present in the instance will be removed from the instance using DeleteCluster.
- Any cluster in conf.Clusters that also exists in the instance will be updated either to contain the provided number of nodes or to use the provided autoscaling config. If both the number of nodes and autoscaling are configured, autoscaling takes precedence. If the number of nodes is zero and autoscaling is not provided in InstanceWithClustersConfig, the cluster is not updated.
This method may return an error after partially succeeding, for example if the instance is updated but a cluster update fails. If an error is returned, InstanceInfo and Clusters may be called to determine the current state. The return UpdateInstanceResults will describe the work done by the method, whether partial or complete.
func (*UpdateInstanceResults) String ¶
func (r *UpdateInstanceResults) String() string
type UpdateTableConf ¶
type UpdateTableConf struct{}
UpdateTableConf is unused
Source Files ¶
admin.go bigtable.go doc.go filter.go gc.go metrics.go metrics_monitoring_exporter.go metrics_util.go reader.go type.go
Directories ¶
Path | Synopsis |
---|---|
admin | |
admin/apiv2 | |
admin/apiv2/adminpb | |
apiv2 | |
apiv2/bigtablepb | |
bttest | Package bttest contains test helpers for working with the bigtable package. |
cmd | |
cmd/emulator | cbtemulator launches the in-memory Cloud Bigtable server on the given address. |
internal |
- Version
- v1.35.0 (latest)
- Published
- Jan 22, 2025
- Platform
- linux/amd64
- Imports
- 53 packages
- Last checked
- 6 days ago –
Tools for package owners.