# tencentcloud-sdk-rust **Repository Path**: J_Tang/tencentcloud-sdk-rust ## Basic Information - **Project Name**: tencentcloud-sdk-rust - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-03-16 - **Last Updated**: 2026-03-16 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # tencentcloud-sdk-rust 腾讯云 Rust SDK workspace,当前包含通用 core 能力和 SMS 服务实现。 ## Workspace 结构 - `crates/tencentcloud-sdk-core`:通用能力,包括 TC3 签名、HTTP transport 抽象、Tencent Cloud 响应 envelope 解析、Region 和通用序列化工具。 - `crates/tencentcloud-sdk-sms`:基于 core 封装的腾讯云短信服务客户端、模型、在线测试和 examples。 ## 开发命令 - `cargo fmt --all`:格式化整个 workspace。 - `cargo test --workspace`:运行整个 workspace 测试。 - `cargo test -p tencentcloud-sdk-core-rs --quiet`:只验证 core。 - `cargo test -p tencentcloud-sdk-sms-rs --quiet`:只验证 sms。 - `cargo check -p tencentcloud-sdk-sms-rs --examples`:检查 examples 是否可编译。 ## 运行示例 - `cargo run -p tencentcloud-sdk-sms-rs --example describe_sms_template_list` - `cargo run -p tencentcloud-sdk-sms-rs --example send_sms` ## 最小使用示例 ```rust use tencentcloud_sdk_sms::{ sms_config_from_env, SendSmsRequest, TencentCloudSmsClient, }; #[tokio::main] async fn main() -> Result<(), Box> { let client = TencentCloudSmsClient::new(sms_config_from_env()?)?; let phone = std::env::var("TENCENT_SMS_TEST_PHONE")?; let template_id = std::env::var("TENCENT_SMS_TEMPLATE_ID")?; let mut request = SendSmsRequest::new( vec![phone], client.config().sms_sdk_app_id.clone(), template_id, ); request.sign_name = client.config().sign_name.clone(); request.template_param_set = Some(vec!["123456".to_string(), "5".to_string()]); println!("request: {:#?}", request); let response = client.send_sms(request).await?; println!("response: {:#?}", response); Ok(()) } ``` 如果你只想查询模板列表,也可以直接复用 `sms_config_from_env()` 创建 client 后调用 `describe_sms_template_list(...)`。 SMS 示例和在线测试依赖这些环境变量: - `TENCENT_SMS_SECRET_ID` - `TENCENT_SMS_SECRET_KEY` - `TENCENT_SMS_REGION`,可选;未提供时默认使用 core 的 `Region::AP_BEIJING` - `TENCENT_SMS_SDK_APP_ID` - `TENCENT_SMS_SIGN_NAME` - `TENCENT_SMS_TEMPLATE_ID` - `TENCENT_SMS_TEST_PHONE` ## 当前状态 - core 已具备可复用的 TC3 签名、ServiceClient、Transport、Envelope 和 Region。 - sms 已切到基于 core 的通用调用链,examples、在线测试和 mock 测试均已接入。 Helper 入口: - `sms_config_from_env()`:从环境变量读取配置并构建 `TencentCloudSmsConfig`