pub struct BigTableConfig {
pub endpoint: Option<String>,
pub project_id: String,
pub instance_name: String,
pub table_name: String,
pub connections: Option<usize>,
pub rpc_timeout: Duration,
pub cogs: Option<CostTrackerStreamConfig>,
}Expand description
Configuration for BigTableBackend.
Stores objects in Google Cloud Bigtable, a NoSQL wide-column database optimized for high-throughput, low-latency workloads with small objects. Authentication uses Application Default Credentials (ADC).
Note: The table must be pre-created with the following column families:
fg: timestamp-based garbage collection (maxage=1s)fm: manual garbage collection (no GC policy)
§Example
storage:
type: bigtable
project_id: my-project
instance_name: objectstore
table_name: objectstoreFields§
§endpoint: Option<String>Optional custom Bigtable endpoint.
Useful for testing with emulators. If None, uses the default Bigtable endpoint.
§Default
None (uses default Bigtable endpoint)
§Environment Variables
OS__STORAGE__TYPE=bigtableOS__STORAGE__ENDPOINT=localhost:8086(optional)
project_id: StringGCP project ID.
The Google project ID (not project number) containing the Bigtable instance.
§Environment Variables
OS__STORAGE__PROJECT_ID=my-project
instance_name: String§table_name: StringBigtable table name.
The table must exist before starting the server.
§Environment Variables
OS__STORAGE__TABLE_NAME=objectstore
connections: Option<usize>Optional number of connections to maintain to Bigtable.
§Default
None (defaults to 1)
§Environment Variables
OS__STORAGE__CONNECTIONS=16(optional)
rpc_timeout: DurationTimeout for an individual Bigtable RPC attempt.
§Default
2s
§Environment Variables
OS__STORAGE__RPC_TIMEOUT=2sOS__STORAGE__HIGH_VOLUME__RPC_TIMEOUT=2s(tiered storage)
cogs: Option<CostTrackerStreamConfig>Reports what this backend stores, for per-usecase cost attribution.
§Default
None, which disables reporting for this backend.
§Environment Variables
OS__STORAGE__COGS__SHARED_RESOURCE_ID=bigtable_objectstoreOS__STORAGE__COGS__SAMPLE_RATE=1.0(optional)
Trait Implementations§
Source§impl Clone for BigTableConfig
impl Clone for BigTableConfig
Source§fn clone(&self) -> BigTableConfig
fn clone(&self) -> BigTableConfig
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for BigTableConfig
impl Debug for BigTableConfig
Source§impl<'de> Deserialize<'de> for BigTableConfig
impl<'de> Deserialize<'de> for BigTableConfig
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Auto Trait Implementations§
impl Freeze for BigTableConfig
impl RefUnwindSafe for BigTableConfig
impl Send for BigTableConfig
impl Sync for BigTableConfig
impl Unpin for BigTableConfig
impl UnsafeUnpin for BigTableConfig
impl UnwindSafe for BigTableConfig
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Request§impl<L> LayerExt<L> for L
impl<L> LayerExt<L> for L
§fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
Layered].