问题标签 [tonic]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
rust - Rust tonic 问题错误`tonic::request::Request`,它没有实现 `Copy` 特征
我正在使用tonic:2.0
grpc 实现,我创建了 userdetails
带有消息请求用户名和用户电子邮件的服务的原型,如下面的带有 rust 实现的原型文件所示。request: Request<userRequest>
多次使用请求时遇到错误。请帮助我如何解决这个问题
proto 的 Rust tonic 实现
rust - 在 rust 中使用 prost 和 tonic 时如何导入 .proto?
我正在尝试使用 crates prost 和 tonic 在 rust 中构建一个简单的 gRPC 客户端。我的原型定义非常简单,但我突然坚持使用从其他原型导入的消息。
我build.rs
的很简单:
当我将 protos 包含在中时,问题就开始了main.rs
:
编译失败并出现以下错误:
这里可能有什么问题?!我将我的游乐场项目上传到github,以防它可能有用。
rust - 如何跨多个微服务共享 .proto 消息?
我正在尝试创建一堆微服务。大多数 grpc 消息使用此消息
i18n 还实现了额外的方法来为请求上下文选择正确的键。这样
我想创建一个 Crate,它将存储在私有 GitHub 存储库中,带有 proto 和附加功能,以便我可以使用 cargo 在多个微服务之间共享 i18n 消息和逻辑。
我有没有机会使用extern_path来做到这一点?
如果不能,您能否分享您使用 prost 库的经验以及您是如何共享代码的?
rust - 使用 tonic::Status 和 redis::RedisError 对 Redis 和 Tonic 异步应用程序进行正确的错误处理
我正在制作一个使用 Redis 客户端的基于 Tonic 的 gRPC 微服务。我想不出在发生异步错误时将 a 隐式转换RedisError
为 a的示例。tonic::Status
来自 Redis 客户端的连接可能会失败以及设置失败。我正在使用使用 Tokio 的异步接口。我宁愿不要map
错误,因为这似乎破坏了异步。
我在想我需要实现这个特性From<Status>
,From<RedisError
但不知道该怎么做。这是我的尝试,但它不起作用,因为 Tonic 想要一个tonic::Status
结构而不是ApiError
我制作的结构:
rust - 使用 tonic 和 rust 创建 grpc 客户端
我正在尝试编写一个客户端来与使用 Rust 用 tonic 编写的 grpc 服务器进行通信,但是我无法理解在哪里定义和连接到客户端,因此我的 import 语句出现错误。我已经学习了几个教程,但在查找有关如何创建和导入客户端的信息时遇到了麻烦。我的错误是:
在我的proto.rs
文件中:
我的lib.rs
文件:
main.rs
:
client.rs
:
作为参考,我正在关注:
https://tjtelan.com/blog/lets-build-a-single-binary-grpc-server-client-with-rust-in-2020/
https://blog.logrocket.com/rust-and-grpc-a-complete-guide/
https://dev.to/anshulgoyal15/a-beginners-guide-to-grpc-with-rust-3c7o
rust - 不匹配的类型:在 Tonic for Rust grpc 消息中将 sqlx 类型转换为自定义 UUID 类型
我正在为 Rust/Tonic grpc 服务编写 rpc,以通过 sqlx crate 从 postgresdb 中删除用户。我正在尝试通过存储为UUID
. 我对 Uuid 的原型定义是:
我的UserRequest
定义是:
我删除用户的 rpc 是:
这会导致以下错误:
我正在尝试使用此行将 UUID 类型转换为 sqlx 类型: sqlx::types::Uuid(user_id).as_u128()
并且很好奇是否有人可以告诉我我做错了什么?谢谢!
rust - Rust tonic tonic::include_proto 在 tonic 构建中从一个模块到另一个模块的文件路径
我正在使用 Tonic实现 gRPC 客户端和服务器。我有两个模块,每个模块取决于另一个模块原型文件。当我尝试在 tonic 构建中提供 proto 文件的路径时,我遇到了一个问题。下面是我的 tonic 构建的文件夹结构和代码。