Qiniu-Apis
概览
这是一个基于 qiniu-apis-specs
自动生成的 Rust 库,基于 qiniu-http-client
,用于调用七牛 HTTP API。
该库同时提供阻塞客户端和异步客户端,异步客户端则需要启用 async
功能。
该库致力于根据 qiniu-apis-specs
提供的 YAML 描述文件,在不理解业务逻辑的前提下,提供简单的封装方法方便用户正确调用 API。
该库可以通过启用不同的功能来选择不同的 HTTP 客户端实现,
例如可以通过启用 ureq
功能导入 qiniu-ureq
库作为 HTTP 客户端,
通过启用 reqwest
功能导入 qiniu-reqwest
库作为 HTTP 客户端,
通过启用 isahc
功能导入 qiniu-isahc
库作为 HTTP 客户端。
您也可以显式传入任何基于 qiniu-http
接口的 HTTP 客户端实现来提供给 qiniu-apis
使用。
安装
不启用异步接口,推荐使用 ureq
[]
= { = "0.2.1", = ["ureq"] }
启用 Isahc 异步接口
[]
= { = "0.2.1", = ["async", "isahc"] }
启用 Reqwest 异步接口
[]
= { = "0.2.1", = ["async", "reqwest"] }
其他功能
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 ;
let credential = new;
let region = new
.get?;
default
.storage
.create_bucket
.new_request
.call?;
设置存储空间标签
use ;
let credential = new;
let bucket_name = "test-bucket";
let region = new.query;
let mut tag1 = default;
tag1.set_key_as_str;
tag1.set_value_as_str;
let mut tag2 = default;
tag2.set_key_as_str;
tag2.set_value_as_str;
let mut tags = default;
tags.push_tag_info;
tags.push_tag_info;
let mut req_body = default;
req_body.set_tags;
default
.storage
.set_bucket_taggings
.new_request
.query_pairs
.call?;
列出存储空间标签
use ;
let credential = new;
let bucket_name = "test-bucket";
let region = new.query;
let tags = default
.storage
.get_bucket_taggings
.new_request
.query_pairs
.call?
.into_body
.get_tags
.to_tag_info_vec;
for tag in tags
异步代码示例
创建存储空间
use ;
let credential = new;
let region = new
.async_get
.await?;
default
.storage
.create_bucket
.new_async_request
.call
.await?;
设置存储空间标签
use ;
let credential = new;
let bucket_name = "test-bucket";
let region = new.query;
let mut tag1 = default;
tag1.set_key_as_str;
tag1.set_value_as_str;
let mut tag2 = default;
tag2.set_key_as_str;
tag2.set_value_as_str;
let mut tags = default;
tags.push_tag_info;
tags.push_tag_info;
let mut req_body = default;
req_body.set_tags;
default
.storage
.set_bucket_taggings
.new_async_request
.query_pairs
.call
.await?;
列出存储空间标签
use ;
let credential = new;
let bucket_name = "test-bucket";
let region = new.query;
let tags = default
.storage
.get_bucket_taggings
.new_async_request
.query_pairs
.call
.await?
.into_body
.get_tags
.to_tag_info_vec;
for tag in tags
最低支持的 Rust 版本(MSRV)
1.70.0
联系我们
- 如果需要帮助,请提交工单(在portal右侧点击咨询和建议提交工单,或者直接向 support@qiniu.com 发送邮件)
- 如果有什么问题,可以到问答社区提问,问答社区
- 更详细的文档,见官方文档站
- 如果发现了bug, 欢迎提交 Issue
- 如果有功能需求,欢迎提交 Issue
- 如果要提交代码,欢迎提交 Pull Request
- 欢迎关注我们的微信 微博,及时获取动态信息。
代码许可
This project is licensed under the MIT license.