#google-cloud #gc #ftp #libunftp #unftp #ftp-server

unftp-sbe-gcs

libunftp 的存储后端,用于将文件存储在 Google Cloud Storage (GCS)

9 个版本

0.2.6 2024 年 5 月 16 日
0.2.5 2023 年 12 月 24 日
0.2.4 2023 年 9 月 16 日
0.2.3 2023 年 6 月 15 日
0.1.0 2021 年 3 月 26 日

#2 in #libunftp


用于 unftp

Apache-2.0

430KB
8K SLoC

unftp-sbe-gcs

Crate Version API Docs Crate License Follow on Telegram

一个存储后端,用于 libunftp,允许您将文件存储在 Google Cloud Storage。请参阅文档和示例目录以获取使用说明。

使用方法

在 Cargo.toml 中添加所需依赖项

[dependencies]
libunftp = "0.20.0"
unftp-sbe-gcs = "0.2.6"
tokio = { version = "1", features = ["full"] }

并添加到 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;
}

上述示例使用了 ServerExt 扩展 trait。您也可以调用 Server 的其他构造函数,例如。

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;
}

有关更多使用信息,请参阅 examples 目录和 libunftp API 文档

获取帮助和保持信息

我们将尽力提供支持。您可以在 GitHub 讨论页 上联系我们或创建一个 GitHub 问题。

您还可以在 Telegram 上关注新闻并与我们交谈

许可

您可以在 Apache License v2.0 的条款下使用、修改和分发此软件。

依赖项

~25–37MB
~700K SLoC