快速上手
本节将展示连接 server,执行脚本,上传数据等基本操作。
准备
首先创建 Rust 程序,例如:
cargo new my_app
在 Cargo.toml 的 dependencies 中加入Dolphindb Rust API,以 3.2.1 版本为例:
[dependencies]
dolphindb = "3.2.1"
tokio = "1.41"
快速开始
Rust API 运行时需要与 DolphinDB server 交互,本章中的例子假设您的 server 运行在本地 127.0.0.1 且使用默认端口 8848 ,用户名与密码均为 server 的初始值。
在
src/main.rs
中编写以下代码:use std::collections::HashMap;
use dolphindb::client::ClientBuilder;
#[tokio::main]
async fn main() {
// 由于客户端支持多种配置,我们提供了 ClientBuilder 工具类辅助创建客户端对象
// 首先您需要提供 server 的 ip 地址与端口号
let mut builder = ClientBuilder::new("127.0.0.1:8848");
// 此处我们使用默认的用户名与密码
builder.with_auth(("admin", "123456"));
// 配置完成后执行 connect 方法
// 连接成功时返回用于交互的 client 对象
let mut client = builder.connect().await.unwrap();
// client 的基础功能之一是执行 DolphinDB 脚本
// 此处在服务端创建了一个 pair 对象
let res = client.run_script("a = pair(`a, `b)").await.unwrap();
// 如果 DolphinDB 脚本没有返回值,返回的 res 是 None
if let Some(ref c) = res {
println!("{}", c);
}
// 如果 DolphinDB 脚本有返回值,返回的 res 是 ConstantImpl 对象
let res = client.run_script("a").await.unwrap();
if let Some(ref c) = res {
println!("{}", c);
}
// client 还可以将 Rust 中的数据上传到 server 并生成一个变量
let mut variables = HashMap::new();
// 此处 HashMap 的 key 是变量名,value 是封装成 ConstantImpl 的变量
variables.insert("a".to_string(), res.unwrap().clone());
// 通过 upload 接口进行上传
client.upload(&variables).await.unwrap();
}
运行 cargo run
,结果如下:

如果您的执行结果与此相同,说明 Rust API 在您的环境运行正常。
在这个例子中,我们连接并登录 server 后得到了一个 client 对象。后续可通过该对象进行脚本执行与变量上传操作。