问题标签 [grpc-node]

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.

0 投票
1 回答
1642 浏览

node.js - 如何从 grpc mongoose nodejs 返回结果列表?

如何使用 grpc nodejs 返回待办事项列表,结果为空:

但是,当我在没有 grpc 的情况下尝试它时,它会返回带有数据的列表,但是当我尝试使用 grpc 获取待办事项列表时,它会返回空结果{ todo: [] } 注意:其他功能,如 Insert Update Delete ReadOne 工作顺利。只有没有得到所有待办事项的列表

最后给出的没有 gRPC 的工作代码

这是我的 gRPC 服务器

这是我的 gRPC 客户端

工作测试代码

超出测试代码

.原始文件

0 投票
2 回答
5093 浏览

node.js - 企业防火墙/代理后面的 Firestore/gRPC

我们公司已经使用 Firestore 构建了一个电子应用程序,现在我们正在尝试将应用程序部署在公司代理和防火墙(客户环境)后面。使用电子设置代理身份验证设置后app.on('login'),应用程序中的所有网络请求都成功,除了 firestore 连接。

我们收到以下错误:

我们还尝试使用以下日志输出调试 Firestore 使用的 gRPC:

如何解决这个连接问题?需要更改公司代理或防火墙中的哪些设置才能使 Firestore / gRPC 能够连接?

0 投票
2 回答
4710 浏览

node.js - 无法使用@grpc/proto-loader 导入谷歌的原型

我有以下原型:

我正在节点中编写一个客户端:

当我运行客户端时,我收到以下错误:TypeError: proto.Service is not a constructor。我发现它与status.proto的导入有关。使用 proto-loader 导入 google protos 的正确方法是什么?服务器使用 Java。

0 投票
1 回答
1950 浏览

node.js - gRPC 节点服务器:如何从不同的 Git 存储库加载 protobuf 文件?

背景:

  • 我们有多个由不同团队维护的微服务
  • 大多数服务都是用Java编写的。但是有一个用 Node.js 写的
  • Node.js 服务接口在.proto文件中定义并存储在与 Node.js 代码相同的存储库中

要求

  • Node.js 服务器现在需要调用另一个 gRPC 服务(定义为服务 A)来获取一些值。为了进行 gRPC 调用,我需要首先加载服务定义。

问题:

  • 鉴于服务接口(.proto文件)是在服务 A 的存储库中定义的,我应该如何将 proto 文件加载到我的 Node.js 应用程序中?#Node.js #npm
  • 管理服务间通信的最佳方式是什么?我的 Node.js 服务器是否应该像客户端调用 gRPC 服务器一样调用其他服务?
0 投票
2 回答
797 浏览

node.js - grpc 的 gitlab-ci 构建失败

两天前,我的 node.js 构建在 gitlab-ci 服务器上停止工作。我真的不明白为什么。更多信息:

  • ci 构建停止工作时package.json文件未更改
  • 即使是几天前还可以的较旧的ci-build,当我重新启动它们时也不再工作了
  • 该构建仍然适用于我的 Windows 开发机器(即使在删除 node_modules 并重新安装之后)

以下是错误日志的摘录:

似乎无法下载 grpc 二进制文件,作为后备系统,系统尝试从源代码构建包,但也失败了。grpc 需要firebase-admin

知道为什么会发生这种情况或解决方法的想法吗?
即版本配置为"firebase-admin": "^6.1.0",我的package.json,所以不应该有任何重大变化,对吧?

0 投票
1 回答
1698 浏览

protocol-buffers - How to dynamically create gRPC proto schema in nodejs?

Loading .proto files can be done by providing file path (PROTO_PATH)

How to do this dynamically in node.js ? I want to construct proto schema (datatypes and functions) at run time.

0 投票
1 回答
192 浏览

node.js - 节点:无法使用 express 在 gRPC 回调中调用 continuation-local-storage 键

我正在尝试将 ID 存储在 continuation-local-storage 中,以便在 gRPC 请求成功后将其输出到日志中。我在应用程序开始时创建命名空间,然后在中间件中设置 ID(在完整的实现中,ID 将在请求中出现)。然后我尝试在 get('/') 中获取 ID。获取 ID 有效,但我无法在 gRPC 请求中获取它:

应用程序.js

index.js

这在日志中输出:

我预计两次都是123。为什么我不能从 gRPC 请求中的命名空间中获取值?

0 投票
2 回答
1989 浏览

grpc - gPRC如何将数组数据从服务器发送到客户端[gPRC + Node.js]

我正在尝试将一个数组数据对象从 server.js 发送到 client.js,但我没有定义。

发送此数据类型的正确方法是什么

我正在尝试将一个简单的数组数据从主机发送到客户端。我什至不想想象发送更复杂的数据,如Object

有人可以给我看一个简单的工作示例,我可以从 server.js 发送这些数据

在客户端上,如果我运行,我想看到这个响应

节点 .\client.js

笔记.proto

服务器.js

客户端.js

输出

0 投票
1 回答
755 浏览

graphql - 覆盖 GraphQL 联合/接口类型的“根”对象值

我有一个委托给内部 gRPC 服务的 Apollo GraphQL 服务。该服务有一个端点,它返回一条包含 a 的消息,oneof我将其映射到UnionGraphQL 中的 a 。

这很简单,但在实施解析器时会涉及相当程度的样板。假设我有以下 protobuf 消息定义:

我对应的 GraphQL 架构如下所示:

在 gRPC 的 javascript 绑定中,一个MyUnionMessage对象将有两个属性:value一个是指示所包含值类型的字符串,另一个是为该类型命名的属性。因此,例如,如果我有一个MyUnionMessage包含 aUnionType2的对象,则该对象将如下所示:

这对于实现来说很好,因为我可以对 in 中的值__resolveType做一个简单的处理,但是我必须为所有具体类型的所有字段编写一个解析器switchvalue

我正在寻找的是能够做到这样的事情:

基本上,我想在通用联合(或接口)类型级别编写一个“解析器”,在对象传递给具体解析器之前对其进行转换。

这样的事情可能吗?

0 投票
0 回答
712 浏览

node.js - gRPC 允许两个客户端相互交谈

我最近开始学习如何做微服务架构,我想使用 gRPC 而不是 REST 作为我的前向 API。我环顾四周,试图找到两个客户端交换信息(基本上是调用对方的 API)的 node.js 示例,但我没有找到太多。我不确定这是我误解还是我遗漏的东西。我有两个服务

现在我有这个基本的原型:

name并希望微服务 A 能够请求age微服务 B。我可以协调客户端到服务器的通信,但我不完全确定如何让两个客户端通过各自的 gRPC API 交换信息。我目前正在使用节点来获取从客户端到服务器的通信。任何帮助或链接都会非常有帮助