Struct feattle_sync::S3 [−][src]
pub struct S3 { /* fields omitted */ }
Expand description
Persist the data in an AWS S3 bucket.
To use it, make sure to activate the cargo feature "s3"
in your Cargo.toml
.
Example
use feattle_core::{feattles, Feattles};
use feattle_sync::S3;
use rusoto_s3::S3Client;
use rusoto_core::Region;
feattles! {
struct MyToggles {
a: bool,
}
}
// Create a S3 client, read more at the official documentation https://www.rusoto.org
let s3_client = S3Client::new(Region::default());
let persistence = S3::new(s3_client, "my-bucket".to_owned(), "some/s3/prefix/".to_owned());
let my_toggles = MyToggles::new(persistence);
Implementations
Trait Implementations
fn save_current<'life0, 'life1, 'async_trait>(
&'life0 self,
value: &'life1 CurrentValues
) -> Pin<Box<dyn Future<Output = Result<(), S3Error>> + Send + 'async_trait>> where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
fn save_current<'life0, 'life1, 'async_trait>(
&'life0 self,
value: &'life1 CurrentValues
) -> Pin<Box<dyn Future<Output = Result<(), S3Error>> + Send + 'async_trait>> where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
Save current state of all feattles.
fn load_current<'life0, 'async_trait>(
&'life0 self
) -> Pin<Box<dyn Future<Output = Result<Option<CurrentValues>, S3Error>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
fn load_current<'life0, 'async_trait>(
&'life0 self
) -> Pin<Box<dyn Future<Output = Result<Option<CurrentValues>, S3Error>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
Load the current state of all feattles. With no previous state existed, Ok(None)
should be
returned. Read more
Save the full history of a single feattle.
Load the full history of a single feattle. With the feattle has no history, Ok(None)
should be returned. Read more
Auto Trait Implementations
Blanket Implementations
Mutably borrows from an owned value. Read more
Instruments this type with the provided Span
, returning an
Instrumented
wrapper. Read more