4 releases
0.1.3 | Dec 25, 2023 |
---|---|
0.1.2 | Dec 24, 2023 |
0.1.1 | Dec 18, 2023 |
0.1.0 | Dec 18, 2023 |
#438 in Filesystem
24 downloads per month
70KB
2K
SLoC
Flysystem
A filesystem abstraction layer for Rust.
About Flysystem
Flysystem is a file storage library for Rust. It provides one interface to interact with many types of filesystems. When you use Flysystem, you're not only protected from vendor lock-in, you'll also have a consistent experience for which ever storage is right for you.
It's inspired by the PHP library of the same name.
Getting Started
use flysystem::{Filesystem, adapters::{S3Adapter, s3::Config}};
// instantly swap between storage backends (like S3/Local/FTP)
// by changing the type here 👇👇👇
let mut filesystem = Filesystem::<S3Adapter>::new(Config {
region: env::var("S3_REGION").ok(),
bucket: env::var("S3_BUCKET").unwrap(),
endpoint: env::var("S3_ENDPOINT").unwrap(),
access_key: env::var("S3_ACCESS_KEY").unwrap(),
secret_key: env::var("S3_SECRET_KEY").unwrap(),
}).await?;
filesystem.write(Path::new("my-first-file.txt"), "Hello, world!").await?;
Refer to the documentation on docs.rs for detailed usage instructions.
License
This project is licensed under the MIT License - see the LICENSE file for details.
Dependencies
~1.7–8MB
~134K SLoC