Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用ruby event\u store\u客户端发布事件?_Ruby_Grpc_Eventstoredb - Fatal编程技术网

如何使用ruby event\u store\u客户端发布事件?

如何使用ruby event\u store\u客户端发布事件?,ruby,grpc,eventstoredb,Ruby,Grpc,Eventstoredb,我正在遵循上的文档,以便使用设置发布/订阅系统,但无法发布事件 以下是我迄今为止采取的步骤: 我最初尝试在不安全模式下将服务器设置为Docker容器:服务器启动,我可以访问管理UI(无需身份验证),但随后客户端尝试连接SSL而失败,我还没有找到在客户端禁用安全性的方法 然后,我尝试使用gem中提供的脚本启动服务器,但docker sync出现问题,服务器无法启动 最后,我复制了脚本中的步骤,创建了自签名证书,并且我可以使用首选的gRPC协议引导服务器和客户机进行安全连接 我能够按照教程的步骤

我正在遵循上的文档,以便使用设置发布/订阅系统,但无法发布事件

以下是我迄今为止采取的步骤:

  • 我最初尝试在不安全模式下将服务器设置为Docker容器:服务器启动,我可以访问管理UI(无需身份验证),但随后客户端尝试连接SSL而失败,我还没有找到在客户端禁用安全性的方法
  • 然后,我尝试使用gem中提供的脚本启动服务器,但docker sync出现问题,服务器无法启动
  • 最后,我复制了脚本中的步骤,创建了自签名证书,并且我可以使用首选的gRPC协议引导服务器和客户机进行安全连接
我能够按照教程的步骤一直到

event\u store.publish(流:'newstream',事件:[event])
然后我得到以下错误:

ArgumentError: wrong number of arguments (given 1, expected 0)
from /usr/local/bundle/gems/event_store_client-1.0.8/lib/event_store_client/event.rb:17:in `initialize'
我试图在堆栈跟踪之后查找源代码,但找不到该调用的错误。
事件
对象似乎已正确初始化,而且我非常确定连接也已正确建立(我收到另一个不同凭据的错误)


非常感谢您的任何建议。:-)

从版本1.0.8开始,
事件存储\客户端
似乎与Ruby 3.0.0不兼容。该问题可能是由于依赖于
dry struct
1.4.0,或者是由于初始化
EventStoreClient::Event
时传递属性的方式造成的

现在,我将坚持使用Ruby 2.7.3,使用它的示例可以按照文档中的说明工作,并在最终升级到Ruby 3后更新此问答