A simple, flexible Google Cloud Storage client (GCS).
This library isn't as featureful as, say the cloud-storage crate, but it's also more usable if you:
* are using a secret keeper like Vault
* generally work with a single bucket (using a bucket-scoped client)
* would like to use multiple clients or tokio runtimes in one program
* want canonicalized errors (404 gets one and only one error variant)
* want to mock the GCP interfaces in tests (after enabling the mocks
feature)
```rust use cloudstoragelite::{ self as gcs, BucketClient, token_provider::{self, oauth::{self, OAuthTokenProvider, ServiceAccount}}, }; use futures::TryStreamExt;
async fn main() -> Result<(), Box
client .createobject( "key", futures::stream::once( futures::future::ok::<_, std::convert::Infallible>(b"value".tovec()) ) ) .await?;
let object = client.get_object("key").await?;
let valuebytes = client .downloadobject(&object.name) .await? .mapok(|chunk| chunk.tovec()) .try_concat() .await?;
println!("the value is: {}", String::fromutf8(valuebytes)?); Ok(()) } ```