当前,社区为 TOS 提供了 Rust SDK 的支持,并发布到了 crates.io 仓库。您可以使用 Rust SDK 访问 TOS ,实现资源的上传和下载。本文介绍使用 Rust SDK 访问 TOS 的操作步骤。
已搭建 Rust 开发环境,详细介绍,请参见 Install Rust。
在本地配置长期访问凭证。
说明
关于获取 Access Key ID 和 Secret Access Key 的具体步骤,请参见 Access Key 管理。
在 macOS 系统配置长期访问凭证的操作如下:
打开终端并执行以下命令打开文件。
nano ~/.bash_profile
在文件末尾添加 AKSK 信息。
export TOS_ACCESS_KEY=AKTPYmI1Z**** export TOS_SECRET_KEY=T1dJM01UU****
保存文件并退出。
执行以下命令生效配置信息。
source ~/.bash_profile
执行以下命令验证配置信息。
echo $TOS_ACCESS_KEY echo $TOS_SECRET_KEY
如果配置成功,则返回如下示例:
AKTPYmI1Z**** T1dJM01UU****
在 Linux 系统配置长期访问凭证的操作如下:
打开终端并执行以下命令打开文件。
sudo vim /etc/profile
在文件末尾添加 AKSK 信息。
export TOS_ACCESS_KEY=AKTPYmI1Z**** export TOS_SECRET_KEY=T1dJM01UU****
保存文件并退出。
执行以下命令生效配置信息。
source /etc/profile
执行以下命令验证配置信息。
echo $TOS_ACCESS_KEY echo $TOS_SECRET_KEY
如果配置成功,则返回如下示例:
AKTPYmI1Z**** T1dJM01UU****
在 Windows 系统配置长期访问凭证的操作如下:
打开命令行工具,执行以下命令,添加 AKSK 信息。
set TOS_ACCESS_KEY=AKTPYmI1Z**** set TOS_SECRET_KEY=T1dJM01UU****
执行以下命令生效配置信息。
setx TOS_ACCESS_KEY "%TOS_ACCESS_KEY%" setx TOS_SECRET_KEY "%TOS_SECRET_KEY%"
重启命令行工具,然后执行以下命令验证配置信息。
echo %TOS_ACCESS_KEY% echo %TOS_SECRET_KEY%
如果配置成功,则返回如下示例:
AKTPYmI1Z**** T1dJM01UU****
执行以下命令,安装 TOS Rust SDK。
说明
关于 TOS Rust SDK 的详细介绍,请参见 ve-tos-rust-sdk。
cargo add ve-tos-rust-sdk
使用 Rust SDK 访问 TOS。
根据实际情况修改以下代码中的 region
、endpoint
,然后运行以下代码。
说明
设置 endpoint
参数时,访问域名前需要添加 http://
,例如 http://tos-cn-beijing.volces.com
。关于 Endpoint 的详细介绍,请参见地域和访问域名(Endpoint)。
use std::env; use ve_tos_rust_sdk::bucket::{BucketAPI, ListBucketsInput}; use ve_tos_rust_sdk::tos; fn main() { let ak = env::var("TOS_ACCESS_KEY").unwrap_or("".to_string()); let sk = env::var("TOS_SECRET_KEY").unwrap_or("".to_string()); let endpoint = "https://tos-cn-beijing.volces.com"; let region = "cn-beijing"; let client = tos::builder() .connection_timeout(3000) .request_timeout(10000) .max_retry_count(3) .ak(ak) .sk(sk) .region(region) .endpoint(endpoint) .build().unwrap(); let o = client.list_buckets(&ListBucketsInput::new()).unwrap(); for bucket in o.buckets() { println!("{}", bucket.name()); } }
如果返回存储桶的名称,说明使用 Rust SDK 访问 TOS 成功。
您还可以参考接口文档自行编译代码,使用 Rust SDK 实现创建存储桶、删除对象等操作,关于 Rust SDK 的更多接口文档,请参见 Crate ve_tos_rust_sdk。