174 个稳定版本 (24 个主要版本)

68.0.0 2024年8月21日
67.1.0 2024年7月11日
66.0.0 2024年6月27日
65.4.0 2024年6月27日
43.2.0 2021年4月28日

#1545网页编程

Download history 160/week @ 2024-04-24 163/week @ 2024-05-01 459/week @ 2024-05-15 191/week @ 2024-05-22 2/week @ 2024-05-29 202/week @ 2024-06-19 281/week @ 2024-06-26 151/week @ 2024-07-03 206/week @ 2024-07-10 6/week @ 2024-07-17 217/week @ 2024-07-24

每月224次下载

MPL-2.0 许可证

380KB
6K SLoC

Taskcluster 下载支持

此库是 Taskcluster 客户端的配套库,支持下载对象。

用法

有关详细信息,请参阅 docs.rs

兼容性

此库与 Taskcluster 本身保持版本一致。也就是说,版本为 x.y.z 的客户端包含与 Taskcluster 版本 x.y.z 对应的 API 方法。Taskcluster 仔细维护 API 兼容性,并在主要版本内保证其兼容性。这意味着任何版本为 x.* 的客户端都可以针对任何版本为 x.* 的 Taskcluster 服务进行操作,并且很可能适用于许多其他主要版本的 Taskcluster 服务。任何不兼容性都会在 变更日志 中说明。


lib.rs:

支持从对象服务下载数据。

此 crate 提供一组函数,用于从对象服务下载数据。这些函数与对象服务协商下载方法,然后执行下载,遵循所有 Taskcluster 推荐的最佳实践。

每个函数都接受下载所需的必要元数据、数据目标句柄以及一个 taskcluster::Object 客户端。目标可以采取各种形式,具体说明如下。客户端必须配置必要的凭证以访问对象服务。

便利函数

此 crate 的大多数用法可以利用以下便利函数之一

  • [download_to_buf] -- 将数据下载到固定大小的缓冲区;
  • [download_to_vec] -- 将数据下载到动态分配的缓冲区;或
  • [下载到文件] -- 将数据下载到 tokio::fs::File

工件

此包还支持下载工件,包括所有定义的存储类型。这结合了对队列服务的查询以请求工件元数据以及相应的数据下载过程。在错误工件的情况下,返回一个 Result::Err

  • [下载工件到缓冲区] -- 将工件数据下载到固定大小的缓冲区;
  • [下载工件到向量] -- 将工件数据下载到动态分配的缓冲区;或
  • [下载工件到文件] -- 将工件数据下载到 tokio::fs::File

工厂

下载可能会重试,在这种情况下,下载函数必须有一种方法来截断数据目标并从头开始写入。这是通过 AsyncWriterFactory trait 实现的,它定义了一个 get_writer 方法来为每次尝试生成一个新的 tokio::io::AsyncWrite。对于提供的便捷函数不足的用户,可以添加他们自己的此 trait 实现。

依赖项

~13–30MB
~547K SLoC