首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从锈蚀应用程序连接到Docker容器中的SurrealDB?

如何从锈蚀应用程序连接到Docker容器中的SurrealDB?
EN

Stack Overflow用户
提问于 2022-11-15 18:45:56
回答 3查看 111关注 0票数 2

我正试图弄清楚如何将我的锈菌应用程序连接到一个在码头容器中运行的超现实数据库。

SurrealDB网站上的文档只指定了三种连接数据库的方式,它们是:内存、文件和tikv。

我正在码头上运行超现实数据库,如他们的网站所示:

代码语言:javascript
复制
docker run --rm -p 8000:8000 surrealdb/surrealdb:latest start

我试着做了以下几件事:

代码语言:javascript
复制
let ds = Datastore::new("http://0.0.0.0:8000").await?;

但我得到了以下错误:

代码语言:javascript
复制
value: Ds("Unable to load the specified datastore")'

也许它还没有实施呢?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2022-11-19 22:13:32

--您正在使用错误的库!--机箱surrealdb只能用于启动SurrealDB的数据库实例。但它不是一个客户库。

正式的客户端库机箱名为surrealdb-rs

您可以通过以下方式将其添加到您的项目中:

(板条箱是,不是,而是在crates.io上发布的。你还不能用cargo add下载它。⚠️)

代码语言:javascript
复制
cargo add surrealdb-rs

我还建议在启动数据库时为根用户设置密码。否则,您可能会遇到身份验证问题。

代码语言:javascript
复制
docker run --rm -p 8000:8000 surrealdb/surrealdb:latest start --pass root

现在使用Surreal::connect()连接到正在运行的数据库。

代码语言:javascript
复制
use surrealdb_rs::{Result, Surreal};
use surrealdb_rs::param::Root;
use surrealdb_rs::protocol::Ws;

#[tokio::main]
async fn main() -> Result<()> {
    let client = Surreal::connect::<Ws>("localhost:8000").await?;

    // Signin as a namespace, database, or root user
    client.signin(Root {
        username: "root",
        password: "root",
    }).await?;
}

在官方库在crates.io上可用之前,您可以查看超现实-简单-客户。但我建议你等一下官方图书馆。

票数 1
EN

Stack Overflow用户

发布于 2022-11-15 19:39:00

根据IANA 0.0.0.0可能只用作源地址,因此您的代码不能正确。如果容器在同一主机上运行,则可能需要使用localhost (127.0.0.1)。

更新

直到最近,才可能从Rust连接到远程SurrealDB实例,只运行嵌入式实例。现在有一个锈病客户端库。可以通过WebSockets连接到数据库,如下所示:

代码语言:javascript
复制
use surrealdb_rs::{Surreal, protocol::Ws};

let client = Surreal::connect::<Ws>("localhost:8000").await?;
票数 1
EN

Stack Overflow用户

发布于 2022-11-19 16:15:01

有一个新的铁锈库用于处理与超现实数据库的连接。这是由SurrealDB的相同作者构建和维护的。

https://github.com/surrealdb/surrealdb.rs

引用回购协议的话:

该库允许从服务器端和客户端(通过Wasm)代码对远程数据库进行简单和高级的查询。默认情况下,到SurrealDB的所有连接都是通过WebSockets进行的,并在连接终止时自动重新连接。连接被丢弃时会自动关闭。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74450753

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档