Crates.io | unftp-sbe-gcs |
lib.rs | unftp-sbe-gcs |
version | 0.2.6 |
source | src |
created_at | 2021-03-26 21:55:52.004852 |
updated_at | 2024-05-16 22:01:40.392667 |
description | A storage back-end for libunftp, storing files in Google Cloud Storage (GCS) |
homepage | https://github.com/bolcom/libunftp/tree/master/crates/unftp-sbe-gcs |
repository | https://github.com/bolcom/libunftp/tree/master/crates/unftp-sbe-gcs |
max_upload_size | |
id | 373965 |
size | 130,208 |
An storage back-end for libunftp that let you store files in Google Cloud Storage. Please refer to the documentation and the examples directory for usage instructions.
Add the needed dependencies to Cargo.toml:
[dependencies]
libunftp = "0.20.0"
unftp-sbe-gcs = "0.2.6"
tokio = { version = "1", features = ["full"] }
And add to src/main.rs:
use libunftp::Server;
use unftp_sbe_gcs::{ServerExt, options::AuthMethod};
use std::path::PathBuf;
#[tokio::main]
pub async fn main() {
let server = Server::with_gcs("my-bucket", PathBuf::from("/unftp"), AuthMethod::WorkloadIdentity(None))
.greeting("Welcome to my FTP server")
.passive_ports(50000..65535);
server.listen("127.0.0.1:2121").await;
}
The above example uses the ServerExt
extension trait. You can also call one of the other constructors of Server
e.g.
use libunftp::Server;
use unftp_sbe_gcs::{CloudStorage, options::AuthMethod};
use std::path::PathBuf;
#[tokio::main]
pub async fn main() {
let server = libunftp::Server::new(
Box::new(move || CloudStorage::with_bucket_root("my-bucket", PathBuf::from("/ftp-root"), AuthMethod::WorkloadIdentity(None)))
)
.greeting("Welcome to my FTP server")
.passive_ports(50000..65535);
server.listen("127.0.0.1:2121").await;
}
For more usage information see the examples
directory and
the libunftp API documentation.
Support is given on a best effort basis. You are welcome to engage us on Github the discussions page or create a Github issue.
You can also follow news and talk to us on Telegram
You're free to use, modify and distribute this software under the terms of the Apache License v2.0.