Crate qiniu_download_manager

Source
Expand description

§qiniu-download-manager

§七牛下载管理

基于 qiniu-apis 提供针对七牛对象的下载功能 (同时提供阻塞客户端和异步客户端,异步客户端则需要启用 async 功能)。

§功能描述

§async

启用异步接口。

§ureq

导入 qiniu-ureq 作为 HTTP 客户端。

§isahc

导入 qiniu-isahc 作为 HTTP 客户端。

§reqwest

导入 qiniu-reqwest 作为 HTTP 客户端。

§c_ares

启用 c-ares 库作为 DNS 解析器。

§trust_dns

启用 trust-dns 库作为 DNS 解析器。

§dns-over-https

启用 trust-dns 库作为 DNS 解析器,并使用 DOH 协议。

§dns-over-tls

启用 trust-dns 库作为 DNS 解析器,并使用 DOT 协议。

§代码示例

§下载私有空间的对象到指定路径
§阻塞代码示例
use qiniu_download_manager::{apis::credential::Credential, DownloadManager, StaticDomainsUrlsGenerator, UrlsSigner};

let bound_domain = "my-domain.com"; // 直接设置绑定的空间域名
let object_name = "test-object";
let download_manager = DownloadManager::new(UrlsSigner::new(
    Credential::new("abcdefghklmnopq", "1234567890"),
    StaticDomainsUrlsGenerator::builder(bound_domain)
        .use_https(false)
        .build(), // 设置为 HTTP 协议
));
download_manager
    .download(object_name)?
    .to_path("/home/qiniu/test.png")?;
Ok(())
§异步代码示例
use qiniu_download_manager::{
    apis::{credential::Credential, http_client::BucketDomainsQueryer},
    DownloadManager, EndpointsUrlGenerator, UrlsSigner,
};

let bucket_name = "test-bucket"; // 查询空间绑定的域名
let object_name = "test-object";
let credential = Credential::new("abcdefghklmnopq", "1234567890");
let download_manager = DownloadManager::new(UrlsSigner::new(
    credential.to_owned(),
    EndpointsUrlGenerator::builder(BucketDomainsQueryer::new().query(credential, bucket_name))
        .use_https(false)
        .build(), // 设置为 HTTP 协议
));
download_manager
    .async_download(object_name)
    .await?
    .async_to_path("/home/qiniu/test.png")
    .await?;

Re-exports§

pub use qiniu_apis as apis;

Modules§

prelude
将所有 Trait 全部重新导出,方便统一导入

Structs§

AsyncDownloadingObjectReader
下载对象的内容阅读器
DownloadManager
下载管理器
DownloadManagerBuilder
下载管理构建器
DownloadRetrierOptions
下载重试器选项
DownloadingObject
准备下载的对象
DownloadingObjectReader
下载对象的内容阅读器
DownloadingProgressInfo
下载进度信息
EndpointsUrlGenerator
终端地址下载 URL 列表生成器
EndpointsUrlGeneratorBuilder
终端地址下载 URL 列表生成构建器
ErrorRetrier
根据七牛 API 返回的状态码作出重试决定
GeneratorOptions
生成下载 URL 的选项
NeverRetrier
永不重试器
RetriedStatsInfo
重试统计信息
RetryResult
重试器结果
StaticDomainsUrlsGenerator
静态公开空间域名下载 URL 列表生成器
StaticDomainsUrlsGeneratorBuilder
静态公开空间域名下载 URL 列表生成构建器
UrlsSigner
URL 列表签名器

Enums§

DownloadError
下载错误
RetryDecision
重试决定

Traits§

DownloadRetrier
下载重试器
DownloadUrlsGenerator
生成下载 URL 列表的接口

Type Aliases§

DownloadResult
下载结果