Crate unftp_sbe_gcs[−][src]
Expand description
An storage back-end for libunftp that let you store files in Google Cloud Storage.
Usage
Add the needed dependencies to Cargo.toml:
[dependencies]
libunftp = "0.18.0"
unftp-sbe-gcs = "0.2.0"
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; }
This 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; }
Modules
The Metadata for the CloudStorage
Contains code pertaining to initialization options for the Cloud Storage Backend
Structs
A StorageBackend
that uses Cloud storage from Google.
Traits
Extension trait purely for construction convenience.